devflow-kit 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -0
- package/dist/commands/init.js.map +1 -1
- package/package.json +1 -1
- package/src/claude/agents/devflow/get-issue.md +286 -0
- package/src/claude/agents/devflow/pr-comments.md +1 -1
- package/src/claude/agents/devflow/project-state.md +1 -1
- package/src/claude/agents/devflow/pull-request.md +76 -6
- package/src/claude/agents/devflow/tech-debt.md +1 -1
- package/src/claude/commands/devflow/get-issue.md +16 -0
- package/src/claude/commands/devflow/pull-request.md +11 -260
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,23 @@ All notable changes to DevFlow will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.9.0] - 2025-12-04
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **`/get-issue` command** - Fetch GitHub issue details and create working branch
|
|
12
|
+
- Fetch issue by number (`/get-issue 42`) or search term (`/get-issue fix login`)
|
|
13
|
+
- Display comprehensive issue details (title, body, labels, assignees, comments)
|
|
14
|
+
- Auto-generate branch names: `{type}/{number}-{slug}`
|
|
15
|
+
- Branch type derived from labels (feature, fix, docs, refactor, chore)
|
|
16
|
+
- Pre-flight checks for gh authentication and repository validation
|
|
17
|
+
- **`get-issue` sub-agent** - Specialized agent for GitHub issue workflow
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- Optimized sub-agent model selection - 5 sub-agents switched to haiku model (get-issue, pull-request, project-state, tech-debt, pr-comments)
|
|
21
|
+
- Minimized command files - `/get-issue` (16 lines) and `/pull-request` (20 lines) delegate to sub-agents
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
8
25
|
## [0.8.1] - 2025-12-02
|
|
9
26
|
|
|
10
27
|
### Added
|
|
@@ -566,6 +583,7 @@ devflow init
|
|
|
566
583
|
|
|
567
584
|
---
|
|
568
585
|
|
|
586
|
+
[0.9.0]: https://github.com/dean0x/devflow/releases/tag/v0.9.0
|
|
569
587
|
[0.8.1]: https://github.com/dean0x/devflow/releases/tag/v0.8.1
|
|
570
588
|
[0.8.0]: https://github.com/dean0x/devflow/releases/tag/v0.8.0
|
|
571
589
|
[0.7.0]: https://github.com/dean0x/devflow/releases/tag/v0.7.0
|
package/README.md
CHANGED
|
@@ -73,6 +73,7 @@ This gives you the best of both worlds: automatic assistance when needed, manual
|
|
|
73
73
|
| `/design` | Create detailed implementation plan with integration points | After brainstorming, ready for detailed design |
|
|
74
74
|
| `/plan` | Triage issues - implement now, defer to GitHub issue, or skip | After code-review or discussion, deciding what to tackle |
|
|
75
75
|
| `/breakdown` | Quickly break down discussion into actionable tasks | After planning discussion, quick task capture |
|
|
76
|
+
| `/get-issue` | Fetch GitHub issue details and create working branch | Starting work on a GitHub issue |
|
|
76
77
|
| `/implement` | Streamlined todo implementation, only stopping for design decisions | After planning, ready to implement todos |
|
|
77
78
|
| `/debug` | Systematic debugging workflow with hypothesis testing | When errors occur, tests fail, or investigating issues |
|
|
78
79
|
| `/code-review` | Comprehensive code review using specialized sub-agents | Before committing or creating PR |
|
|
@@ -99,6 +100,7 @@ This gives you the best of both worlds: automatic assistance when needed, manual
|
|
|
99
100
|
| `design` | Implementation Planning | Detailed implementation design with integration points and edge cases |
|
|
100
101
|
| `catch-up` | Context Restoration | Project status and context restoration with validation |
|
|
101
102
|
| `commit` | Git Operations | Intelligent commit creation with safety checks |
|
|
103
|
+
| `get-issue` | GitHub Issues | Fetch issue details and create working branches |
|
|
102
104
|
| `pull-request` | PR Creation | Analyze commits/changes and generate comprehensive PR descriptions |
|
|
103
105
|
| `release` | Release Automation | Project-agnostic release workflow with version management |
|
|
104
106
|
| `debug` | Debugging | Systematic debugging with hypothesis testing and issue tracking |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0KpC,eAAO,MAAM,WAAW,SAyiBpB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -38,6 +38,7 @@ const DEVFLOW_COMMANDS = [
|
|
|
38
38
|
{ name: '/design', description: 'Create implementation plan' },
|
|
39
39
|
{ name: '/plan', description: 'Triage issues from discussion' },
|
|
40
40
|
{ name: '/breakdown', description: 'Break down tasks quickly' },
|
|
41
|
+
{ name: '/get-issue', description: 'Fetch issue and create branch' },
|
|
41
42
|
{ name: '/implement', description: 'Interactive implementation' },
|
|
42
43
|
{ name: '/code-review', description: 'Comprehensive code review' },
|
|
43
44
|
{ name: '/commit', description: 'Smart atomic commits' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: get-issue
|
|
3
|
+
description: Fetch GitHub issue details and create a working branch for implementation
|
|
4
|
+
tools: Bash, Read, Grep, Glob
|
|
5
|
+
model: haiku
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a GitHub issue specialist focused on fetching issue details and preparing the development environment for implementation. Your task is to retrieve comprehensive issue information and create an appropriately named branch.
|
|
9
|
+
|
|
10
|
+
**CRITICAL PHILOSOPHY**: Developers should start working on issues with full context. Fetch all relevant details, understand the scope, and create a clean branch name that reflects the work.
|
|
11
|
+
|
|
12
|
+
## Your Task
|
|
13
|
+
|
|
14
|
+
Fetch GitHub issue details and create a working branch. You will receive:
|
|
15
|
+
- `ISSUE_INPUT`: Either an issue number (e.g., "123") or a search term/description (e.g., "fix login bug")
|
|
16
|
+
|
|
17
|
+
### Step 1: Determine Input Type and Fetch Issue
|
|
18
|
+
|
|
19
|
+
Determine if input is a number or search term, then fetch the issue:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
ISSUE_INPUT="$ISSUE_INPUT"
|
|
23
|
+
|
|
24
|
+
# Check if input is a number
|
|
25
|
+
if [[ "$ISSUE_INPUT" =~ ^[0-9]+$ ]]; then
|
|
26
|
+
echo "=== FETCHING ISSUE #$ISSUE_INPUT ==="
|
|
27
|
+
ISSUE_NUMBER="$ISSUE_INPUT"
|
|
28
|
+
else
|
|
29
|
+
echo "=== SEARCHING FOR ISSUE: $ISSUE_INPUT ==="
|
|
30
|
+
|
|
31
|
+
# Search for matching issues
|
|
32
|
+
echo "Search results:"
|
|
33
|
+
gh issue list --search "$ISSUE_INPUT" --limit 5 --json number,title,state --jq '.[] | "#\(.number) [\(.state)] \(.title)"'
|
|
34
|
+
echo ""
|
|
35
|
+
|
|
36
|
+
# Get the first matching open issue
|
|
37
|
+
ISSUE_NUMBER=$(gh issue list --search "$ISSUE_INPUT" --state open --limit 1 --json number --jq '.[0].number // empty')
|
|
38
|
+
|
|
39
|
+
if [ -z "$ISSUE_NUMBER" ]; then
|
|
40
|
+
# Try closed issues if no open ones found
|
|
41
|
+
ISSUE_NUMBER=$(gh issue list --search "$ISSUE_INPUT" --state closed --limit 1 --json number --jq '.[0].number // empty')
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
if [ -z "$ISSUE_NUMBER" ]; then
|
|
45
|
+
echo "ERROR: No issues found matching '$ISSUE_INPUT'"
|
|
46
|
+
echo ""
|
|
47
|
+
echo "Try:"
|
|
48
|
+
echo " - Using the exact issue number: /get-issue 123"
|
|
49
|
+
echo " - Different search terms"
|
|
50
|
+
echo " - Check if you're in the correct repository"
|
|
51
|
+
exit 1
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
echo "Selected issue: #$ISSUE_NUMBER"
|
|
55
|
+
fi
|
|
56
|
+
echo ""
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Step 2: Fetch Complete Issue Details
|
|
60
|
+
|
|
61
|
+
Get all relevant information about the issue:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
echo "=== ISSUE DETAILS ==="
|
|
65
|
+
|
|
66
|
+
# Get comprehensive issue data
|
|
67
|
+
gh issue view "$ISSUE_NUMBER" --json number,title,body,state,labels,assignees,milestone,author,createdAt,comments --jq '
|
|
68
|
+
"Number: #\(.number)
|
|
69
|
+
Title: \(.title)
|
|
70
|
+
State: \(.state)
|
|
71
|
+
Author: \(.author.login)
|
|
72
|
+
Created: \(.createdAt)
|
|
73
|
+
Labels: \(if .labels | length > 0 then [.labels[].name] | join(", ") else "none" end)
|
|
74
|
+
Assignees: \(if .assignees | length > 0 then [.assignees[].login] | join(", ") else "unassigned" end)
|
|
75
|
+
Milestone: \(.milestone.title // "none")
|
|
76
|
+
Comments: \(.comments | length)
|
|
77
|
+
|
|
78
|
+
--- DESCRIPTION ---
|
|
79
|
+
\(.body // "No description provided")
|
|
80
|
+
"'
|
|
81
|
+
|
|
82
|
+
echo ""
|
|
83
|
+
|
|
84
|
+
# Show recent comments if any exist
|
|
85
|
+
COMMENT_COUNT=$(gh issue view "$ISSUE_NUMBER" --json comments --jq '.comments | length')
|
|
86
|
+
if [ "$COMMENT_COUNT" -gt 0 ]; then
|
|
87
|
+
echo "=== RECENT COMMENTS (last 3) ==="
|
|
88
|
+
gh issue view "$ISSUE_NUMBER" --json comments --jq '.comments | .[-3:] | .[] | "[\(.author.login) - \(.createdAt[0:10])]\n\(.body)\n---"'
|
|
89
|
+
echo ""
|
|
90
|
+
fi
|
|
91
|
+
|
|
92
|
+
# Get linked PRs if any
|
|
93
|
+
echo "=== LINKED PULL REQUESTS ==="
|
|
94
|
+
gh pr list --search "linked:issue:$ISSUE_NUMBER" --json number,title,state --jq '.[] | "#\(.number) [\(.state)] \(.title)"' 2>/dev/null || echo "None"
|
|
95
|
+
echo ""
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Step 3: Generate Branch Name
|
|
99
|
+
|
|
100
|
+
Create a clean, descriptive branch name from the issue:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
echo "=== GENERATING BRANCH NAME ==="
|
|
104
|
+
|
|
105
|
+
# Get issue title and type from labels
|
|
106
|
+
ISSUE_TITLE=$(gh issue view "$ISSUE_NUMBER" --json title --jq '.title')
|
|
107
|
+
ISSUE_LABELS=$(gh issue view "$ISSUE_NUMBER" --json labels --jq '[.labels[].name] | join(",")')
|
|
108
|
+
|
|
109
|
+
# Determine branch prefix from labels
|
|
110
|
+
PREFIX="feature"
|
|
111
|
+
if echo "$ISSUE_LABELS" | grep -qiE "bug|fix"; then
|
|
112
|
+
PREFIX="fix"
|
|
113
|
+
elif echo "$ISSUE_LABELS" | grep -qiE "enhancement|feature"; then
|
|
114
|
+
PREFIX="feature"
|
|
115
|
+
elif echo "$ISSUE_LABELS" | grep -qiE "docs|documentation"; then
|
|
116
|
+
PREFIX="docs"
|
|
117
|
+
elif echo "$ISSUE_LABELS" | grep -qiE "refactor"; then
|
|
118
|
+
PREFIX="refactor"
|
|
119
|
+
elif echo "$ISSUE_LABELS" | grep -qiE "chore|maintenance"; then
|
|
120
|
+
PREFIX="chore"
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
# Sanitize title for branch name:
|
|
124
|
+
# - Convert to lowercase
|
|
125
|
+
# - Replace spaces and special chars with dashes
|
|
126
|
+
# - Remove consecutive dashes
|
|
127
|
+
# - Trim to reasonable length (50 chars max for slug)
|
|
128
|
+
# - Remove leading/trailing dashes
|
|
129
|
+
SLUG=$(echo "$ISSUE_TITLE" | \
|
|
130
|
+
tr '[:upper:]' '[:lower:]' | \
|
|
131
|
+
sed 's/[^a-z0-9]/-/g' | \
|
|
132
|
+
sed 's/--*/-/g' | \
|
|
133
|
+
cut -c1-50 | \
|
|
134
|
+
sed 's/^-//' | \
|
|
135
|
+
sed 's/-$//')
|
|
136
|
+
|
|
137
|
+
BRANCH_NAME="${PREFIX}/${ISSUE_NUMBER}-${SLUG}"
|
|
138
|
+
|
|
139
|
+
echo "Suggested branch: $BRANCH_NAME"
|
|
140
|
+
echo ""
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Step 4: Check Branch State and Create
|
|
144
|
+
|
|
145
|
+
Verify branch doesn't exist and create it:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
echo "=== CREATING BRANCH ==="
|
|
149
|
+
|
|
150
|
+
# Check if branch already exists locally
|
|
151
|
+
if git show-ref --verify --quiet "refs/heads/$BRANCH_NAME" 2>/dev/null; then
|
|
152
|
+
echo "Branch '$BRANCH_NAME' already exists locally."
|
|
153
|
+
echo ""
|
|
154
|
+
echo "Options:"
|
|
155
|
+
echo " 1. Switch to it: git checkout $BRANCH_NAME"
|
|
156
|
+
echo " 2. Delete and recreate: git branch -D $BRANCH_NAME"
|
|
157
|
+
echo ""
|
|
158
|
+
|
|
159
|
+
# Ask if user wants to switch to existing branch
|
|
160
|
+
echo "Switching to existing branch..."
|
|
161
|
+
git checkout "$BRANCH_NAME"
|
|
162
|
+
exit 0
|
|
163
|
+
fi
|
|
164
|
+
|
|
165
|
+
# Check if branch exists on remote
|
|
166
|
+
if git ls-remote --heads origin "$BRANCH_NAME" 2>/dev/null | grep -q "$BRANCH_NAME"; then
|
|
167
|
+
echo "Branch '$BRANCH_NAME' exists on remote."
|
|
168
|
+
echo "Checking out and tracking remote branch..."
|
|
169
|
+
git checkout -b "$BRANCH_NAME" --track "origin/$BRANCH_NAME"
|
|
170
|
+
exit 0
|
|
171
|
+
fi
|
|
172
|
+
|
|
173
|
+
# Get default branch to branch from
|
|
174
|
+
DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || echo "main")
|
|
175
|
+
|
|
176
|
+
# Ensure we're up to date with the default branch
|
|
177
|
+
echo "Updating from $DEFAULT_BRANCH..."
|
|
178
|
+
git fetch origin "$DEFAULT_BRANCH" 2>/dev/null || true
|
|
179
|
+
|
|
180
|
+
# Create and switch to new branch
|
|
181
|
+
echo "Creating branch from $DEFAULT_BRANCH..."
|
|
182
|
+
git checkout -b "$BRANCH_NAME" "origin/$DEFAULT_BRANCH" 2>/dev/null || \
|
|
183
|
+
git checkout -b "$BRANCH_NAME" "$DEFAULT_BRANCH" 2>/dev/null || \
|
|
184
|
+
git checkout -b "$BRANCH_NAME"
|
|
185
|
+
|
|
186
|
+
echo ""
|
|
187
|
+
echo "Branch '$BRANCH_NAME' created and checked out."
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Step 5: Output Summary
|
|
191
|
+
|
|
192
|
+
Present a clear summary of the issue and branch:
|
|
193
|
+
|
|
194
|
+
```markdown
|
|
195
|
+
## ISSUE READY FOR IMPLEMENTATION
|
|
196
|
+
|
|
197
|
+
**Issue:** #{ISSUE_NUMBER} - {ISSUE_TITLE}
|
|
198
|
+
**Branch:** {BRANCH_NAME}
|
|
199
|
+
**State:** {STATE}
|
|
200
|
+
**Labels:** {LABELS}
|
|
201
|
+
|
|
202
|
+
### Description
|
|
203
|
+
{ISSUE_BODY or summary}
|
|
204
|
+
|
|
205
|
+
### Acceptance Criteria
|
|
206
|
+
{Extract from issue body if present, or mark as "Not specified"}
|
|
207
|
+
|
|
208
|
+
### Next Steps
|
|
209
|
+
1. Review the issue description above
|
|
210
|
+
2. Start implementation on branch `{BRANCH_NAME}`
|
|
211
|
+
3. Reference this issue in commits: `fix #{ISSUE_NUMBER}` or `closes #{ISSUE_NUMBER}`
|
|
212
|
+
4. Create PR when ready: `/pull-request`
|
|
213
|
+
|
|
214
|
+
### Useful Commands
|
|
215
|
+
```bash
|
|
216
|
+
# View issue in browser
|
|
217
|
+
gh issue view {ISSUE_NUMBER} --web
|
|
218
|
+
|
|
219
|
+
# Add yourself as assignee
|
|
220
|
+
gh issue edit {ISSUE_NUMBER} --add-assignee @me
|
|
221
|
+
|
|
222
|
+
# Add a comment
|
|
223
|
+
gh issue comment {ISSUE_NUMBER} --body "Starting work on this"
|
|
224
|
+
```
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Error Handling
|
|
228
|
+
|
|
229
|
+
### Issue Not Found
|
|
230
|
+
```markdown
|
|
231
|
+
ERROR: Issue not found
|
|
232
|
+
|
|
233
|
+
The issue #{NUMBER} does not exist or you don't have access.
|
|
234
|
+
|
|
235
|
+
Verify:
|
|
236
|
+
- Issue number is correct
|
|
237
|
+
- You're in the correct repository
|
|
238
|
+
- You have access to this repository
|
|
239
|
+
- Run `gh auth status` to check authentication
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### No Search Results
|
|
243
|
+
```markdown
|
|
244
|
+
ERROR: No issues match "{SEARCH_TERM}"
|
|
245
|
+
|
|
246
|
+
Try:
|
|
247
|
+
- Using exact issue number: `/get-issue 123`
|
|
248
|
+
- Broader search terms
|
|
249
|
+
- Checking issue state (open vs closed)
|
|
250
|
+
- Running `gh issue list` to see available issues
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Git Errors
|
|
254
|
+
```markdown
|
|
255
|
+
ERROR: Git operation failed
|
|
256
|
+
|
|
257
|
+
Common causes:
|
|
258
|
+
- Not in a git repository
|
|
259
|
+
- Uncommitted changes blocking checkout
|
|
260
|
+
- Remote not accessible
|
|
261
|
+
|
|
262
|
+
Solutions:
|
|
263
|
+
- Run `git status` to check state
|
|
264
|
+
- Commit or stash changes: `git stash`
|
|
265
|
+
- Check remote: `gh repo view`
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Quality Standards
|
|
269
|
+
|
|
270
|
+
### Issue Fetch Quality:
|
|
271
|
+
- [ ] All issue metadata retrieved (title, body, labels, etc.)
|
|
272
|
+
- [ ] Comments included for context
|
|
273
|
+
- [ ] Linked PRs identified
|
|
274
|
+
- [ ] State clearly displayed
|
|
275
|
+
|
|
276
|
+
### Branch Quality:
|
|
277
|
+
- [ ] Name follows pattern: `{type}/{number}-{slug}`
|
|
278
|
+
- [ ] Type derived from labels (feature, fix, docs, etc.)
|
|
279
|
+
- [ ] Slug is readable and descriptive
|
|
280
|
+
- [ ] Branch created from up-to-date default branch
|
|
281
|
+
|
|
282
|
+
### Output Quality:
|
|
283
|
+
- [ ] Clear summary of issue details
|
|
284
|
+
- [ ] Actionable next steps provided
|
|
285
|
+
- [ ] Useful commands included
|
|
286
|
+
- [ ] Error cases handled gracefully
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: pr-comments
|
|
3
3
|
description: Creates individual PR comments with fix suggestions for code review findings
|
|
4
4
|
tools: Bash, Read, Grep, Glob
|
|
5
|
-
model:
|
|
5
|
+
model: haiku
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a PR comment specialist responsible for creating actionable, well-formatted comments on pull requests for issues found during code review.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: project-state
|
|
3
3
|
description: Analyze current project state including git history, file changes, TODOs, and documentation for status reporting
|
|
4
4
|
tools: Bash, Read, Grep, Glob
|
|
5
|
-
model:
|
|
5
|
+
model: haiku
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a project state analysis specialist focused on gathering comprehensive codebase insights for status reporting and documentation. Your role is to analyze git history, recent changes, pending work, and documentation structure.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: pull-request
|
|
3
3
|
description: Analyze commits and changes to generate comprehensive PR title and description
|
|
4
4
|
tools: Bash, Read, Grep, Glob
|
|
5
|
-
model:
|
|
5
|
+
model: haiku
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a pull request specialist focused on analyzing code changes and generating comprehensive, accurate PR descriptions. Your task is to understand what changed, why it changed, and communicate that clearly to human reviewers.
|
|
@@ -11,11 +11,54 @@ You are a pull request specialist focused on analyzing code changes and generati
|
|
|
11
11
|
|
|
12
12
|
## Your Task
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Create a pull request from the current branch with comprehensive analysis and description.
|
|
15
15
|
|
|
16
|
-
You will receive:
|
|
17
|
-
-
|
|
18
|
-
- `
|
|
16
|
+
You will receive arguments that may contain:
|
|
17
|
+
- Base branch name (e.g., `main`, `develop`)
|
|
18
|
+
- `--draft` flag for draft PR
|
|
19
|
+
|
|
20
|
+
### Step 0: Setup and Pre-Flight Checks
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Parse arguments
|
|
24
|
+
ARGS="$1"
|
|
25
|
+
BASE_BRANCH=""
|
|
26
|
+
DRAFT_FLAG=""
|
|
27
|
+
|
|
28
|
+
for arg in $ARGS; do
|
|
29
|
+
case $arg in
|
|
30
|
+
--draft) DRAFT_FLAG="--draft" ;;
|
|
31
|
+
*) [ -z "$BASE_BRANCH" ] && BASE_BRANCH="$arg" ;;
|
|
32
|
+
esac
|
|
33
|
+
done
|
|
34
|
+
|
|
35
|
+
# Get current branch
|
|
36
|
+
CURRENT_BRANCH=$(git branch --show-current)
|
|
37
|
+
if [ -z "$CURRENT_BRANCH" ]; then
|
|
38
|
+
echo "ERROR: Not on a branch (detached HEAD)"
|
|
39
|
+
exit 1
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# Auto-detect base branch
|
|
43
|
+
if [ -z "$BASE_BRANCH" ]; then
|
|
44
|
+
for branch in main master develop; do
|
|
45
|
+
git show-ref --verify --quiet refs/heads/$branch && BASE_BRANCH=$branch && break
|
|
46
|
+
done
|
|
47
|
+
fi
|
|
48
|
+
[ -z "$BASE_BRANCH" ] && echo "ERROR: Could not detect base branch" && exit 1
|
|
49
|
+
|
|
50
|
+
# Pre-flight checks
|
|
51
|
+
COMMITS_AHEAD=$(git rev-list --count $BASE_BRANCH..HEAD)
|
|
52
|
+
[ "$COMMITS_AHEAD" -eq 0 ] && echo "ERROR: No commits ahead of $BASE_BRANCH" && exit 1
|
|
53
|
+
|
|
54
|
+
EXISTING_PR=$(gh pr list --head "$CURRENT_BRANCH" --json number --jq '.[0].number' 2>/dev/null || echo "")
|
|
55
|
+
[ -n "$EXISTING_PR" ] && echo "ERROR: PR #$EXISTING_PR already exists" && exit 1
|
|
56
|
+
|
|
57
|
+
# Push if needed
|
|
58
|
+
git ls-remote --exit-code --heads origin "$CURRENT_BRANCH" >/dev/null 2>&1 || git push -u origin "$CURRENT_BRANCH"
|
|
59
|
+
|
|
60
|
+
echo "Branch: $CURRENT_BRANCH -> $BASE_BRANCH ($COMMITS_AHEAD commits)"
|
|
61
|
+
```
|
|
19
62
|
|
|
20
63
|
### Step 1: Analyze Commit History
|
|
21
64
|
|
|
@@ -420,4 +463,31 @@ END OF PR CONTENT
|
|
|
420
463
|
- [ ] PR size assessed accurately
|
|
421
464
|
- [ ] Split recommendations if needed
|
|
422
465
|
|
|
423
|
-
|
|
466
|
+
### Step 9: Create the Pull Request
|
|
467
|
+
|
|
468
|
+
After generating the title and description, create the PR:
|
|
469
|
+
|
|
470
|
+
```bash
|
|
471
|
+
# Create PR with generated content
|
|
472
|
+
gh pr create \
|
|
473
|
+
--base "$BASE_BRANCH" \
|
|
474
|
+
--head "$CURRENT_BRANCH" \
|
|
475
|
+
--title "{GENERATED_TITLE}" \
|
|
476
|
+
--body "$(cat <<'EOF'
|
|
477
|
+
{GENERATED_DESCRIPTION}
|
|
478
|
+
EOF
|
|
479
|
+
)" $DRAFT_FLAG
|
|
480
|
+
|
|
481
|
+
# Get PR URL
|
|
482
|
+
PR_URL=$(gh pr view --json url --jq '.url')
|
|
483
|
+
echo ""
|
|
484
|
+
echo "PR Created: $PR_URL"
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
**Final Output:**
|
|
488
|
+
```
|
|
489
|
+
PR Created: {PR_URL}
|
|
490
|
+
Branch: {CURRENT_BRANCH} -> {BASE_BRANCH}
|
|
491
|
+
Commits: {N}
|
|
492
|
+
Status: {Draft/Ready for review}
|
|
493
|
+
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: tech-debt
|
|
3
3
|
description: Manages tech debt GitHub issue - adds new items and cleans up fixed ones
|
|
4
4
|
tools: Bash, Read, Grep, Glob
|
|
5
|
-
model:
|
|
5
|
+
model: haiku
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are a tech debt management specialist responsible for maintaining the Tech Debt Backlog GitHub issue. You add new pre-existing issues found during code reviews and clean up items that have been fixed.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Task
|
|
3
|
+
description: Fetch GitHub issue details and create a working branch for implementation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Your task
|
|
7
|
+
|
|
8
|
+
Launch the `get-issue` sub-agent with the issue identifier: `$ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
The agent will:
|
|
11
|
+
1. Fetch issue by number or search term
|
|
12
|
+
2. Display issue details (title, body, labels, comments)
|
|
13
|
+
3. Create and checkout a branch named `{type}/{number}-{slug}`
|
|
14
|
+
4. Provide next steps for implementation
|
|
15
|
+
|
|
16
|
+
Pass the full `$ARGUMENTS` to the sub-agent as the issue input.
|
|
@@ -1,269 +1,20 @@
|
|
|
1
1
|
---
|
|
2
|
-
allowed-tools: Task
|
|
2
|
+
allowed-tools: Task
|
|
3
3
|
description: Create pull request with comprehensive analysis and smart description generation
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## Your task
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Launch the `pull-request` sub-agent to create a PR from the current branch.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Pass `$ARGUMENTS` to the sub-agent (may contain base branch and/or `--draft` flag).
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
The agent will:
|
|
13
|
+
1. Detect current branch and base branch (auto-detect if not specified)
|
|
14
|
+
2. Run pre-flight checks (commits exist, no existing PR, branch pushed)
|
|
15
|
+
3. Analyze commits and code changes
|
|
16
|
+
4. Generate PR title and comprehensive description
|
|
17
|
+
5. Create the PR using `gh pr create`
|
|
18
|
+
6. Return the PR URL
|
|
13
19
|
|
|
14
|
-
|
|
15
|
-
# Parse arguments
|
|
16
|
-
BASE_BRANCH=""
|
|
17
|
-
DRAFT_FLAG=""
|
|
18
|
-
|
|
19
|
-
for arg in $ARGUMENTS; do
|
|
20
|
-
case $arg in
|
|
21
|
-
--draft)
|
|
22
|
-
DRAFT_FLAG="--draft"
|
|
23
|
-
;;
|
|
24
|
-
*)
|
|
25
|
-
if [ -z "$BASE_BRANCH" ]; then
|
|
26
|
-
BASE_BRANCH="$arg"
|
|
27
|
-
fi
|
|
28
|
-
;;
|
|
29
|
-
esac
|
|
30
|
-
done
|
|
31
|
-
|
|
32
|
-
# Get current branch
|
|
33
|
-
CURRENT_BRANCH=$(git branch --show-current)
|
|
34
|
-
if [ -z "$CURRENT_BRANCH" ]; then
|
|
35
|
-
echo "❌ Not on a branch (detached HEAD). Checkout a feature branch first."
|
|
36
|
-
exit 1
|
|
37
|
-
fi
|
|
38
|
-
|
|
39
|
-
# Auto-detect base branch if not specified
|
|
40
|
-
if [ -z "$BASE_BRANCH" ]; then
|
|
41
|
-
for branch in main master develop; do
|
|
42
|
-
if git show-ref --verify --quiet refs/heads/$branch; then
|
|
43
|
-
BASE_BRANCH=$branch
|
|
44
|
-
break
|
|
45
|
-
fi
|
|
46
|
-
done
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
if [ -z "$BASE_BRANCH" ]; then
|
|
50
|
-
echo "❌ Could not auto-detect base branch. Specify manually: /pull-request <base-branch>"
|
|
51
|
-
exit 1
|
|
52
|
-
fi
|
|
53
|
-
|
|
54
|
-
echo "=== PR CREATION CONTEXT ==="
|
|
55
|
-
echo "Current branch: $CURRENT_BRANCH"
|
|
56
|
-
echo "Base branch: $BASE_BRANCH"
|
|
57
|
-
echo "Draft mode: ${DRAFT_FLAG:-disabled}"
|
|
58
|
-
echo ""
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Step 2: Pre-Flight Checks
|
|
62
|
-
|
|
63
|
-
Verify the branch state and catch common issues:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
echo "=== PRE-FLIGHT CHECKS ==="
|
|
67
|
-
|
|
68
|
-
# Check if branch has commits ahead of base
|
|
69
|
-
COMMITS_AHEAD=$(git rev-list --count $BASE_BRANCH..HEAD)
|
|
70
|
-
if [ "$COMMITS_AHEAD" -eq 0 ]; then
|
|
71
|
-
echo "❌ No commits to create PR. Branch is up to date with $BASE_BRANCH."
|
|
72
|
-
exit 1
|
|
73
|
-
fi
|
|
74
|
-
|
|
75
|
-
# Check if PR already exists for this branch
|
|
76
|
-
EXISTING_PR=$(gh pr list --head "$CURRENT_BRANCH" --json number --jq '.[0].number' 2>/dev/null || echo "")
|
|
77
|
-
if [ -n "$EXISTING_PR" ]; then
|
|
78
|
-
echo "⚠️ PR #$EXISTING_PR already exists for branch $CURRENT_BRANCH"
|
|
79
|
-
echo "View: gh pr view $EXISTING_PR"
|
|
80
|
-
echo "Update: git push to update existing PR"
|
|
81
|
-
exit 1
|
|
82
|
-
fi
|
|
83
|
-
|
|
84
|
-
# Check if branch is pushed to remote
|
|
85
|
-
if ! git ls-remote --exit-code --heads origin "$CURRENT_BRANCH" >/dev/null 2>&1; then
|
|
86
|
-
echo "⚠️ Branch not pushed to remote. Pushing now..."
|
|
87
|
-
git push -u origin "$CURRENT_BRANCH"
|
|
88
|
-
fi
|
|
89
|
-
|
|
90
|
-
# Show quick summary
|
|
91
|
-
echo "✅ Ready to create PR"
|
|
92
|
-
echo " Commits: $COMMITS_AHEAD ahead of $BASE_BRANCH"
|
|
93
|
-
git log --oneline $BASE_BRANCH..HEAD | head -5
|
|
94
|
-
echo ""
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Step 3: Launch Pull Request Sub-Agent
|
|
98
|
-
|
|
99
|
-
Launch the `pull-request` sub-agent to analyze commits and generate PR content:
|
|
100
|
-
|
|
101
|
-
**IMPORTANT**: Pass these variables to the sub-agent:
|
|
102
|
-
- `CURRENT_BRANCH`: The branch being reviewed
|
|
103
|
-
- `BASE_BRANCH`: The base branch for comparison
|
|
104
|
-
|
|
105
|
-
The sub-agent will:
|
|
106
|
-
1. Analyze commit history and messages
|
|
107
|
-
2. Analyze code changes and impact
|
|
108
|
-
3. Extract issue references
|
|
109
|
-
4. Detect breaking changes
|
|
110
|
-
5. Generate PR title and comprehensive description
|
|
111
|
-
6. Assess PR size and suggest splits if needed
|
|
112
|
-
|
|
113
|
-
Use the Task tool to launch the sub-agent with subagent_type="pull-request":
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
Launch pull-request sub-agent with:
|
|
117
|
-
- Current branch: {CURRENT_BRANCH}
|
|
118
|
-
- Base branch: {BASE_BRANCH}
|
|
119
|
-
|
|
120
|
-
The sub-agent will analyze all commits and changes between {BASE_BRANCH} and {CURRENT_BRANCH}, then generate:
|
|
121
|
-
- PR title following conventional commit format
|
|
122
|
-
- Comprehensive PR description with:
|
|
123
|
-
- Summary of changes
|
|
124
|
-
- Breaking changes (if any)
|
|
125
|
-
- Testing recommendations
|
|
126
|
-
- Related issues
|
|
127
|
-
- Size assessment and recommendations
|
|
128
|
-
|
|
129
|
-
Return the complete PR title and description ready for `gh pr create`.
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Step 4: Review Sub-Agent Output
|
|
133
|
-
|
|
134
|
-
After the sub-agent completes, extract the generated PR content and present it to the user for review:
|
|
135
|
-
|
|
136
|
-
```markdown
|
|
137
|
-
📝 GENERATED PR CONTENT
|
|
138
|
-
|
|
139
|
-
**Title:**
|
|
140
|
-
{generated PR title}
|
|
141
|
-
|
|
142
|
-
**Description:**
|
|
143
|
-
{generated PR description}
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
**Size Assessment:**
|
|
148
|
-
- Files changed: {X}
|
|
149
|
-
- Lines changed: {Y}
|
|
150
|
-
- Complexity: {Simple/Medium/Complex/Too Large}
|
|
151
|
-
|
|
152
|
-
{If too large, show recommendations for splitting}
|
|
153
|
-
|
|
154
|
-
**Recommendations from analysis:**
|
|
155
|
-
{Any warnings or suggestions from sub-agent}
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Step 5: Create Pull Request
|
|
159
|
-
|
|
160
|
-
Create the PR using `gh pr create` with the generated content:
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
# Save PR body to temp file to preserve formatting
|
|
164
|
-
PR_BODY=$(cat <<'EOF'
|
|
165
|
-
{generated PR description from sub-agent}
|
|
166
|
-
EOF
|
|
167
|
-
)
|
|
168
|
-
|
|
169
|
-
# Create the PR
|
|
170
|
-
gh pr create \
|
|
171
|
-
--base "$BASE_BRANCH" \
|
|
172
|
-
--head "$CURRENT_BRANCH" \
|
|
173
|
-
--title "{generated PR title}" \
|
|
174
|
-
--body "$PR_BODY" \
|
|
175
|
-
$DRAFT_FLAG
|
|
176
|
-
|
|
177
|
-
# Capture the PR URL
|
|
178
|
-
PR_URL=$(gh pr view --json url --jq '.url' 2>/dev/null || echo "")
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### Step 6: Provide Success Summary
|
|
182
|
-
|
|
183
|
-
Present the final summary to the user:
|
|
184
|
-
|
|
185
|
-
```markdown
|
|
186
|
-
✅ PULL REQUEST CREATED
|
|
187
|
-
|
|
188
|
-
🔗 **PR URL:** {PR_URL}
|
|
189
|
-
|
|
190
|
-
📊 **Summary:**
|
|
191
|
-
- Branch: {CURRENT_BRANCH} → {BASE_BRANCH}
|
|
192
|
-
- Commits: {X} commits
|
|
193
|
-
- Files: {Y} files changed
|
|
194
|
-
- Status: {Draft/Ready for review}
|
|
195
|
-
|
|
196
|
-
💡 **Next Steps:**
|
|
197
|
-
- View PR: gh pr view {PR_NUMBER}
|
|
198
|
-
- Request reviews: gh pr edit {PR_NUMBER} --add-reviewer @username
|
|
199
|
-
- Monitor CI checks: gh pr checks {PR_NUMBER}
|
|
200
|
-
- If changes needed, push commits or use /resolve-comments after review
|
|
201
|
-
|
|
202
|
-
📝 **Full PR details:** {PR_URL}
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
## Usage Examples
|
|
208
|
-
|
|
209
|
-
### Basic Usage
|
|
210
|
-
```bash
|
|
211
|
-
# Create PR to main branch (auto-detected)
|
|
212
|
-
/pull-request
|
|
213
|
-
|
|
214
|
-
# Create PR to develop branch
|
|
215
|
-
/pull-request develop
|
|
216
|
-
|
|
217
|
-
# Create draft PR
|
|
218
|
-
/pull-request --draft
|
|
219
|
-
|
|
220
|
-
# Create draft PR to specific base
|
|
221
|
-
/pull-request develop --draft
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### When to Use
|
|
225
|
-
|
|
226
|
-
**✅ Use /pull-request when:**
|
|
227
|
-
- You have commits ready for review
|
|
228
|
-
- Branch is ready for team review
|
|
229
|
-
- You want comprehensive PR description
|
|
230
|
-
- You want to detect breaking changes automatically
|
|
231
|
-
|
|
232
|
-
**⚠️ Before using:**
|
|
233
|
-
- Run `/code-review` to validate quality
|
|
234
|
-
- Ensure all commits are meaningful (not WIP)
|
|
235
|
-
- Consider if PR is too large (should it be split?)
|
|
236
|
-
|
|
237
|
-
**💡 Pro Tips:**
|
|
238
|
-
- For small PRs (<10 files), this generates great descriptions automatically
|
|
239
|
-
- For large PRs (>20 files), consider the split recommendations
|
|
240
|
-
- Draft PRs are great for early feedback without formal review requests
|
|
241
|
-
- PR description can be edited after creation with `gh pr edit`
|
|
242
|
-
|
|
243
|
-
---
|
|
244
|
-
|
|
245
|
-
## Command Behavior
|
|
246
|
-
|
|
247
|
-
### Pre-Flight Validation:
|
|
248
|
-
- ✅ Verifies branch has commits ahead of base
|
|
249
|
-
- ✅ Checks for existing PRs on this branch
|
|
250
|
-
- ✅ Ensures branch is pushed to remote
|
|
251
|
-
- ✅ Validates base branch exists
|
|
252
|
-
|
|
253
|
-
### PR Content Generation:
|
|
254
|
-
- ✅ Analyzes all commits since branching from base
|
|
255
|
-
- ✅ Groups changes by feature/fix/refactor
|
|
256
|
-
- ✅ Extracts issue references automatically
|
|
257
|
-
- ✅ Detects breaking changes from commit messages
|
|
258
|
-
- ✅ Generates testing recommendations
|
|
259
|
-
|
|
260
|
-
### Safety Features:
|
|
261
|
-
- ⚠️ Warns if PR is too large (>500 lines changed)
|
|
262
|
-
- ⚠️ Suggests splitting strategy for large PRs
|
|
263
|
-
- ⚠️ Detects missing tests or documentation
|
|
264
|
-
- ⚠️ Highlights security-sensitive changes
|
|
265
|
-
|
|
266
|
-
### Integration:
|
|
267
|
-
- Works seamlessly with `/code-review` (run before PR creation)
|
|
268
|
-
- Complements `/resolve-comments` (for handling feedback after PR)
|
|
269
|
-
- Follows conventional commit format for consistency
|
|
20
|
+
Trust the agent's judgment. It handles all validation and creation.
|