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