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