@wbern/claude-instructions 1.21.0 → 2.0.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/README.md +4 -2
- package/bin/cli.js +329 -192
- package/package.json +2 -3
- package/src/README.md +279 -0
- package/src/fragments/aaa-pattern.md +7 -0
- package/src/fragments/beads-awareness.md +1 -0
- package/src/fragments/beads-integration.md +8 -0
- package/{downloads/without-beads/commit.md → src/fragments/commit-process.md} +0 -17
- package/src/fragments/consistency-check.md +1 -0
- package/src/fragments/discovery-phase.md +22 -0
- package/src/fragments/fallback-arguments-beads.md +3 -0
- package/src/fragments/fallback-arguments.md +1 -0
- package/src/fragments/fullwidth-dollar-note.md +1 -0
- package/src/fragments/gap-beads.md +1 -0
- package/src/fragments/git-host-detection.md +19 -0
- package/src/fragments/github-issue-fetch.md +10 -0
- package/src/fragments/peeping-tom-warning.md +9 -0
- package/src/fragments/plan-beads-context-hint.md +1 -0
- package/src/fragments/plan-beads-details.md +49 -0
- package/src/fragments/plan-beads-integration.md +2 -0
- package/src/fragments/summarize-beads.md +8 -0
- package/{downloads/without-beads/summarize.md → src/fragments/summarize-structure.md} +0 -20
- package/{downloads/without-beads/tdd.md → src/fragments/tdd-fundamentals.md} +0 -21
- package/src/fragments/test-quality-criteria.md +24 -0
- package/src/fragments/universal-guidelines.md +6 -0
- package/{downloads/without-beads → src/sources}/add-command.md +11 -25
- package/{downloads/without-beads → src/sources}/ask.md +11 -6
- package/{downloads/without-beads → src/sources}/beepboop.md +7 -6
- package/{downloads/without-beads → src/sources}/busycommit.md +9 -36
- package/{downloads/without-beads → src/sources}/code-review.md +16 -30
- package/src/sources/commit.md +20 -0
- package/src/sources/cycle.md +23 -0
- package/{downloads/without-beads → src/sources}/gap.md +11 -8
- package/src/sources/green.md +23 -0
- package/src/sources/issue.md +42 -0
- package/{downloads/without-beads → src/sources}/kata.md +10 -9
- package/{downloads/without-beads → src/sources}/plan.md +18 -39
- package/{downloads/without-beads → src/sources}/pr.md +10 -6
- package/src/sources/red.md +26 -0
- package/src/sources/refactor.md +27 -0
- package/{downloads/without-beads → src/sources}/ship.md +11 -6
- package/{downloads/without-beads → src/sources}/show.md +11 -6
- package/src/sources/spike.md +23 -0
- package/src/sources/summarize.md +23 -0
- package/{downloads/without-beads → src/sources}/tdd-review.md +11 -31
- package/src/sources/tdd.md +24 -0
- package/{downloads/without-beads → src/sources}/worktree-add.md +13 -31
- package/{downloads/without-beads → src/sources}/worktree-cleanup.md +9 -27
- package/downloads/with-beads/add-command.md +0 -159
- package/downloads/with-beads/ask.md +0 -144
- package/downloads/with-beads/beepboop.md +0 -47
- package/downloads/with-beads/busycommit.md +0 -78
- package/downloads/with-beads/code-review.md +0 -263
- package/downloads/with-beads/commands-metadata.json +0 -155
- package/downloads/with-beads/commit.md +0 -49
- package/downloads/with-beads/cycle.md +0 -95
- package/downloads/with-beads/gap.md +0 -38
- package/downloads/with-beads/green.md +0 -95
- package/downloads/with-beads/issue.md +0 -152
- package/downloads/with-beads/kata.md +0 -444
- package/downloads/with-beads/plan.md +0 -186
- package/downloads/with-beads/pr.md +0 -82
- package/downloads/with-beads/red.md +0 -103
- package/downloads/with-beads/refactor.md +0 -105
- package/downloads/with-beads/ship.md +0 -98
- package/downloads/with-beads/show.md +0 -114
- package/downloads/with-beads/spike.md +0 -95
- package/downloads/with-beads/summarize.md +0 -54
- package/downloads/with-beads/tdd-review.md +0 -102
- package/downloads/with-beads/tdd.md +0 -94
- package/downloads/with-beads/worktree-add.md +0 -357
- package/downloads/with-beads/worktree-cleanup.md +0 -250
- package/downloads/without-beads/commands-metadata.json +0 -155
- package/downloads/without-beads/cycle.md +0 -90
- package/downloads/without-beads/green.md +0 -90
- package/downloads/without-beads/issue.md +0 -140
- package/downloads/without-beads/red.md +0 -98
- package/downloads/without-beads/refactor.md +0 -100
- package/downloads/without-beads/spike.md +0 -90
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Request team review and approval - for complex changes needing discussion
|
|
3
|
-
argument-hint: [optional-pr-title-and-description]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Ask - Request Review and Approval
|
|
7
|
-
|
|
8
|
-
## General Guidelines
|
|
9
|
-
|
|
10
|
-
### Output Style
|
|
11
|
-
|
|
12
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
13
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
14
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
15
|
-
|
|
16
|
-
Beads is available for task tracking. Use `mcp__beads__*` tools to manage issues (the user interacts via `bd` commands).
|
|
17
|
-
|
|
18
|
-
**Ship/Show/Ask Pattern - ASK**
|
|
19
|
-
|
|
20
|
-
Ask is for complex changes that need team discussion and approval. Examples:
|
|
21
|
-
|
|
22
|
-
- Breaking API changes
|
|
23
|
-
- New architecture decisions
|
|
24
|
-
- Significant feature additions
|
|
25
|
-
- Performance trade-offs
|
|
26
|
-
- Security-sensitive changes
|
|
27
|
-
|
|
28
|
-
## When to Ask
|
|
29
|
-
|
|
30
|
-
Use **Ask** when:
|
|
31
|
-
|
|
32
|
-
- Changes affect multiple systems
|
|
33
|
-
- Breaking changes are needed
|
|
34
|
-
- You need input on approach
|
|
35
|
-
- Security implications exist
|
|
36
|
-
- Performance trade-offs need discussion
|
|
37
|
-
- Uncertain about the best solution
|
|
38
|
-
|
|
39
|
-
## Workflow
|
|
40
|
-
|
|
41
|
-
Current branch status:
|
|
42
|
-
!`git status`
|
|
43
|
-
|
|
44
|
-
Recent commits:
|
|
45
|
-
!`git log --oneline -5`
|
|
46
|
-
|
|
47
|
-
Arguments: $ARGUMENTS
|
|
48
|
-
|
|
49
|
-
**This is the traditional Pull Request workflow**, but with explicit intent that review and approval are required.
|
|
50
|
-
|
|
51
|
-
**Process:**
|
|
52
|
-
|
|
53
|
-
1. **Ensure Branch is Ready**:
|
|
54
|
-
!`git status`
|
|
55
|
-
- Commit all changes
|
|
56
|
-
- Push to remote: `git push origin [branch-name]`
|
|
57
|
-
|
|
58
|
-
2. **Create Ask PR**: Create a PR that clearly needs review
|
|
59
|
-
|
|
60
|
-
Title: conventional commits format, prefixed with `[ASK]`
|
|
61
|
-
|
|
62
|
-
Description template:
|
|
63
|
-
|
|
64
|
-
```markdown
|
|
65
|
-
## 🤔 Ask - Review and Approval Needed
|
|
66
|
-
|
|
67
|
-
**This is an ASK PR**: These changes need team review and discussion.
|
|
68
|
-
|
|
69
|
-
<!--
|
|
70
|
-
References: [link to relevant issues]
|
|
71
|
-
-->
|
|
72
|
-
|
|
73
|
-
### What changed
|
|
74
|
-
|
|
75
|
-
[Detailed description of changes]
|
|
76
|
-
|
|
77
|
-
### Why
|
|
78
|
-
|
|
79
|
-
[Rationale and context]
|
|
80
|
-
|
|
81
|
-
### Questions for reviewers
|
|
82
|
-
|
|
83
|
-
- [ ] Question 1
|
|
84
|
-
- [ ] Question 2
|
|
85
|
-
|
|
86
|
-
### Concerns
|
|
87
|
-
|
|
88
|
-
- Potential concern 1
|
|
89
|
-
- Potential concern 2
|
|
90
|
-
|
|
91
|
-
### Test Plan
|
|
92
|
-
|
|
93
|
-
- [ ] Unit tests
|
|
94
|
-
- [ ] Integration tests
|
|
95
|
-
- [ ] Manual testing steps
|
|
96
|
-
|
|
97
|
-
### Alternatives considered
|
|
98
|
-
|
|
99
|
-
- Alternative 1: [why not chosen]
|
|
100
|
-
- Alternative 2: [why not chosen]
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
3. **Request Reviewers**: Assign specific reviewers who should weigh in
|
|
104
|
-
|
|
105
|
-
4. **Add Labels**:
|
|
106
|
-
- "needs-review"
|
|
107
|
-
- "breaking-change" (if applicable)
|
|
108
|
-
- "security" (if applicable)
|
|
109
|
-
|
|
110
|
-
5. **Link Issues**: Reference related issues in the description
|
|
111
|
-
|
|
112
|
-
6. **Monitor Discussion**: Be responsive to reviewer feedback and questions
|
|
113
|
-
|
|
114
|
-
## Use GitHub MCP Tools
|
|
115
|
-
|
|
116
|
-
1. Check current branch and ensure it's pushed
|
|
117
|
-
2. Create a well-formatted pull request with [ASK] prefix
|
|
118
|
-
3. Set reviewers
|
|
119
|
-
4. Add appropriate labels
|
|
120
|
-
5. Link related issues from commit messages
|
|
121
|
-
|
|
122
|
-
## Decision Guide
|
|
123
|
-
|
|
124
|
-
Use **Ask** when:
|
|
125
|
-
|
|
126
|
-
- ✅ Change is complex or risky
|
|
127
|
-
- ✅ Breaking changes involved
|
|
128
|
-
- ✅ Need team input on approach
|
|
129
|
-
- ✅ Multiple solutions possible
|
|
130
|
-
- ✅ Security implications
|
|
131
|
-
|
|
132
|
-
Use **/show** instead if: confident in approach, just want visibility
|
|
133
|
-
|
|
134
|
-
Use **/ship** instead if: change is tiny, obvious, and safe
|
|
135
|
-
|
|
136
|
-
### Beads Integration
|
|
137
|
-
|
|
138
|
-
Use Beads MCP to:
|
|
139
|
-
|
|
140
|
-
- Track work with `bd ready` to find next task
|
|
141
|
-
- Create issues with `bd create "description"`
|
|
142
|
-
- Track dependencies with `bd dep add`
|
|
143
|
-
|
|
144
|
-
See <https://github.com/steveyegge/beads> for more information.
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Communicate AI-generated content with transparent attribution
|
|
3
|
-
argument-hint: <task-description>
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AI-Attributed Communication Command
|
|
7
|
-
|
|
8
|
-
Execute the user's requested task (e.g., posting PR comments, GitHub issue comments, or other communications through various MCPs), but frame the output with clear AI attribution.
|
|
9
|
-
|
|
10
|
-
## General Guidelines
|
|
11
|
-
|
|
12
|
-
### Output Style
|
|
13
|
-
|
|
14
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
15
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
16
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
17
|
-
|
|
18
|
-
Beads is available for task tracking. Use `mcp__beads__*` tools to manage issues (the user interacts via `bd` commands).
|
|
19
|
-
|
|
20
|
-
## Instructions
|
|
21
|
-
|
|
22
|
-
Arguments: $ARGUMENTS
|
|
23
|
-
|
|
24
|
-
**IMPORTANT Communication Format:**
|
|
25
|
-
|
|
26
|
-
1. **Opening**: Begin with "*Beep boop, I am Claude Code 🤖, my user has reviewed and approved the following written by me:*"
|
|
27
|
-
- Use italics for this line
|
|
28
|
-
- Clearly establishes AI authorship
|
|
29
|
-
|
|
30
|
-
2. **Middle**: Perform the requested task (post comment, create review, etc.)
|
|
31
|
-
- Execute whatever communication task the user requested
|
|
32
|
-
- Write the actual content that accomplishes the user's goal
|
|
33
|
-
|
|
34
|
-
3. **Closing**: End with "*Beep boop, Claude Code 🤖 out!*"
|
|
35
|
-
- Use italics for this line
|
|
36
|
-
- Provides clear closure
|
|
37
|
-
|
|
38
|
-
## Purpose
|
|
39
|
-
|
|
40
|
-
This command ensures transparency about AI usage while maintaining that the user has reviewed and approved the content. It prevents offloading review responsibility to other users while being open about AI assistance.
|
|
41
|
-
|
|
42
|
-
## Examples
|
|
43
|
-
|
|
44
|
-
- Posting a GitHub PR review comment
|
|
45
|
-
- Adding a comment to a GitHub issue
|
|
46
|
-
- Responding to feedback with AI-generated explanations
|
|
47
|
-
- Any communication where AI attribution is valuable
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create multiple atomic git commits, one logical change at a time
|
|
3
|
-
argument-hint: [optional-commit-description]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## General Guidelines
|
|
7
|
-
|
|
8
|
-
### Output Style
|
|
9
|
-
|
|
10
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
11
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
12
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
13
|
-
|
|
14
|
-
Beads is available for task tracking. Use `mcp__beads__*` tools to manage issues (the user interacts via `bd` commands).
|
|
15
|
-
|
|
16
|
-
Create multiple atomic git commits, committing the smallest possible logical unit at a time
|
|
17
|
-
|
|
18
|
-
Include any of the following info if specified: $ARGUMENTS
|
|
19
|
-
|
|
20
|
-
## Commit Message Rules
|
|
21
|
-
|
|
22
|
-
Follows [Conventional Commits](https://www.conventionalcommits.org/) standard.
|
|
23
|
-
|
|
24
|
-
1. **Format**: `type(#issue): description`
|
|
25
|
-
- Use `#123` for local repo issues
|
|
26
|
-
- Use `owner/repo#123` for cross-repo issues
|
|
27
|
-
- Common types: `feat`, `fix`, `docs`, `refactor`, `test`, `chore`
|
|
28
|
-
|
|
29
|
-
2. **AI Credits**: **NEVER include AI credits in commit messages**
|
|
30
|
-
- No "Generated with Claude Code"
|
|
31
|
-
- No "Co-Authored-By: Claude" or "Co-Authored-By: Happy"
|
|
32
|
-
- Focus on the actual changes made, not conversation history
|
|
33
|
-
|
|
34
|
-
3. **Content**: Write clear, concise commit messages describing what changed and why
|
|
35
|
-
|
|
36
|
-
## Process
|
|
37
|
-
|
|
38
|
-
1. Run `git status` and `git diff` to review changes
|
|
39
|
-
2. Run `git log --oneline -5` to see recent commit style
|
|
40
|
-
3. Stage relevant files with `git add`
|
|
41
|
-
4. Create commit with descriptive message
|
|
42
|
-
5. Verify with `git status`
|
|
43
|
-
|
|
44
|
-
## Example
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
git add <files>
|
|
48
|
-
git commit -m "feat(#123): add validation to user input form"
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Atomic Commit Approach
|
|
52
|
-
|
|
53
|
-
Each commit should represent ONE logical change. Do NOT bundle multiple unrelated changes into one commit.
|
|
54
|
-
|
|
55
|
-
- Identify the smallest atomic units of change
|
|
56
|
-
- For EACH atomic unit: stage only those files/hunks, commit, verify
|
|
57
|
-
- Use `git add -p` to stage partial file changes when a file contains multiple logical changes
|
|
58
|
-
- Repeat until all changes are committed
|
|
59
|
-
- It is OK to create multiple commits without stopping - keep going until `git status` shows clean
|
|
60
|
-
|
|
61
|
-
## Multi-Commit Example
|
|
62
|
-
|
|
63
|
-
If a single file contains multiple unrelated changes, use `git add -p` to stage hunks interactively:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
# Stage only the validation-related hunks from the file
|
|
67
|
-
git add -p src/user-service.ts
|
|
68
|
-
# Select 'y' for validation hunks, 'n' for others
|
|
69
|
-
git commit -m "feat(#123): add email format validation"
|
|
70
|
-
|
|
71
|
-
# Stage the error handling hunks
|
|
72
|
-
git add -p src/user-service.ts
|
|
73
|
-
git commit -m "fix(#124): handle null user gracefully"
|
|
74
|
-
|
|
75
|
-
# Stage remaining changes
|
|
76
|
-
git add src/user-service.ts
|
|
77
|
-
git commit -m "refactor: extract user lookup to helper"
|
|
78
|
-
```
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Code review using dynamic category detection and domain-specific analysis
|
|
3
|
-
argument-hint: (optional) [branch, PR#, or PR URL] - defaults to current branch
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## General Guidelines
|
|
7
|
-
|
|
8
|
-
### Output Style
|
|
9
|
-
|
|
10
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
11
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
12
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
13
|
-
|
|
14
|
-
Beads is available for task tracking. Use `mcp__beads__*` tools to manage issues (the user interacts via `bd` commands).
|
|
15
|
-
|
|
16
|
-
# Code Review
|
|
17
|
-
|
|
18
|
-
Perform a code review using dynamic category detection.
|
|
19
|
-
|
|
20
|
-
## Phase 0: Setup & Categorization
|
|
21
|
-
|
|
22
|
-
### Determine What to Review
|
|
23
|
-
|
|
24
|
-
Parse the argument to determine the review target:
|
|
25
|
-
|
|
26
|
-
| Input | Action |
|
|
27
|
-
|-------|--------|
|
|
28
|
-
| No argument | Detect divergence point, confirm scope with user |
|
|
29
|
-
| Branch name | Use specified branch as base |
|
|
30
|
-
| PR number (e.g., `123`) | Fetch PR diff from GitHub |
|
|
31
|
-
| PR URL (e.g., `https://github.com/owner/repo/pull/123`) | Extract PR number and fetch diff |
|
|
32
|
-
|
|
33
|
-
**For GitHub PRs:**
|
|
34
|
-
|
|
35
|
-
1. Try GitHub MCP first: `mcp__github__pull_request_read` with `method: "get_diff"`
|
|
36
|
-
2. Fall back to `gh` CLI: `gh pr diff <number>`
|
|
37
|
-
3. If neither works, report error and stop
|
|
38
|
-
|
|
39
|
-
**For local branches (no argument or branch name provided):**
|
|
40
|
-
|
|
41
|
-
1. **Get current branch**: `git rev-parse --abbrev-ref HEAD`
|
|
42
|
-
|
|
43
|
-
2. **Check for uncommitted changes**: `git status --porcelain`
|
|
44
|
-
- If output is non-empty, note that uncommitted changes exist
|
|
45
|
-
|
|
46
|
-
3. **Detect divergence point** (skip if branch name was provided as argument):
|
|
47
|
-
- Get all local branches except current: `git branch --format='%(refname:short)'`
|
|
48
|
-
- For each branch, find merge-base: `git merge-base HEAD <branch>`
|
|
49
|
-
- Count commits from merge-base to HEAD: `git rev-list --count <merge-base>..HEAD`
|
|
50
|
-
- The branch with the **fewest commits back** (closest merge-base) is the likely parent
|
|
51
|
-
- If no other branches exist, fall back to `main`, `master`, or `develop` if they exist as remote tracking branches
|
|
52
|
-
|
|
53
|
-
4. **Confirm scope with user** using `AskUserQuestion`:
|
|
54
|
-
|
|
55
|
-
**Question 1 - "Review scope"** (header: "Base branch"):
|
|
56
|
-
- Option A: `From <detected-branch>` — "Review N commits since diverging from <branch>"
|
|
57
|
-
- Option B: `Different branch` — "Specify another branch to compare against"
|
|
58
|
-
- Option C: `Uncommitted only` — "Review only staged/unstaged changes, skip committed work"
|
|
59
|
-
|
|
60
|
-
**Question 2 - "Include uncommitted?"** (header: "Uncommitted", only ask if uncommitted changes exist AND user didn't pick option C):
|
|
61
|
-
- Option A: `Yes` — "Include N staged/unstaged files in review"
|
|
62
|
-
- Option B: `No` — "Review only committed changes"
|
|
63
|
-
|
|
64
|
-
5. **Collect changed files** based on user selection:
|
|
65
|
-
- From branch: `git diff --name-only <base>...HEAD`
|
|
66
|
-
- Uncommitted unstaged: `git diff --name-only`
|
|
67
|
-
- Uncommitted staged: `git diff --name-only --cached`
|
|
68
|
-
- Combine and deduplicate the file list
|
|
69
|
-
|
|
70
|
-
6. **If no changes**: Report "Nothing to review" and stop
|
|
71
|
-
|
|
72
|
-
### Categorize Files
|
|
73
|
-
|
|
74
|
-
Check for CLAUDE.md - if it exists, note any project-specific review patterns.
|
|
75
|
-
|
|
76
|
-
Categorize each changed file into ONE primary category based on these patterns:
|
|
77
|
-
|
|
78
|
-
| Category | File Patterns |
|
|
79
|
-
|----------|---------------|
|
|
80
|
-
| Frontend/UI | `*.tsx`, `*.jsx`, `components/`, `pages/`, `views/`, `*.vue` |
|
|
81
|
-
| Frontend/Styling | `*.css`, `*.scss`, `*.less`, `styles/`, `*.tailwind*`, `*.styled.*` |
|
|
82
|
-
| Backend/API | `routes/`, `api/`, `controllers/`, `services/`, `*.controller.*`, `*.service.*`, `*.resolver.*` |
|
|
83
|
-
| Backend/Data | `migrations/`, `models/`, `prisma/`, `schema.*`, `*.model.*`, `*.entity.*` |
|
|
84
|
-
| Tooling/Config | `scripts/`, `*.config.*`, `package.json`, `tsconfig.*`, `vite.*`, `webpack.*`, `eslint.*` |
|
|
85
|
-
| CI/CD | `.github/`, `.gitlab-ci.*`, `Dockerfile`, `docker-compose.*`, `*.yml` in CI paths |
|
|
86
|
-
| Tests | `*.test.*`, `*.spec.*`, `__tests__/`, `__mocks__/`, `*.stories.*` |
|
|
87
|
-
| Docs | `*.md`, `docs/`, `README*`, `CHANGELOG*` |
|
|
88
|
-
|
|
89
|
-
Output the categorization:
|
|
90
|
-
|
|
91
|
-
```
|
|
92
|
-
## Categorization
|
|
93
|
-
|
|
94
|
-
Base branch: <branch>
|
|
95
|
-
Total files changed: <n>
|
|
96
|
-
|
|
97
|
-
| Category | Files |
|
|
98
|
-
|----------|-------|
|
|
99
|
-
| <category> | <count> |
|
|
100
|
-
...
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Phase 1: Branch Brief
|
|
104
|
-
|
|
105
|
-
From the diff and recent commit messages (`git log <base>...HEAD --oneline`), infer:
|
|
106
|
-
|
|
107
|
-
- **Goal**: What this branch accomplishes (1-3 sentences)
|
|
108
|
-
- **Constraints**: Any implied requirements (security, performance, backwards compatibility)
|
|
109
|
-
- **Success checklist**: What must work after this change, what must not break
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
## Branch Brief
|
|
113
|
-
|
|
114
|
-
**Goal**: ...
|
|
115
|
-
**Constraints**: ...
|
|
116
|
-
**Checklist**:
|
|
117
|
-
- [ ] ...
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## Phase 2: Category Reviews
|
|
121
|
-
|
|
122
|
-
For each detected category with changes, run a targeted review. Skip categories with no changes.
|
|
123
|
-
|
|
124
|
-
### Frontend/UI Review Criteria
|
|
125
|
-
|
|
126
|
-
- Accessibility: ARIA attributes, keyboard navigation, screen reader support
|
|
127
|
-
- Component patterns: Composition, prop drilling, context usage
|
|
128
|
-
- State management: Unnecessary re-renders, stale closures
|
|
129
|
-
- Performance: memo/useMemo/useCallback usage, lazy loading, bundle impact
|
|
130
|
-
|
|
131
|
-
### Frontend/Styling Review Criteria
|
|
132
|
-
|
|
133
|
-
- Responsive design: Breakpoints, mobile-first
|
|
134
|
-
- Design system: Token usage, consistent spacing/colors
|
|
135
|
-
- CSS specificity: Overly specific selectors, !important usage
|
|
136
|
-
- Theme support: Dark mode, CSS variables
|
|
137
|
-
|
|
138
|
-
### Backend/API Review Criteria
|
|
139
|
-
|
|
140
|
-
- Input validation: Sanitization, type checking, bounds
|
|
141
|
-
- Security: Authentication checks, authorization, injection risks
|
|
142
|
-
- Error handling: Proper status codes, meaningful messages, logging
|
|
143
|
-
- Performance: N+1 queries, missing indexes, pagination
|
|
144
|
-
|
|
145
|
-
### Backend/Data Review Criteria
|
|
146
|
-
|
|
147
|
-
- Migration safety: Reversibility, data preservation
|
|
148
|
-
- Data integrity: Constraints, foreign keys, nullability
|
|
149
|
-
- Index usage: Queries have appropriate indexes
|
|
150
|
-
- Backwards compatibility: Existing data still works
|
|
151
|
-
|
|
152
|
-
### Tooling/Config Review Criteria
|
|
153
|
-
|
|
154
|
-
- Breaking changes: Does this affect developer workflow?
|
|
155
|
-
- Dependency compatibility: Version conflicts, peer deps
|
|
156
|
-
- Build performance: Added build time, bundle size
|
|
157
|
-
|
|
158
|
-
### CI/CD Review Criteria
|
|
159
|
-
|
|
160
|
-
- Secrets exposure: Credentials in logs, env vars
|
|
161
|
-
- Pipeline efficiency: Caching, parallelization
|
|
162
|
-
- Failure handling: Notifications, rollback strategy
|
|
163
|
-
|
|
164
|
-
### Tests Review Criteria
|
|
165
|
-
|
|
166
|
-
#### FIRST Principles
|
|
167
|
-
|
|
168
|
-
| Principle | What to Check |
|
|
169
|
-
|-----------|---------------|
|
|
170
|
-
| **Fast** | Tests complete quickly, no I/O, no network calls, no sleep()/setTimeout delays |
|
|
171
|
-
| **Independent** | No shared mutable state, no execution order dependencies between tests |
|
|
172
|
-
| **Repeatable** | No Date.now(), no Math.random() without seeding, no external service dependencies |
|
|
173
|
-
| **Self-validating** | Meaningful assertions that verify behavior, no manual verification needed |
|
|
174
|
-
|
|
175
|
-
#### TDD Anti-patterns
|
|
176
|
-
|
|
177
|
-
| Anti-pattern | Detection Signals |
|
|
178
|
-
|--------------|-------------------|
|
|
179
|
-
| **The Liar** | `expect(true).toBe(true)`, empty test bodies, tests with no assertions |
|
|
180
|
-
| **Excessive Setup** | >20 lines of arrange code, >5 mocks, deep nested object construction |
|
|
181
|
-
| **The One** | >5 assertions testing unrelated behaviors in a single test |
|
|
182
|
-
| **The Peeping Tom** | Testing private methods, asserting on internal state, tests that break on any refactor |
|
|
183
|
-
| **The Slow Poke** | Real database/network calls, file I/O, hard-coded timeouts |
|
|
184
|
-
|
|
185
|
-
#### Test Structure (AAA Pattern)
|
|
186
|
-
|
|
187
|
-
- **Arrange**: Clear setup with minimal fixtures
|
|
188
|
-
- **Act**: Single action being tested
|
|
189
|
-
- **Assert**: Specific, behavior-focused assertions
|
|
190
|
-
|
|
191
|
-
### Docs Review Criteria
|
|
192
|
-
|
|
193
|
-
- Technical accuracy: Code examples work, APIs documented correctly
|
|
194
|
-
- Completeness: All new features documented
|
|
195
|
-
- Clarity: Easy to follow, good examples
|
|
196
|
-
|
|
197
|
-
**Output format per category:**
|
|
198
|
-
|
|
199
|
-
```
|
|
200
|
-
## <Category> Review (<n> files)
|
|
201
|
-
|
|
202
|
-
### file:line - [blocker|risky|nit] Title
|
|
203
|
-
Description of the issue and why it matters.
|
|
204
|
-
Suggested fix or question to investigate.
|
|
205
|
-
|
|
206
|
-
...
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
## Phase 3: Cross-Cutting Analysis
|
|
210
|
-
|
|
211
|
-
After reviewing all categories, check for cross-cutting issues:
|
|
212
|
-
|
|
213
|
-
- API changed but tests didn't update?
|
|
214
|
-
- New feature but no documentation?
|
|
215
|
-
- Migration added but no rollback tested?
|
|
216
|
-
- Config changed but README not updated?
|
|
217
|
-
- Security-sensitive code without corresponding test?
|
|
218
|
-
|
|
219
|
-
```
|
|
220
|
-
## Cross-Cutting Issues
|
|
221
|
-
|
|
222
|
-
- [ ] <issue description>
|
|
223
|
-
...
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
## Phase 4: Summary
|
|
227
|
-
|
|
228
|
-
### PR Description (draft)
|
|
229
|
-
|
|
230
|
-
Provide a ready-to-paste PR description:
|
|
231
|
-
|
|
232
|
-
```
|
|
233
|
-
## What changed
|
|
234
|
-
- <by category, 1-2 bullets each>
|
|
235
|
-
|
|
236
|
-
## Why
|
|
237
|
-
- <motivation>
|
|
238
|
-
|
|
239
|
-
## Testing
|
|
240
|
-
- <how to verify>
|
|
241
|
-
|
|
242
|
-
## Notes
|
|
243
|
-
- <migration steps, breaking changes, etc.>
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
### Review Checklist
|
|
247
|
-
|
|
248
|
-
```
|
|
249
|
-
## Before Merge
|
|
250
|
-
|
|
251
|
-
### Blockers (must fix)
|
|
252
|
-
- [ ] ...
|
|
253
|
-
|
|
254
|
-
### Risky (highlight to reviewers)
|
|
255
|
-
- [ ] ...
|
|
256
|
-
|
|
257
|
-
### Follow-ups (can defer)
|
|
258
|
-
- [ ] ...
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
Review target (branch name, PR number, or PR URL - leave empty for current branch): $ARGUMENTS
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"add-command.md": {
|
|
3
|
-
"description": "Guide for creating new slash commands",
|
|
4
|
-
"hint": "Create command",
|
|
5
|
-
"category": "Utilities",
|
|
6
|
-
"order": 3
|
|
7
|
-
},
|
|
8
|
-
"ask.md": {
|
|
9
|
-
"description": "Request team review and approval - for complex changes needing discussion",
|
|
10
|
-
"hint": "Request review",
|
|
11
|
-
"category": "Ship / Show / Ask",
|
|
12
|
-
"order": 3,
|
|
13
|
-
"selectedByDefault": false
|
|
14
|
-
},
|
|
15
|
-
"beepboop.md": {
|
|
16
|
-
"description": "Communicate AI-generated content with transparent attribution",
|
|
17
|
-
"hint": "AI attribution",
|
|
18
|
-
"category": "Utilities",
|
|
19
|
-
"order": 2
|
|
20
|
-
},
|
|
21
|
-
"busycommit.md": {
|
|
22
|
-
"description": "Create multiple atomic git commits, one logical change at a time",
|
|
23
|
-
"hint": "Atomic commits",
|
|
24
|
-
"category": "Workflow",
|
|
25
|
-
"order": 2
|
|
26
|
-
},
|
|
27
|
-
"code-review.md": {
|
|
28
|
-
"description": "Code review using dynamic category detection and domain-specific analysis",
|
|
29
|
-
"hint": "Review code",
|
|
30
|
-
"category": "Workflow",
|
|
31
|
-
"order": 35,
|
|
32
|
-
"_requested-tools": [
|
|
33
|
-
"Bash(git diff:*)",
|
|
34
|
-
"Bash(git status:*)",
|
|
35
|
-
"Bash(git log:*)",
|
|
36
|
-
"Bash(git rev-parse:*)",
|
|
37
|
-
"Bash(git merge-base:*)",
|
|
38
|
-
"Bash(git branch:*)"
|
|
39
|
-
]
|
|
40
|
-
},
|
|
41
|
-
"commit.md": {
|
|
42
|
-
"description": "Create a git commit following project standards",
|
|
43
|
-
"hint": "Git commit",
|
|
44
|
-
"category": "Workflow",
|
|
45
|
-
"order": 1
|
|
46
|
-
},
|
|
47
|
-
"cycle.md": {
|
|
48
|
-
"description": "Execute complete TDD cycle - Red, Green, and Refactor phases in sequence",
|
|
49
|
-
"hint": "Full TDD cycle",
|
|
50
|
-
"category": "Test-Driven Development",
|
|
51
|
-
"order": 5
|
|
52
|
-
},
|
|
53
|
-
"gap.md": {
|
|
54
|
-
"description": "Analyze conversation context for unaddressed items and gaps",
|
|
55
|
-
"hint": "Find gaps",
|
|
56
|
-
"category": "Workflow",
|
|
57
|
-
"order": 11
|
|
58
|
-
},
|
|
59
|
-
"green.md": {
|
|
60
|
-
"description": "Execute TDD Green Phase - write minimal implementation to pass the failing test",
|
|
61
|
-
"hint": "Make it pass",
|
|
62
|
-
"category": "Test-Driven Development",
|
|
63
|
-
"order": 3
|
|
64
|
-
},
|
|
65
|
-
"issue.md": {
|
|
66
|
-
"description": "Analyze GitHub issue and create TDD implementation plan",
|
|
67
|
-
"hint": "Analyze issue",
|
|
68
|
-
"category": "Planning",
|
|
69
|
-
"order": 1
|
|
70
|
-
},
|
|
71
|
-
"kata.md": {
|
|
72
|
-
"description": "Generate a TDD practice challenge with boilerplate test setup",
|
|
73
|
-
"hint": "Practice kata",
|
|
74
|
-
"category": "Utilities",
|
|
75
|
-
"order": 10,
|
|
76
|
-
"_requested-tools": [
|
|
77
|
-
"WebFetch(domain:raw.githubusercontent.com)",
|
|
78
|
-
"WebFetch(domain:api.github.com)"
|
|
79
|
-
]
|
|
80
|
-
},
|
|
81
|
-
"plan.md": {
|
|
82
|
-
"description": "Create implementation plan from feature/requirement with PRD-style discovery and TDD acceptance criteria",
|
|
83
|
-
"hint": "Plan feature",
|
|
84
|
-
"category": "Planning",
|
|
85
|
-
"order": 2
|
|
86
|
-
},
|
|
87
|
-
"pr.md": {
|
|
88
|
-
"description": "Creates a pull request using GitHub MCP",
|
|
89
|
-
"hint": "Create PR",
|
|
90
|
-
"category": "Workflow",
|
|
91
|
-
"order": 5
|
|
92
|
-
},
|
|
93
|
-
"red.md": {
|
|
94
|
-
"description": "Execute TDD Red Phase - write ONE failing test",
|
|
95
|
-
"hint": "Failing test",
|
|
96
|
-
"category": "Test-Driven Development",
|
|
97
|
-
"order": 2
|
|
98
|
-
},
|
|
99
|
-
"refactor.md": {
|
|
100
|
-
"description": "Execute TDD Refactor Phase - improve code structure while keeping tests green",
|
|
101
|
-
"hint": "Clean up code",
|
|
102
|
-
"category": "Test-Driven Development",
|
|
103
|
-
"order": 4
|
|
104
|
-
},
|
|
105
|
-
"ship.md": {
|
|
106
|
-
"description": "Ship code directly to main - for small, obvious changes that don't need review",
|
|
107
|
-
"hint": "Direct to main",
|
|
108
|
-
"category": "Ship / Show / Ask",
|
|
109
|
-
"order": 1,
|
|
110
|
-
"selectedByDefault": false
|
|
111
|
-
},
|
|
112
|
-
"show.md": {
|
|
113
|
-
"description": "Show code to team with auto-merge - for changes that should be visible but don't need approval",
|
|
114
|
-
"hint": "Auto-merge PR",
|
|
115
|
-
"category": "Ship / Show / Ask",
|
|
116
|
-
"order": 2,
|
|
117
|
-
"selectedByDefault": false
|
|
118
|
-
},
|
|
119
|
-
"spike.md": {
|
|
120
|
-
"description": "Execute TDD Spike Phase - exploratory coding to understand problem space before TDD",
|
|
121
|
-
"hint": "Explore first",
|
|
122
|
-
"category": "Test-Driven Development",
|
|
123
|
-
"order": 1
|
|
124
|
-
},
|
|
125
|
-
"summarize.md": {
|
|
126
|
-
"description": "Summarize conversation progress and next steps",
|
|
127
|
-
"hint": "Summarize chat",
|
|
128
|
-
"category": "Workflow",
|
|
129
|
-
"order": 10
|
|
130
|
-
},
|
|
131
|
-
"tdd-review.md": {
|
|
132
|
-
"description": "Review test suite quality against FIRST principles and TDD anti-patterns",
|
|
133
|
-
"hint": "Review tests",
|
|
134
|
-
"category": "Test-Driven Development",
|
|
135
|
-
"order": 45
|
|
136
|
-
},
|
|
137
|
-
"tdd.md": {
|
|
138
|
-
"description": "Remind agent about TDD approach and continue conversation",
|
|
139
|
-
"hint": "TDD reminder",
|
|
140
|
-
"category": "Test-Driven Development",
|
|
141
|
-
"order": 1
|
|
142
|
-
},
|
|
143
|
-
"worktree-add.md": {
|
|
144
|
-
"description": "Add a new git worktree from branch name or issue URL, copy settings, install deps, and open in current IDE",
|
|
145
|
-
"hint": "Add worktree",
|
|
146
|
-
"category": "Worktree Management",
|
|
147
|
-
"order": 1
|
|
148
|
-
},
|
|
149
|
-
"worktree-cleanup.md": {
|
|
150
|
-
"description": "Clean up merged worktrees by verifying PR/issue status, consolidating settings, and removing stale worktrees",
|
|
151
|
-
"hint": "Cleanup worktree",
|
|
152
|
-
"category": "Worktree Management",
|
|
153
|
-
"order": 2
|
|
154
|
-
}
|
|
155
|
-
}
|