forge-workflow 0.0.4 → 0.0.6

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.
Files changed (248) hide show
  1. package/.claude/commands/dev.md +345 -340
  2. package/.claude/commands/plan.md +566 -521
  3. package/.claude/commands/premerge.md +186 -176
  4. package/.claude/commands/research.md +42 -42
  5. package/.claude/commands/review.md +448 -442
  6. package/.claude/commands/rollback.md +721 -721
  7. package/.claude/commands/ship.md +212 -164
  8. package/.claude/commands/sonarcloud.md +152 -152
  9. package/.claude/commands/status.md +90 -48
  10. package/.claude/commands/validate.md +288 -282
  11. package/.claude/commands/verify.md +269 -221
  12. package/.claude/rules/greptile-review-process.md +285 -285
  13. package/.claude/rules/workflow.md +121 -105
  14. package/.claude/scripts/greptile-resolve.sh +558 -526
  15. package/.claude/scripts/load-env.sh +32 -32
  16. package/.cline/workflows/dev.md +342 -337
  17. package/.cline/workflows/plan.md +563 -518
  18. package/.cline/workflows/premerge.md +183 -173
  19. package/.cline/workflows/research.md +39 -39
  20. package/.cline/workflows/review.md +445 -439
  21. package/.cline/workflows/rollback.md +718 -718
  22. package/.cline/workflows/ship.md +209 -161
  23. package/.cline/workflows/sonarcloud.md +146 -146
  24. package/.cline/workflows/status.md +87 -45
  25. package/.cline/workflows/validate.md +285 -279
  26. package/.cline/workflows/verify.md +266 -218
  27. package/.codex/config.toml +11 -11
  28. package/.codex/skills/dev/SKILL.md +345 -340
  29. package/.codex/skills/plan/SKILL.md +566 -521
  30. package/.codex/skills/premerge/SKILL.md +186 -176
  31. package/.codex/skills/research/SKILL.md +42 -42
  32. package/.codex/skills/review/SKILL.md +448 -442
  33. package/.codex/skills/rollback/SKILL.md +721 -721
  34. package/.codex/skills/ship/SKILL.md +212 -164
  35. package/.codex/skills/sonarcloud/SKILL.md +149 -149
  36. package/.codex/skills/status/SKILL.md +90 -48
  37. package/.codex/skills/validate/SKILL.md +288 -282
  38. package/.codex/skills/verify/SKILL.md +269 -221
  39. package/.cursor/commands/dev.md +342 -337
  40. package/.cursor/commands/plan.md +563 -518
  41. package/.cursor/commands/premerge.md +183 -173
  42. package/.cursor/commands/research.md +39 -39
  43. package/.cursor/commands/review.md +445 -439
  44. package/.cursor/commands/rollback.md +718 -718
  45. package/.cursor/commands/ship.md +209 -161
  46. package/.cursor/commands/sonarcloud.md +146 -146
  47. package/.cursor/commands/status.md +87 -45
  48. package/.cursor/commands/validate.md +285 -279
  49. package/.cursor/commands/verify.md +266 -218
  50. package/.cursor/rules/permissions-guidance.mdc +37 -37
  51. package/.forge/hooks/check-tdd.js +240 -240
  52. package/.github/PLUGIN_TEMPLATE.json +32 -32
  53. package/.github/prompts/dev.prompt.md +347 -342
  54. package/.github/prompts/plan.prompt.md +568 -523
  55. package/.github/prompts/premerge.prompt.md +188 -178
  56. package/.github/prompts/research.prompt.md +44 -44
  57. package/.github/prompts/review.prompt.md +450 -444
  58. package/.github/prompts/rollback.prompt.md +723 -723
  59. package/.github/prompts/ship.prompt.md +214 -166
  60. package/.github/prompts/sonarcloud.prompt.md +151 -151
  61. package/.github/prompts/status.prompt.md +92 -50
  62. package/.github/prompts/validate.prompt.md +290 -284
  63. package/.github/prompts/verify.prompt.md +271 -223
  64. package/.github/workflows/beads-to-github.yml +56 -0
  65. package/.github/workflows/github-to-beads.yml +97 -0
  66. package/.kilocode/workflows/dev.md +346 -341
  67. package/.kilocode/workflows/plan.md +567 -522
  68. package/.kilocode/workflows/premerge.md +187 -177
  69. package/.kilocode/workflows/research.md +43 -43
  70. package/.kilocode/workflows/review.md +449 -443
  71. package/.kilocode/workflows/rollback.md +722 -722
  72. package/.kilocode/workflows/ship.md +213 -165
  73. package/.kilocode/workflows/sonarcloud.md +150 -150
  74. package/.kilocode/workflows/status.md +91 -49
  75. package/.kilocode/workflows/validate.md +289 -283
  76. package/.kilocode/workflows/verify.md +270 -222
  77. package/.mcp.json.example +12 -12
  78. package/.opencode/commands/dev.md +345 -340
  79. package/.opencode/commands/plan.md +566 -521
  80. package/.opencode/commands/premerge.md +186 -176
  81. package/.opencode/commands/research.md +42 -42
  82. package/.opencode/commands/review.md +448 -442
  83. package/.opencode/commands/rollback.md +721 -721
  84. package/.opencode/commands/ship.md +212 -164
  85. package/.opencode/commands/sonarcloud.md +149 -149
  86. package/.opencode/commands/status.md +90 -48
  87. package/.opencode/commands/validate.md +288 -282
  88. package/.opencode/commands/verify.md +269 -221
  89. package/.roo/commands/dev.md +346 -341
  90. package/.roo/commands/plan.md +567 -522
  91. package/.roo/commands/premerge.md +187 -177
  92. package/.roo/commands/research.md +43 -43
  93. package/.roo/commands/review.md +449 -443
  94. package/.roo/commands/rollback.md +722 -722
  95. package/.roo/commands/ship.md +213 -165
  96. package/.roo/commands/sonarcloud.md +150 -150
  97. package/.roo/commands/status.md +91 -49
  98. package/.roo/commands/validate.md +289 -283
  99. package/.roo/commands/verify.md +270 -222
  100. package/AGENTS.md +272 -175
  101. package/CLAUDE.md +110 -100
  102. package/README.md +429 -416
  103. package/bin/forge-cmd.js +317 -313
  104. package/bin/forge-preflight.js +322 -309
  105. package/bin/forge.js +4765 -4303
  106. package/docs/AGENT_INSTALL_PROMPT.md +342 -342
  107. package/docs/BEADS_GITHUB_SYNC.md +251 -251
  108. package/docs/ENHANCED_ONBOARDING.md +612 -602
  109. package/docs/EXAMPLES.md +482 -482
  110. package/docs/GREPTILE_SETUP.md +400 -400
  111. package/docs/MANUAL_REVIEW_GUIDE.md +106 -106
  112. package/docs/ROADMAP.md +359 -359
  113. package/docs/SETUP.md +663 -631
  114. package/docs/TOOLCHAIN.md +653 -630
  115. package/docs/VALIDATION.md +363 -363
  116. package/install.sh +40 -1056
  117. package/lefthook.yml +50 -39
  118. package/lib/agents/README.md +198 -198
  119. package/lib/agents/claude.plugin.json +28 -28
  120. package/lib/agents/cline.plugin.json +22 -22
  121. package/lib/agents/codex.plugin.json +19 -19
  122. package/lib/agents/copilot.plugin.json +24 -24
  123. package/lib/agents/cursor.plugin.json +25 -25
  124. package/lib/agents/kilocode.plugin.json +22 -22
  125. package/lib/agents/opencode.plugin.json +20 -20
  126. package/lib/agents/roo.plugin.json +23 -23
  127. package/lib/agents-config.js +2112 -2112
  128. package/lib/beads-health-check.js +143 -0
  129. package/lib/beads-setup.js +341 -0
  130. package/lib/beads-sync-scaffold.js +260 -0
  131. package/lib/commands/_registry.js +134 -0
  132. package/lib/commands/clean.js +181 -0
  133. package/lib/commands/dev.js +571 -513
  134. package/lib/commands/plan.js +692 -692
  135. package/lib/commands/push.js +196 -0
  136. package/lib/commands/recommend.js +119 -119
  137. package/lib/commands/ship.js +377 -377
  138. package/lib/commands/status.js +378 -378
  139. package/lib/commands/sync.js +55 -0
  140. package/lib/commands/team.js +37 -0
  141. package/lib/commands/test.js +207 -0
  142. package/lib/commands/validate.js +602 -602
  143. package/lib/commands/worktree.js +310 -0
  144. package/lib/context-merge.js +359 -359
  145. package/lib/dep-guard/analyzer.js +294 -294
  146. package/lib/dep-guard/behavior-detector.js +98 -98
  147. package/lib/dep-guard/contract-detector.js +162 -162
  148. package/lib/dep-guard/import-detector.js +498 -498
  149. package/lib/dep-guard/path-utils.js +13 -13
  150. package/lib/dep-guard/rubric.js +120 -120
  151. package/lib/dep-guard/task-parser.js +318 -318
  152. package/lib/detect-agent.js +191 -191
  153. package/lib/detect-worktree.js +47 -47
  154. package/lib/docs-command.js +51 -0
  155. package/lib/docs-copy.js +50 -0
  156. package/lib/file-hash.js +26 -26
  157. package/lib/freshness-token.js +148 -0
  158. package/lib/greptile-match.js +80 -0
  159. package/lib/husky-migration.js +450 -0
  160. package/lib/lefthook-check.js +65 -0
  161. package/lib/pat-setup.js +207 -0
  162. package/lib/plugin-catalog.js +350 -350
  163. package/lib/plugin-manager.js +166 -166
  164. package/lib/plugin-recommender.js +141 -141
  165. package/lib/project-discovery.js +491 -491
  166. package/lib/reset.js +309 -0
  167. package/lib/setup-action-log.js +139 -139
  168. package/lib/setup-summary-renderer.js +106 -106
  169. package/lib/setup-utils.js +96 -0
  170. package/lib/setup.js +192 -192
  171. package/lib/smart-merge.js +64 -0
  172. package/lib/symlink-utils.js +81 -0
  173. package/lib/task-ownership.js +117 -0
  174. package/lib/workflow-profiles.js +197 -197
  175. package/package.json +131 -128
  176. package/scripts/beads-context.sh +426 -0
  177. package/scripts/beads-context.test.js +567 -0
  178. package/scripts/behavioral-judge.sh +378 -0
  179. package/scripts/benchmark.js +85 -0
  180. package/scripts/branch-protection.js +183 -0
  181. package/scripts/check-agents.js +172 -0
  182. package/scripts/check-forge-token.js +98 -0
  183. package/scripts/commitlint.js +42 -0
  184. package/scripts/conflict-detect.sh +323 -0
  185. package/scripts/dep-guard-analyze.js +71 -0
  186. package/scripts/dep-guard.sh +789 -0
  187. package/scripts/eval_win.py +249 -0
  188. package/scripts/file-index.sh +493 -0
  189. package/scripts/forge-team/index.sh +86 -0
  190. package/scripts/forge-team/lib/agent-prompt.sh +52 -0
  191. package/scripts/forge-team/lib/claim.sh +256 -0
  192. package/scripts/forge-team/lib/dashboard.sh +341 -0
  193. package/scripts/forge-team/lib/epic.sh +332 -0
  194. package/scripts/forge-team/lib/hooks.sh +253 -0
  195. package/scripts/forge-team/lib/identity.sh +235 -0
  196. package/scripts/forge-team/lib/sync-github.sh +317 -0
  197. package/scripts/forge-team/lib/verify.sh +284 -0
  198. package/scripts/forge-team/lib/workload.sh +296 -0
  199. package/scripts/forge-team/tests/agent-prompt.test.sh +72 -0
  200. package/scripts/forge-team/tests/claim.test.sh +179 -0
  201. package/scripts/forge-team/tests/dashboard.test.sh +170 -0
  202. package/scripts/forge-team/tests/dispatcher.test.sh +79 -0
  203. package/scripts/forge-team/tests/epic.test.sh +176 -0
  204. package/scripts/forge-team/tests/hooks.test.sh +239 -0
  205. package/scripts/forge-team/tests/identity.test.sh +176 -0
  206. package/scripts/forge-team/tests/integration.test.sh +371 -0
  207. package/scripts/forge-team/tests/sync-github.test.sh +209 -0
  208. package/scripts/forge-team/tests/verify.test.sh +314 -0
  209. package/scripts/forge-team/tests/workflow-integration.test.sh +43 -0
  210. package/scripts/forge-team/tests/workload.test.sh +209 -0
  211. package/scripts/github-beads-sync/comment.mjs +64 -0
  212. package/scripts/github-beads-sync/config.mjs +148 -0
  213. package/scripts/github-beads-sync/github-api.mjs +131 -0
  214. package/scripts/github-beads-sync/index.mjs +332 -0
  215. package/scripts/github-beads-sync/label-mapper.mjs +54 -0
  216. package/scripts/github-beads-sync/mapping.mjs +78 -0
  217. package/scripts/github-beads-sync/reverse-sync-cli.mjs +31 -0
  218. package/scripts/github-beads-sync/reverse-sync.mjs +138 -0
  219. package/scripts/github-beads-sync/run-bd.mjs +159 -0
  220. package/scripts/github-beads-sync/sanitize.mjs +121 -0
  221. package/scripts/github-beads-sync.config.json +26 -0
  222. package/scripts/improve-command.js +375 -0
  223. package/scripts/lib/eval-runner.js +268 -0
  224. package/scripts/lib/eval-schema.js +135 -0
  225. package/scripts/lib/eval-storage.js +78 -0
  226. package/scripts/lib/grading.js +203 -0
  227. package/scripts/lib/jsonl-lock.sh +48 -0
  228. package/scripts/lib/sanitize.sh +116 -0
  229. package/scripts/lib/transcript-parser.js +63 -0
  230. package/scripts/lint.js +47 -0
  231. package/scripts/migrate-to-bun-test.js +412 -0
  232. package/scripts/pr-coordinator.sh +706 -0
  233. package/scripts/run-command-eval.js +236 -0
  234. package/scripts/smart-status.sh +809 -0
  235. package/scripts/sync-commands.js +571 -0
  236. package/scripts/sync-utils.sh +455 -0
  237. package/scripts/test-dashboard.js +123 -0
  238. package/scripts/test.js +46 -0
  239. package/scripts/validate.sh +94 -0
  240. package/skills/parallel-deep-research/SKILL.md +108 -108
  241. package/skills/parallel-deep-research/evals/README.md +27 -27
  242. package/skills/parallel-deep-research/evals/evals.json +62 -62
  243. package/skills/sonarcloud-analysis/SKILL.md +171 -171
  244. package/skills/sonarcloud-analysis/evals/README.md +27 -27
  245. package/skills/sonarcloud-analysis/evals/evals.json +50 -50
  246. package/skills/sonarcloud-analysis/references/api-reference.md +466 -466
  247. package/.cursor/hooks/state/continual-learning-index.json +0 -19
  248. package/.cursor/hooks/state/continual-learning.json +0 -8
@@ -1,439 +1,445 @@
1
-
2
- Process ALL pull request issues including GitHub Actions failures, Greptile inline comments, SonarCloud analysis, and other CI/CD checks.
3
-
4
- # Review
5
-
6
- This command handles ALL issues that arise after creating a pull request.
7
-
8
- ## Usage
9
-
10
- ```bash
11
- /review <pr-number>
12
- ```
13
-
14
- ## What This Command Does
15
-
16
- ### Step 1: Fetch Complete PR Status
17
- ```bash
18
- # Get full PR details including all checks
19
- gh pr view <pr-number> --json number,url,isDraft,reviews,statusCheckRollup,comments
20
-
21
- # Check individual status checks
22
- gh pr checks <pr-number>
23
- ```
24
-
25
- Review ALL status checks:
26
- - GitHub Actions workflows
27
- - Greptile code review (inline comments + summary)
28
- - SonarCloud quality gate
29
- - Any other CI/CD integrations
30
- - Vercel deployments
31
- - Security scanners
32
-
33
- ### Step 2: Address GitHub Actions Failures
34
-
35
- If any GitHub Actions workflows fail:
36
-
37
- ```bash
38
- # View failed workflow logs
39
- gh run view <run-id> --log-failed
40
-
41
- # Identify failure cause:
42
- # - Build failures
43
- # - Test failures
44
- # - Lint/type check failures
45
- # - Deployment failures
46
- # - Security scan failures
47
- ```
48
-
49
- **For each failure**:
50
- 1. **Analyze the error**: Read logs to understand root cause
51
- 2. **Fix the issue**: Make necessary code changes
52
- 3. **Re-run checks**: GitHub Actions will auto-rerun on push
53
- 4. **Document fix**: Note what was fixed in commit message
54
-
55
- **Common GitHub Actions Issues**:
56
- - Build failures: Missing dependencies, compilation errors
57
- - Test failures: Failing test cases (should not happen if /validate passed)
58
- - Lint failures: Code style violations
59
- - Type failures: TypeScript type errors
60
- - Deployment failures: Env vars, configuration issues
61
-
62
- ### Step 3: Process Greptile Review
63
-
64
- Greptile provides TWO types of feedback:
65
- 1. **Inline comments** on specific code lines
66
- 2. **Summary** with overall recommendations
67
-
68
- **IMPORTANT**: Use the **systematic Greptile resolution process** documented in `.claude/rules/greptile-review-process.md`. This process has been standardized to ensure:
69
- - All threads are replied to directly (not as separate PR comments)
70
- - All threads are marked as resolved after fixing
71
- - No manual tracking overhead for maintainers
72
-
73
- #### 3A. Check Greptile Inline Comments (Use Systematic Process)
74
-
75
- **Step 1: List all unresolved threads**
76
- ```bash
77
- bash .claude/scripts/greptile-resolve.sh list <pr-number> --unresolved
78
- ```
79
-
80
- This shows:
81
- - Thread ID (for resolving)
82
- - Comment ID (for replying)
83
- - File path and line number
84
- - Issue description
85
-
86
- **Step 2: For EACH unresolved thread:**
87
-
88
- 1. **Understand the issue**
89
- - Read the comment carefully
90
- - Check the file and line number
91
-
92
- 2. **Categorize the comment**:
93
- - **Valid**: Should be implemented (security issue, bug, clear improvement)
94
- - **Invalid**: Greptile misunderstood context
95
- - **Conflicting**: Contradicts research decisions with good reason
96
- - **Out of scope**: Valid but not for this PR
97
-
98
- 3. **Fix the issue** (if valid)
99
- - Make code changes
100
- - Commit with clear message
101
-
102
- 4. **Reply and resolve** (for ALL comments, even invalid ones)
103
- ```bash
104
- # For valid issues (fixed):
105
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
106
- "✅ Fixed: [description]
107
-
108
- Changed: [what was changed]
109
- Reason: [why this fixes the issue]
110
- Commit: [commit-sha]"
111
-
112
- # For invalid/conflicting issues:
113
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
114
- "This approach is correct because:
115
- - Reasoning: [from design doc]
116
- - Evidence: [link to source]
117
- - Alternative considered: [what Greptile suggested]
118
- - Why rejected: [specific reason]
119
-
120
- See: docs/plans/YYYY-MM-DD-<slug>-design.md (Decision #X)"
121
- ```
122
-
123
- **Step 3: Verify all resolved**
124
- ```bash
125
- bash .claude/scripts/greptile-resolve.sh stats <pr-number>
126
- ```
127
- Should show: "✓ All Greptile threads resolved!"
128
-
129
- **See complete process**: `.claude/rules/greptile-review-process.md`
130
-
131
- #### 3B. Check Greptile Summary
132
- ```bash
133
- # Greptile usually posts a summary comment on the PR
134
- # Review the overall assessment and recommendations
135
- ```
136
-
137
- The summary typically includes:
138
- - Overall code quality assessment
139
- - Key issues to address
140
- - Security concerns
141
- - Performance considerations
142
- - Best practice violations
143
-
144
- ### Step 4: Analyze SonarCloud (via sonarcloud skill)
145
-
146
- ```bash
147
- # Use sonarcloud skill to query PR-specific issues
148
- /sonarcloud
149
- ```
150
-
151
- **What SonarCloud does**: Static code analysis for quality, security, and maintainability
152
-
153
- **How it helps**:
154
- - Identifies code smells and technical debt
155
- - Finds security vulnerabilities (complementing OWASP Top 10)
156
- - Calculates code coverage
157
- - Tracks code duplication
158
- - Assesses maintainability
159
-
160
- **Query PR-specific data**:
161
- - Quality gate status (pass/fail)
162
- - New issues introduced in this PR
163
- - Security hotspots
164
- - Code coverage changes
165
- - Technical debt added
166
-
167
- **Prioritize issues**:
168
- 1. **Blocker/Critical**: Must fix before merge
169
- 2. **Major**: Should fix if valid
170
- 3. **Minor/Info**: Optional improvements
171
-
172
- ### Step 5: Check Other CI/CD Tools
173
-
174
- Review any other automated checks:
175
- - **Vercel**: Preview deployment successful?
176
- - **Security scanners**: Any vulnerabilities detected?
177
- - **Custom scripts**: Any failures?
178
- - **Dependency checks**: Outdated or vulnerable packages?
179
-
180
- ### Step 6: Categorize and Prioritize ALL Issues
181
-
182
- Create a master list of all issues from:
183
- - GitHub Actions failures
184
- - Greptile inline comments
185
- - Greptile summary recommendations
186
- - SonarCloud issues
187
- - Other CI/CD tool failures
188
-
189
- Prioritize by:
190
- 1. **Critical**: Blocks merge (failing tests, security vulnerabilities, build failures)
191
- 2. **High**: Should address (valid bugs, important improvements)
192
- 3. **Medium**: Optional but valuable (code quality, best practices)
193
- 4. **Low**: Nice to have (minor refactorings, style suggestions)
194
-
195
- ### Step 7: Address Issues Systematically
196
-
197
- For **GitHub Actions failures** (Critical):
198
- ```bash
199
- # Fix the issue
200
- # Commit with clear description
201
- git add .
202
- git commit -m "fix: resolve GitHub Actions failure in <workflow-name>
203
-
204
- - Fixed: [specific issue]
205
- - Root cause: [explanation]
206
- - Solution: [what was changed]"
207
-
208
- git push
209
- # Actions will auto-rerun
210
- ```
211
-
212
- For **Greptile inline comments** (Use Systematic Script):
213
- ```bash
214
- # Use the standardized Greptile resolution script
215
- # See .claude/rules/greptile-review-process.md for complete process
216
-
217
- # For valid comments (fixed):
218
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
219
- "✅ Fixed: [description]
220
-
221
- Changed: [what was changed]
222
- Reason: [why this fixes the issue]
223
- Commit: [commit-sha]"
224
-
225
- # For invalid/conflicting comments:
226
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
227
- "This approach is correct because:
228
- - Reasoning: [from design doc]
229
- - Evidence: [link to source]
230
- - Alternative considered: [what Greptile suggested]
231
- - Why rejected: [specific reason]
232
-
233
- See: docs/plans/YYYY-MM-DD-<slug>-design.md (Decision #X)"
234
-
235
- # Verify all threads resolved:
236
- bash .claude/scripts/greptile-resolve.sh stats <pr-number>
237
- ```
238
-
239
- For **Greptile summary recommendations**:
240
- ```bash
241
- # Add a PR comment addressing the summary
242
- gh pr comment <pr-number> --body "## Greptile Summary Response
243
-
244
- Addressed all key recommendations:
245
- - [Recommendation 1]: ✓ Fixed in commit <sha>
246
- - [Recommendation 2]: ✓ Explained (see inline response)
247
- - [Recommendation 3]: ⏭️ Out of scope for this PR (created issue bd-xxx)
248
-
249
- All critical and high-priority items resolved."
250
- ```
251
-
252
- For **SonarCloud issues** (via sonarcloud skill):
253
- ```bash
254
- # For critical/blocker issues: Fix immediately
255
- # For security vulnerabilities: Fix immediately
256
- # For code smells: Fix if valid, justify if not
257
-
258
- # After fixes, SonarCloud will re-analyze on next push
259
- ```
260
-
261
- For **other CI/CD failures**:
262
- ```bash
263
- # Debug the specific tool's logs
264
- # Fix the underlying issue
265
- # Commit and push
266
- # Verify the check passes
267
- ```
268
-
269
- ### Step 8: Commit ALL Fixes
270
-
271
- ```bash
272
- git add .
273
- git commit -m "fix: address ALL PR review feedback
274
-
275
- GitHub Actions:
276
- - Fixed: [list of workflow failures resolved]
277
-
278
- Greptile:
279
- - Fixed: [list of valid inline comments addressed]
280
- - Explained: [list of invalid comments with reasoning]
281
- - Summary: [key recommendations addressed]
282
-
283
- SonarCloud:
284
- - Fixed: [security vulnerabilities and critical issues]
285
- - Justified: [code smells that are intentional]
286
-
287
- Other CI/CD:
288
- - Fixed: [any other tool failures]
289
-
290
- All review feedback resolved, all checks passing."
291
-
292
- git push
293
- ```
294
-
295
- ### Step 9: Verify ALL Checks Pass
296
-
297
- ```bash
298
- # Wait for checks to complete
299
- gh pr checks <pr-number>
300
-
301
- # Ensure all status checks are green:
302
- # ✓ GitHub Actions workflows
303
- # ✓ Greptile review (no unresolved critical comments)
304
- # ✓ SonarCloud quality gate
305
- # ✓ Other CI/CD checks
306
- ```
307
-
308
- ### Step 10: Update Beads
309
-
310
- ```bash
311
- bd update <id> --comment "PR review complete: all issues addressed, all checks passing"
312
- bd sync
313
- ```
314
-
315
- ## Example Output
316
-
317
- ```
318
- ✓ GitHub Actions: 3 workflows
319
- - Build: ✓ Passing (was failing, fixed missing dependency)
320
- - Tests: ✓ Passing
321
- - Deploy Preview: ✓ Passing
322
-
323
- ✓ Greptile Review:
324
- Inline Comments: 8 total
325
- - Valid: 5 → Fixed & replied inline
326
- - Invalid: 2 → Explained with research evidence & replied inline
327
- - Out of scope: 1 → Noted for future work & replied inline
328
- - All marked resolved ✓
329
-
330
- Summary:
331
- - Key recommendations: 3/3 addressed
332
- - Overall assessment: Ready for merge
333
- - Posted summary response comment ✓
334
-
335
- ✓ SonarCloud (via sonarcloud skill):
336
- Quality Gate: ✓ Passing
337
- Issues: 3 total
338
- - Security: 1 → Fixed (SQL injection risk)
339
- - Code smells: 2 → 1 fixed, 1 justified
340
- - Coverage: Maintained at 85%
341
-
342
- ✓ Vercel Preview: ✓ Deployed successfully
343
- ✓ Security Scan: ✓ No vulnerabilities
344
-
345
- ✓ All Issues Addressed:
346
- - Critical: 2/2 fixed (GitHub Actions build, SonarCloud security)
347
- - High: 5/5 fixed (Greptile valid comments)
348
- - Medium: 3/3 addressed (1 fixed, 2 explained)
349
- - Low: 0 (none found)
350
-
351
- ✓ Fixes committed: 3c4d5e6
352
- ✓ All checks passing: ✓
353
- ✓ Beads updated: Ready for merge
354
-
355
- Next: /premerge <pr-number>
356
- ```
357
-
358
- ```
359
- <HARD-GATE: /review exit>
360
- Do NOT declare /review complete until:
361
- 1. bash .claude/scripts/greptile-resolve.sh stats <pr-number> shows "All Greptile threads resolved"
362
- 2. ALL human reviewer comments are either resolved or have a reply with explanation
363
- 3. gh pr checks <pr-number> shows all checks passing
364
- 4. Stage transition: Run `bash scripts/beads-context.sh stage-transition <id> review premerge` exit 0 confirmed
365
- </HARD-GATE>
366
- ```
367
-
368
- ## Integration with Workflow
369
-
370
- ```
371
- Utility: /status → Understand current context before starting
372
- Stage 1: /plan → Design intent → research → branch + worktree + task list
373
- Stage 2: /dev → Implement each task with subagent-driven TDD
374
- Stage 3: /validate → Type check, lint, tests, security — all fresh output
375
- Stage 4: /ship → Push + create PR
376
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud (you are here)
377
- Stage 6: /premerge Update docs, hand off PR to user
378
- Stage 7: /verify Post-merge CI check on main
379
- ```
380
-
381
- ## Understanding the Tools
382
-
383
- ### Greptile
384
- - **What it is**: AI-powered code review bot
385
- - **How it helps**:
386
- - Context-aware code analysis
387
- - Catches bugs and security issues
388
- - Suggests improvements and best practices
389
- - Provides inline comments and summary
390
- - **How to use feedback**:
391
- - Inline comments: Address specific code issues
392
- - Summary: Get overall assessment and key recommendations
393
- - Reply directly to each comment (not separate)
394
- - Mark resolved after addressing
395
-
396
- ### SonarCloud (via sonarcloud skill)
397
- - **What it is**: Static code analysis platform
398
- - **How it helps**:
399
- - Quality gate enforcement
400
- - Security vulnerability detection
401
- - Code smell identification
402
- - Technical debt tracking
403
- - Test coverage analysis
404
- - **How to use the skill**:
405
- - Query PR-specific issues
406
- - Get quality metrics
407
- - Identify security hotspots
408
- - Track code coverage changes
409
- - **Prioritization**:
410
- - Blocker/Critical: Must fix
411
- - Major: Should fix if valid
412
- - Minor/Info: Optional
413
-
414
- ### GitHub Actions
415
- - **What it is**: CI/CD automation platform
416
- - **How it helps**:
417
- - Automated testing
418
- - Build verification
419
- - Deployment automation
420
- - Security scanning
421
- - Quality checks
422
- - **Common failures**:
423
- - Build: Dependencies, compilation
424
- - Tests: Failing test cases
425
- - Lint: Code style violations
426
- - Deploy: Configuration issues
427
-
428
- ## Tips
429
-
430
- - **Address ALL issues**: Not just Greptile and SonarCloud
431
- - **Prioritize critical**: Fix blockers first (GitHub Actions failures, security issues)
432
- - **Reply inline to Greptile**: Respond to each comment directly
433
- - **Post summary response**: Address Greptile's overall assessment
434
- - **Use sonarcloud skill**: Don't just check the web UI
435
- - **Verify all checks**: Ensure everything is green before /premerge
436
- - **Update Beads**: Keep issue status current
437
- - **Research if needed**: Use WebSearch for unclear suggestions
438
- - **Document fixes**: Clear commit messages for all fixes
439
- - **Don't leave unresolved**: Address every comment and check
1
+
2
+ Process ALL pull request issues including GitHub Actions failures, Greptile inline comments, SonarCloud analysis, and other CI/CD checks.
3
+
4
+ # Review
5
+
6
+ This command handles ALL issues that arise after creating a pull request.
7
+
8
+ ## Usage
9
+
10
+ ```bash
11
+ /review <pr-number>
12
+ ```
13
+
14
+ ## What This Command Does
15
+
16
+ ### Step 1: Fetch Complete PR Status
17
+ ```bash
18
+ # Get full PR details including all checks
19
+ gh pr view <pr-number> --json number,url,isDraft,reviews,statusCheckRollup,comments
20
+
21
+ # Check individual status checks
22
+ gh pr checks <pr-number>
23
+ ```
24
+
25
+ Review ALL status checks:
26
+ - GitHub Actions workflows
27
+ - Greptile code review (inline comments + summary)
28
+ - SonarCloud quality gate
29
+ - Any other CI/CD integrations
30
+ - Vercel deployments
31
+ - Security scanners
32
+
33
+ ### Step 2: Address GitHub Actions Failures
34
+
35
+ If any GitHub Actions workflows fail:
36
+
37
+ ```bash
38
+ # View failed workflow logs
39
+ gh run view <run-id> --log-failed
40
+
41
+ # Identify failure cause:
42
+ # - Build failures
43
+ # - Test failures
44
+ # - Lint/type check failures
45
+ # - Deployment failures
46
+ # - Security scan failures
47
+ ```
48
+
49
+ **For each failure**:
50
+ 1. **Analyze the error**: Read logs to understand root cause
51
+ 2. **Fix the issue**: Make necessary code changes
52
+ 3. **Re-run checks**: GitHub Actions will auto-rerun on push
53
+ 4. **Document fix**: Note what was fixed in commit message
54
+
55
+ **Common GitHub Actions Issues**:
56
+ - Build failures: Missing dependencies, compilation errors
57
+ - Test failures: Failing test cases (should not happen if /validate passed)
58
+ - Lint failures: Code style violations
59
+ - Type failures: TypeScript type errors
60
+ - Deployment failures: Env vars, configuration issues
61
+
62
+ ### Step 3: Process Greptile Review
63
+
64
+ Greptile provides TWO types of feedback:
65
+ 1. **Inline comments** on specific code lines
66
+ 2. **Summary** with overall recommendations
67
+
68
+ **IMPORTANT**: Use the **systematic Greptile resolution process** documented in `.claude/rules/greptile-review-process.md`. This process has been standardized to ensure:
69
+ - All threads are replied to directly (not as separate PR comments)
70
+ - All threads are marked as resolved after fixing
71
+ - No manual tracking overhead for maintainers
72
+
73
+ #### 3A. Check Greptile Inline Comments (Use Systematic Process)
74
+
75
+ **Step 1: List all unresolved threads**
76
+ ```bash
77
+ bash .claude/scripts/greptile-resolve.sh list <pr-number> --unresolved
78
+ ```
79
+
80
+ This shows:
81
+ - Thread ID (for resolving)
82
+ - Comment ID (for replying)
83
+ - File path and line number
84
+ - Issue description
85
+
86
+ **Step 2: For EACH unresolved thread:**
87
+
88
+ 1. **Understand the issue**
89
+ - Read the comment carefully
90
+ - Check the file and line number
91
+
92
+ 2. **Categorize the comment**:
93
+ - **Valid**: Should be implemented (security issue, bug, clear improvement)
94
+ - **Invalid**: Greptile misunderstood context
95
+ - **Conflicting**: Contradicts research decisions with good reason
96
+ - **Out of scope**: Valid but not for this PR
97
+
98
+ 3. **Fix the issue** (if valid)
99
+ - Make code changes
100
+ - Commit with clear message
101
+
102
+ 4. **Reply and resolve** (for ALL comments, even invalid ones)
103
+ ```bash
104
+ # For valid issues (fixed):
105
+ bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
106
+ "✅ Fixed: [description]
107
+
108
+ Changed: [what was changed]
109
+ Reason: [why this fixes the issue]
110
+ Commit: [commit-sha]"
111
+
112
+ # For invalid/conflicting issues:
113
+ bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
114
+ "This approach is correct because:
115
+ - Reasoning: [from design doc]
116
+ - Evidence: [link to source]
117
+ - Alternative considered: [what Greptile suggested]
118
+ - Why rejected: [specific reason]
119
+
120
+ See: docs/plans/YYYY-MM-DD-<slug>-design.md (Decision #X)"
121
+ ```
122
+
123
+ **Step 3: Verify all resolved**
124
+ ```bash
125
+ bash .claude/scripts/greptile-resolve.sh stats <pr-number>
126
+ ```
127
+ Should show: "✓ All Greptile threads resolved!"
128
+
129
+ **See complete process**: `.claude/rules/greptile-review-process.md`
130
+
131
+ #### 3B. Check Greptile Summary
132
+ ```bash
133
+ # Greptile usually posts a summary comment on the PR
134
+ # Review the overall assessment and recommendations
135
+ ```
136
+
137
+ The summary typically includes:
138
+ - Overall code quality assessment
139
+ - Key issues to address
140
+ - Security concerns
141
+ - Performance considerations
142
+ - Best practice violations
143
+
144
+ ### Step 4: Analyze SonarCloud (via sonarcloud skill)
145
+
146
+ ```bash
147
+ # Use sonarcloud skill to query PR-specific issues
148
+ /sonarcloud
149
+ ```
150
+
151
+ **What SonarCloud does**: Static code analysis for quality, security, and maintainability
152
+
153
+ **How it helps**:
154
+ - Identifies code smells and technical debt
155
+ - Finds security vulnerabilities (complementing OWASP Top 10)
156
+ - Calculates code coverage
157
+ - Tracks code duplication
158
+ - Assesses maintainability
159
+
160
+ **Query PR-specific data**:
161
+ - Quality gate status (pass/fail)
162
+ - New issues introduced in this PR
163
+ - Security hotspots
164
+ - Code coverage changes
165
+ - Technical debt added
166
+
167
+ **Prioritize issues**:
168
+ 1. **Blocker/Critical**: Must fix before merge
169
+ 2. **Major**: Should fix if valid
170
+ 3. **Minor/Info**: Optional improvements
171
+
172
+ ### Step 5: Check Other CI/CD Tools
173
+
174
+ Review any other automated checks:
175
+ - **Vercel**: Preview deployment successful?
176
+ - **Security scanners**: Any vulnerabilities detected?
177
+ - **Custom scripts**: Any failures?
178
+ - **Dependency checks**: Outdated or vulnerable packages?
179
+
180
+ ### Step 6: Categorize and Prioritize ALL Issues
181
+
182
+ Create a master list of all issues from:
183
+ - GitHub Actions failures
184
+ - Greptile inline comments
185
+ - Greptile summary recommendations
186
+ - SonarCloud issues
187
+ - Other CI/CD tool failures
188
+
189
+ Prioritize by:
190
+ 1. **Critical**: Blocks merge (failing tests, security vulnerabilities, build failures)
191
+ 2. **High**: Should address (valid bugs, important improvements)
192
+ 3. **Medium**: Optional but valuable (code quality, best practices)
193
+ 4. **Low**: Nice to have (minor refactorings, style suggestions)
194
+
195
+ ### Step 7: Address Issues Systematically
196
+
197
+ For **GitHub Actions failures** (Critical):
198
+ ```bash
199
+ # Fix the issue
200
+ # Commit with clear description
201
+ git add .
202
+ git commit -m "fix: resolve GitHub Actions failure in <workflow-name>
203
+
204
+ - Fixed: [specific issue]
205
+ - Root cause: [explanation]
206
+ - Solution: [what was changed]"
207
+
208
+ git push
209
+ # Actions will auto-rerun
210
+ ```
211
+
212
+ For **Greptile inline comments** (Use Systematic Script):
213
+ ```bash
214
+ # Use the standardized Greptile resolution script
215
+ # See .claude/rules/greptile-review-process.md for complete process
216
+
217
+ # For valid comments (fixed):
218
+ bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
219
+ "✅ Fixed: [description]
220
+
221
+ Changed: [what was changed]
222
+ Reason: [why this fixes the issue]
223
+ Commit: [commit-sha]"
224
+
225
+ # For invalid/conflicting comments:
226
+ bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
227
+ "This approach is correct because:
228
+ - Reasoning: [from design doc]
229
+ - Evidence: [link to source]
230
+ - Alternative considered: [what Greptile suggested]
231
+ - Why rejected: [specific reason]
232
+
233
+ See: docs/plans/YYYY-MM-DD-<slug>-design.md (Decision #X)"
234
+
235
+ # Verify all threads resolved:
236
+ bash .claude/scripts/greptile-resolve.sh stats <pr-number>
237
+ ```
238
+
239
+ For **Greptile summary recommendations**:
240
+ ```bash
241
+ # Add a PR comment addressing the summary
242
+ gh pr comment <pr-number> --body "## Greptile Summary Response
243
+
244
+ Addressed all key recommendations:
245
+ - [Recommendation 1]: ✓ Fixed in commit <sha>
246
+ - [Recommendation 2]: ✓ Explained (see inline response)
247
+ - [Recommendation 3]: ⏭️ Out of scope for this PR (created issue bd-xxx)
248
+
249
+ All critical and high-priority items resolved."
250
+ ```
251
+
252
+ For **SonarCloud issues** (via sonarcloud skill):
253
+ ```bash
254
+ # For critical/blocker issues: Fix immediately
255
+ # For security vulnerabilities: Fix immediately
256
+ # For code smells: Fix if valid, justify if not
257
+
258
+ # After fixes, SonarCloud will re-analyze on next push
259
+ ```
260
+
261
+ For **other CI/CD failures**:
262
+ ```bash
263
+ # Debug the specific tool's logs
264
+ # Fix the underlying issue
265
+ # Commit and push
266
+ # Verify the check passes
267
+ ```
268
+
269
+ ### Step 8: Commit ALL Fixes
270
+
271
+ ```bash
272
+ git add .
273
+ git commit -m "fix: address ALL PR review feedback
274
+
275
+ GitHub Actions:
276
+ - Fixed: [list of workflow failures resolved]
277
+
278
+ Greptile:
279
+ - Fixed: [list of valid inline comments addressed]
280
+ - Explained: [list of invalid comments with reasoning]
281
+ - Summary: [key recommendations addressed]
282
+
283
+ SonarCloud:
284
+ - Fixed: [security vulnerabilities and critical issues]
285
+ - Justified: [code smells that are intentional]
286
+
287
+ Other CI/CD:
288
+ - Fixed: [any other tool failures]
289
+
290
+ All review feedback resolved, all checks passing."
291
+
292
+ git push
293
+ ```
294
+
295
+ ### Step 9: Verify ALL Checks Pass
296
+
297
+ ```bash
298
+ # Wait for checks to complete
299
+ gh pr checks <pr-number>
300
+
301
+ # Ensure all status checks are green:
302
+ # ✓ GitHub Actions workflows
303
+ # ✓ Greptile review (no unresolved critical comments)
304
+ # ✓ SonarCloud quality gate
305
+ # ✓ Other CI/CD checks
306
+ ```
307
+
308
+ ### Step 10: Update Beads
309
+
310
+ ```bash
311
+ bd update <id> --comment "PR review complete: all issues addressed, all checks passing"
312
+ bd sync
313
+ ```
314
+
315
+ ## Example Output
316
+
317
+ ```
318
+ ✓ GitHub Actions: 3 workflows
319
+ - Build: ✓ Passing (was failing, fixed missing dependency)
320
+ - Tests: ✓ Passing
321
+ - Deploy Preview: ✓ Passing
322
+
323
+ ✓ Greptile Review:
324
+ Inline Comments: 8 total
325
+ - Valid: 5 → Fixed & replied inline
326
+ - Invalid: 2 → Explained with research evidence & replied inline
327
+ - Out of scope: 1 → Noted for future work & replied inline
328
+ - All marked resolved ✓
329
+
330
+ Summary:
331
+ - Key recommendations: 3/3 addressed
332
+ - Overall assessment: Ready for merge
333
+ - Posted summary response comment ✓
334
+
335
+ ✓ SonarCloud (via sonarcloud skill):
336
+ Quality Gate: ✓ Passing
337
+ Issues: 3 total
338
+ - Security: 1 → Fixed (SQL injection risk)
339
+ - Code smells: 2 → 1 fixed, 1 justified
340
+ - Coverage: Maintained at 85%
341
+
342
+ ✓ Vercel Preview: ✓ Deployed successfully
343
+ ✓ Security Scan: ✓ No vulnerabilities
344
+
345
+ ✓ All Issues Addressed:
346
+ - Critical: 2/2 fixed (GitHub Actions build, SonarCloud security)
347
+ - High: 5/5 fixed (Greptile valid comments)
348
+ - Medium: 3/3 addressed (1 fixed, 2 explained)
349
+ - Low: 0 (none found)
350
+
351
+ ✓ Fixes committed: 3c4d5e6
352
+ ✓ All checks passing: ✓
353
+ ✓ Beads updated: Ready for merge
354
+
355
+ Next: /premerge <pr-number>
356
+ ```
357
+
358
+ ```
359
+ <HARD-GATE: /review exit>
360
+ Do NOT declare /review complete until:
361
+ 1. bash .claude/scripts/greptile-resolve.sh stats <pr-number> shows "All Greptile threads resolved"
362
+ 2. ALL human reviewer comments are either resolved or have a reply with explanation
363
+ 3. gh pr checks <pr-number> shows all checks passing
364
+ 4. Context check: Run `bash scripts/beads-context.sh validate <id>` and address any warnings
365
+ 5. Stage transition: Run the following → exit 0 confirmed:
366
+ bash scripts/beads-context.sh stage-transition <id> review premerge \
367
+ --summary "<all feedback addressed summary>" \
368
+ --decisions "<comment resolutions — valid fixes and justified rejections>" \
369
+ --artifacts "<fixed files, commit SHAs>" \
370
+ --next "<doc update needs for premerge>"
371
+ </HARD-GATE>
372
+ ```
373
+
374
+ ## Integration with Workflow
375
+
376
+ ```
377
+ Utility: /status Understand current context before starting
378
+ Stage 1: /plan Design intent research → branch + worktree + task list
379
+ Stage 2: /dev → Implement each task with subagent-driven TDD
380
+ Stage 3: /validate → Type check, lint, tests, security — all fresh output
381
+ Stage 4: /ship → Push + create PR
382
+ Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud (you are here)
383
+ Stage 6: /premerge → Update docs, hand off PR to user
384
+ Stage 7: /verify → Post-merge CI check on main
385
+ ```
386
+
387
+ ## Understanding the Tools
388
+
389
+ ### Greptile
390
+ - **What it is**: AI-powered code review bot
391
+ - **How it helps**:
392
+ - Context-aware code analysis
393
+ - Catches bugs and security issues
394
+ - Suggests improvements and best practices
395
+ - Provides inline comments and summary
396
+ - **How to use feedback**:
397
+ - Inline comments: Address specific code issues
398
+ - Summary: Get overall assessment and key recommendations
399
+ - Reply directly to each comment (not separate)
400
+ - Mark resolved after addressing
401
+
402
+ ### SonarCloud (via sonarcloud skill)
403
+ - **What it is**: Static code analysis platform
404
+ - **How it helps**:
405
+ - Quality gate enforcement
406
+ - Security vulnerability detection
407
+ - Code smell identification
408
+ - Technical debt tracking
409
+ - Test coverage analysis
410
+ - **How to use the skill**:
411
+ - Query PR-specific issues
412
+ - Get quality metrics
413
+ - Identify security hotspots
414
+ - Track code coverage changes
415
+ - **Prioritization**:
416
+ - Blocker/Critical: Must fix
417
+ - Major: Should fix if valid
418
+ - Minor/Info: Optional
419
+
420
+ ### GitHub Actions
421
+ - **What it is**: CI/CD automation platform
422
+ - **How it helps**:
423
+ - Automated testing
424
+ - Build verification
425
+ - Deployment automation
426
+ - Security scanning
427
+ - Quality checks
428
+ - **Common failures**:
429
+ - Build: Dependencies, compilation
430
+ - Tests: Failing test cases
431
+ - Lint: Code style violations
432
+ - Deploy: Configuration issues
433
+
434
+ ## Tips
435
+
436
+ - **Address ALL issues**: Not just Greptile and SonarCloud
437
+ - **Prioritize critical**: Fix blockers first (GitHub Actions failures, security issues)
438
+ - **Reply inline to Greptile**: Respond to each comment directly
439
+ - **Post summary response**: Address Greptile's overall assessment
440
+ - **Use sonarcloud skill**: Don't just check the web UI
441
+ - **Verify all checks**: Ensure everything is green before /premerge
442
+ - **Update Beads**: Keep issue status current
443
+ - **Research if needed**: Use WebSearch for unclear suggestions
444
+ - **Document fixes**: Clear commit messages for all fixes
445
+ - **Don't leave unresolved**: Address every comment and check