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.
- package/.claude/commands/dev.md +345 -340
- package/.claude/commands/plan.md +566 -521
- package/.claude/commands/premerge.md +186 -176
- package/.claude/commands/research.md +42 -42
- package/.claude/commands/review.md +448 -442
- package/.claude/commands/rollback.md +721 -721
- package/.claude/commands/ship.md +212 -164
- package/.claude/commands/sonarcloud.md +152 -152
- package/.claude/commands/status.md +90 -48
- package/.claude/commands/validate.md +288 -282
- package/.claude/commands/verify.md +269 -221
- package/.claude/rules/greptile-review-process.md +285 -285
- package/.claude/rules/workflow.md +121 -105
- package/.claude/scripts/greptile-resolve.sh +558 -526
- package/.claude/scripts/load-env.sh +32 -32
- package/.cline/workflows/dev.md +342 -337
- package/.cline/workflows/plan.md +563 -518
- package/.cline/workflows/premerge.md +183 -173
- package/.cline/workflows/research.md +39 -39
- package/.cline/workflows/review.md +445 -439
- package/.cline/workflows/rollback.md +718 -718
- package/.cline/workflows/ship.md +209 -161
- package/.cline/workflows/sonarcloud.md +146 -146
- package/.cline/workflows/status.md +87 -45
- package/.cline/workflows/validate.md +285 -279
- package/.cline/workflows/verify.md +266 -218
- package/.codex/config.toml +11 -11
- package/.codex/skills/dev/SKILL.md +345 -340
- package/.codex/skills/plan/SKILL.md +566 -521
- package/.codex/skills/premerge/SKILL.md +186 -176
- package/.codex/skills/research/SKILL.md +42 -42
- package/.codex/skills/review/SKILL.md +448 -442
- package/.codex/skills/rollback/SKILL.md +721 -721
- package/.codex/skills/ship/SKILL.md +212 -164
- package/.codex/skills/sonarcloud/SKILL.md +149 -149
- package/.codex/skills/status/SKILL.md +90 -48
- package/.codex/skills/validate/SKILL.md +288 -282
- package/.codex/skills/verify/SKILL.md +269 -221
- package/.cursor/commands/dev.md +342 -337
- package/.cursor/commands/plan.md +563 -518
- package/.cursor/commands/premerge.md +183 -173
- package/.cursor/commands/research.md +39 -39
- package/.cursor/commands/review.md +445 -439
- package/.cursor/commands/rollback.md +718 -718
- package/.cursor/commands/ship.md +209 -161
- package/.cursor/commands/sonarcloud.md +146 -146
- package/.cursor/commands/status.md +87 -45
- package/.cursor/commands/validate.md +285 -279
- package/.cursor/commands/verify.md +266 -218
- package/.cursor/rules/permissions-guidance.mdc +37 -37
- package/.forge/hooks/check-tdd.js +240 -240
- package/.github/PLUGIN_TEMPLATE.json +32 -32
- package/.github/prompts/dev.prompt.md +347 -342
- package/.github/prompts/plan.prompt.md +568 -523
- package/.github/prompts/premerge.prompt.md +188 -178
- package/.github/prompts/research.prompt.md +44 -44
- package/.github/prompts/review.prompt.md +450 -444
- package/.github/prompts/rollback.prompt.md +723 -723
- package/.github/prompts/ship.prompt.md +214 -166
- package/.github/prompts/sonarcloud.prompt.md +151 -151
- package/.github/prompts/status.prompt.md +92 -50
- package/.github/prompts/validate.prompt.md +290 -284
- package/.github/prompts/verify.prompt.md +271 -223
- package/.github/workflows/beads-to-github.yml +56 -0
- package/.github/workflows/github-to-beads.yml +97 -0
- package/.kilocode/workflows/dev.md +346 -341
- package/.kilocode/workflows/plan.md +567 -522
- package/.kilocode/workflows/premerge.md +187 -177
- package/.kilocode/workflows/research.md +43 -43
- package/.kilocode/workflows/review.md +449 -443
- package/.kilocode/workflows/rollback.md +722 -722
- package/.kilocode/workflows/ship.md +213 -165
- package/.kilocode/workflows/sonarcloud.md +150 -150
- package/.kilocode/workflows/status.md +91 -49
- package/.kilocode/workflows/validate.md +289 -283
- package/.kilocode/workflows/verify.md +270 -222
- package/.mcp.json.example +12 -12
- package/.opencode/commands/dev.md +345 -340
- package/.opencode/commands/plan.md +566 -521
- package/.opencode/commands/premerge.md +186 -176
- package/.opencode/commands/research.md +42 -42
- package/.opencode/commands/review.md +448 -442
- package/.opencode/commands/rollback.md +721 -721
- package/.opencode/commands/ship.md +212 -164
- package/.opencode/commands/sonarcloud.md +149 -149
- package/.opencode/commands/status.md +90 -48
- package/.opencode/commands/validate.md +288 -282
- package/.opencode/commands/verify.md +269 -221
- package/.roo/commands/dev.md +346 -341
- package/.roo/commands/plan.md +567 -522
- package/.roo/commands/premerge.md +187 -177
- package/.roo/commands/research.md +43 -43
- package/.roo/commands/review.md +449 -443
- package/.roo/commands/rollback.md +722 -722
- package/.roo/commands/ship.md +213 -165
- package/.roo/commands/sonarcloud.md +150 -150
- package/.roo/commands/status.md +91 -49
- package/.roo/commands/validate.md +289 -283
- package/.roo/commands/verify.md +270 -222
- package/AGENTS.md +272 -175
- package/CLAUDE.md +110 -100
- package/README.md +429 -416
- package/bin/forge-cmd.js +317 -313
- package/bin/forge-preflight.js +322 -309
- package/bin/forge.js +4765 -4303
- package/docs/AGENT_INSTALL_PROMPT.md +342 -342
- package/docs/BEADS_GITHUB_SYNC.md +251 -251
- package/docs/ENHANCED_ONBOARDING.md +612 -602
- package/docs/EXAMPLES.md +482 -482
- package/docs/GREPTILE_SETUP.md +400 -400
- package/docs/MANUAL_REVIEW_GUIDE.md +106 -106
- package/docs/ROADMAP.md +359 -359
- package/docs/SETUP.md +663 -631
- package/docs/TOOLCHAIN.md +653 -630
- package/docs/VALIDATION.md +363 -363
- package/install.sh +40 -1056
- package/lefthook.yml +50 -39
- package/lib/agents/README.md +198 -198
- package/lib/agents/claude.plugin.json +28 -28
- package/lib/agents/cline.plugin.json +22 -22
- package/lib/agents/codex.plugin.json +19 -19
- package/lib/agents/copilot.plugin.json +24 -24
- package/lib/agents/cursor.plugin.json +25 -25
- package/lib/agents/kilocode.plugin.json +22 -22
- package/lib/agents/opencode.plugin.json +20 -20
- package/lib/agents/roo.plugin.json +23 -23
- package/lib/agents-config.js +2112 -2112
- package/lib/beads-health-check.js +143 -0
- package/lib/beads-setup.js +341 -0
- package/lib/beads-sync-scaffold.js +260 -0
- package/lib/commands/_registry.js +134 -0
- package/lib/commands/clean.js +181 -0
- package/lib/commands/dev.js +571 -513
- package/lib/commands/plan.js +692 -692
- package/lib/commands/push.js +196 -0
- package/lib/commands/recommend.js +119 -119
- package/lib/commands/ship.js +377 -377
- package/lib/commands/status.js +378 -378
- package/lib/commands/sync.js +55 -0
- package/lib/commands/team.js +37 -0
- package/lib/commands/test.js +207 -0
- package/lib/commands/validate.js +602 -602
- package/lib/commands/worktree.js +310 -0
- package/lib/context-merge.js +359 -359
- package/lib/dep-guard/analyzer.js +294 -294
- package/lib/dep-guard/behavior-detector.js +98 -98
- package/lib/dep-guard/contract-detector.js +162 -162
- package/lib/dep-guard/import-detector.js +498 -498
- package/lib/dep-guard/path-utils.js +13 -13
- package/lib/dep-guard/rubric.js +120 -120
- package/lib/dep-guard/task-parser.js +318 -318
- package/lib/detect-agent.js +191 -191
- package/lib/detect-worktree.js +47 -47
- package/lib/docs-command.js +51 -0
- package/lib/docs-copy.js +50 -0
- package/lib/file-hash.js +26 -26
- package/lib/freshness-token.js +148 -0
- package/lib/greptile-match.js +80 -0
- package/lib/husky-migration.js +450 -0
- package/lib/lefthook-check.js +65 -0
- package/lib/pat-setup.js +207 -0
- package/lib/plugin-catalog.js +350 -350
- package/lib/plugin-manager.js +166 -166
- package/lib/plugin-recommender.js +141 -141
- package/lib/project-discovery.js +491 -491
- package/lib/reset.js +309 -0
- package/lib/setup-action-log.js +139 -139
- package/lib/setup-summary-renderer.js +106 -106
- package/lib/setup-utils.js +96 -0
- package/lib/setup.js +192 -192
- package/lib/smart-merge.js +64 -0
- package/lib/symlink-utils.js +81 -0
- package/lib/task-ownership.js +117 -0
- package/lib/workflow-profiles.js +197 -197
- package/package.json +131 -128
- package/scripts/beads-context.sh +426 -0
- package/scripts/beads-context.test.js +567 -0
- package/scripts/behavioral-judge.sh +378 -0
- package/scripts/benchmark.js +85 -0
- package/scripts/branch-protection.js +183 -0
- package/scripts/check-agents.js +172 -0
- package/scripts/check-forge-token.js +98 -0
- package/scripts/commitlint.js +42 -0
- package/scripts/conflict-detect.sh +323 -0
- package/scripts/dep-guard-analyze.js +71 -0
- package/scripts/dep-guard.sh +789 -0
- package/scripts/eval_win.py +249 -0
- package/scripts/file-index.sh +493 -0
- package/scripts/forge-team/index.sh +86 -0
- package/scripts/forge-team/lib/agent-prompt.sh +52 -0
- package/scripts/forge-team/lib/claim.sh +256 -0
- package/scripts/forge-team/lib/dashboard.sh +341 -0
- package/scripts/forge-team/lib/epic.sh +332 -0
- package/scripts/forge-team/lib/hooks.sh +253 -0
- package/scripts/forge-team/lib/identity.sh +235 -0
- package/scripts/forge-team/lib/sync-github.sh +317 -0
- package/scripts/forge-team/lib/verify.sh +284 -0
- package/scripts/forge-team/lib/workload.sh +296 -0
- package/scripts/forge-team/tests/agent-prompt.test.sh +72 -0
- package/scripts/forge-team/tests/claim.test.sh +179 -0
- package/scripts/forge-team/tests/dashboard.test.sh +170 -0
- package/scripts/forge-team/tests/dispatcher.test.sh +79 -0
- package/scripts/forge-team/tests/epic.test.sh +176 -0
- package/scripts/forge-team/tests/hooks.test.sh +239 -0
- package/scripts/forge-team/tests/identity.test.sh +176 -0
- package/scripts/forge-team/tests/integration.test.sh +371 -0
- package/scripts/forge-team/tests/sync-github.test.sh +209 -0
- package/scripts/forge-team/tests/verify.test.sh +314 -0
- package/scripts/forge-team/tests/workflow-integration.test.sh +43 -0
- package/scripts/forge-team/tests/workload.test.sh +209 -0
- package/scripts/github-beads-sync/comment.mjs +64 -0
- package/scripts/github-beads-sync/config.mjs +148 -0
- package/scripts/github-beads-sync/github-api.mjs +131 -0
- package/scripts/github-beads-sync/index.mjs +332 -0
- package/scripts/github-beads-sync/label-mapper.mjs +54 -0
- package/scripts/github-beads-sync/mapping.mjs +78 -0
- package/scripts/github-beads-sync/reverse-sync-cli.mjs +31 -0
- package/scripts/github-beads-sync/reverse-sync.mjs +138 -0
- package/scripts/github-beads-sync/run-bd.mjs +159 -0
- package/scripts/github-beads-sync/sanitize.mjs +121 -0
- package/scripts/github-beads-sync.config.json +26 -0
- package/scripts/improve-command.js +375 -0
- package/scripts/lib/eval-runner.js +268 -0
- package/scripts/lib/eval-schema.js +135 -0
- package/scripts/lib/eval-storage.js +78 -0
- package/scripts/lib/grading.js +203 -0
- package/scripts/lib/jsonl-lock.sh +48 -0
- package/scripts/lib/sanitize.sh +116 -0
- package/scripts/lib/transcript-parser.js +63 -0
- package/scripts/lint.js +47 -0
- package/scripts/migrate-to-bun-test.js +412 -0
- package/scripts/pr-coordinator.sh +706 -0
- package/scripts/run-command-eval.js +236 -0
- package/scripts/smart-status.sh +809 -0
- package/scripts/sync-commands.js +571 -0
- package/scripts/sync-utils.sh +455 -0
- package/scripts/test-dashboard.js +123 -0
- package/scripts/test.js +46 -0
- package/scripts/validate.sh +94 -0
- package/skills/parallel-deep-research/SKILL.md +108 -108
- package/skills/parallel-deep-research/evals/README.md +27 -27
- package/skills/parallel-deep-research/evals/evals.json +62 -62
- package/skills/sonarcloud-analysis/SKILL.md +171 -171
- package/skills/sonarcloud-analysis/evals/README.md +27 -27
- package/skills/sonarcloud-analysis/evals/evals.json +50 -50
- package/skills/sonarcloud-analysis/references/api-reference.md +466 -466
- package/.cursor/hooks/state/continual-learning-index.json +0 -19
- package/.cursor/hooks/state/continual-learning.json +0 -8
|
@@ -1,178 +1,188 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: premerge
|
|
3
|
-
description: Complete all doc updates on feature branch, then hand off PR to user for merge
|
|
4
|
-
tools: []
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Prepare the pull request for merge by completing ALL documentation updates on the feature branch, then hand off to the user.
|
|
8
|
-
|
|
9
|
-
# Premerge
|
|
10
|
-
|
|
11
|
-
**The actual merge is always done by the user in the GitHub UI — never by this command.**
|
|
12
|
-
|
|
13
|
-
This command makes the PR 100% complete: code + tests + docs in one unit. After this, the user merges once and there are no follow-up doc PRs needed.
|
|
14
|
-
|
|
15
|
-
## Usage
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
/premerge <pr-number>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## What This Command Does
|
|
22
|
-
|
|
23
|
-
### Step 1: Verify All CI Checks Pass
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
gh pr checks <pr-number>
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
All checks must be green before proceeding. If any fail, run `/review <pr-number>` first.
|
|
30
|
-
|
|
31
|
-
### Step 2: Warn If Branch Is Behind Master
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
gh pr view <pr-number> --json baseRefName,headRefName
|
|
35
|
-
git fetch origin master
|
|
36
|
-
git status
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
If the feature branch is behind `master`, tell the user to rebase first:
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
⚠️ Branch is behind master — rebase before updating docs to avoid conflicts:
|
|
43
|
-
git rebase origin/master
|
|
44
|
-
git push --force-with-lease
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Step 3: Update ALL Relevant Documentation (on feature branch)
|
|
48
|
-
|
|
49
|
-
Check each of the following and update if the feature affects it. Be selective — only update what genuinely changed.
|
|
50
|
-
|
|
51
|
-
**A. `CHANGELOG.md`** (always):
|
|
52
|
-
- Add entry under `## [Unreleased]` heading (create heading if not present)
|
|
53
|
-
- Use [Keep a Changelog](https://keepachangelog.com/) categories:
|
|
54
|
-
- **Added**: New features
|
|
55
|
-
- **Changed**: Changes to existing functionality
|
|
56
|
-
- **Fixed**: Bug fixes
|
|
57
|
-
- **Removed**: Removed features
|
|
58
|
-
- Include: feature name, PR number, Beads ID
|
|
59
|
-
- Example:
|
|
60
|
-
```markdown
|
|
61
|
-
## [Unreleased]
|
|
62
|
-
|
|
63
|
-
### Added
|
|
64
|
-
- Authentication refresh tokens (PR #89, forge-a3f8)
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**B. `README.md`** (if user-facing changes):
|
|
68
|
-
- Features list, configuration options, usage examples
|
|
69
|
-
|
|
70
|
-
**C. `docs/reference/API_REFERENCE.md`** (if API changes):
|
|
71
|
-
- New endpoints, request/response schemas, authentication
|
|
72
|
-
|
|
73
|
-
**D. Architecture docs** (if structural changes):
|
|
74
|
-
- `docs/architecture/` diagrams, decision records (ADRs)
|
|
75
|
-
|
|
76
|
-
**E. `CLAUDE.md` — USER section only** (if project conventions changed):
|
|
77
|
-
```
|
|
78
|
-
<!-- USER:START - Add project-specific learnings here as you work -->
|
|
79
|
-
...update only between these markers...
|
|
80
|
-
<!-- USER:END -->
|
|
81
|
-
```
|
|
82
|
-
⚠️ NEVER touch other managed blocks (e.g., `<!-- AGENT:START/END -->`).
|
|
83
|
-
|
|
84
|
-
**F. `AGENTS.md`** (if agent config, skills, or cross-agent workflow changed):
|
|
85
|
-
- Update relevant sections describing agent capabilities or workflow
|
|
86
|
-
|
|
87
|
-
**Commit doc updates to feature branch**:
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
git add CHANGELOG.md README.md docs/ AGENTS.md CLAUDE.md
|
|
91
|
-
git commit -m "docs: update documentation for <feature-name>
|
|
92
|
-
|
|
93
|
-
- Updated: [list files changed]
|
|
94
|
-
- Reason: [brief explanation]"
|
|
95
|
-
|
|
96
|
-
git push
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
⚠️ **After pushing**: CI will re-trigger (Greptile, SonarCloud, etc.). Wait for checks to pass. If new Greptile comments appear on the doc changes, run `/review <pr-number>` again.
|
|
100
|
-
|
|
101
|
-
### Step 4: Sync Beads
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
bd sync
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Step 5: Hand Off — STOP HERE
|
|
108
|
-
|
|
109
|
-
**DO NOT run `gh pr merge`.** Present the PR and wait for the user to merge.
|
|
110
|
-
|
|
111
|
-
Output:
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
✅ PR #<number> is ready to merge
|
|
115
|
-
|
|
116
|
-
All checks: ✓ passing
|
|
117
|
-
Documentation: ✓ updated on feature branch
|
|
118
|
-
Beads: ✓ synced
|
|
119
|
-
|
|
120
|
-
👉 Please merge in the GitHub UI:
|
|
121
|
-
https://github.com/<owner>/<repo>/pull/<number>
|
|
122
|
-
|
|
123
|
-
Recommended: Squash and merge (keeps main history clean)
|
|
124
|
-
|
|
125
|
-
After you merge, run /verify to confirm everything landed correctly.
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
/
|
|
133
|
-
|
|
134
|
-
"
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
1
|
+
---
|
|
2
|
+
name: premerge
|
|
3
|
+
description: Complete all doc updates on feature branch, then hand off PR to user for merge
|
|
4
|
+
tools: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Prepare the pull request for merge by completing ALL documentation updates on the feature branch, then hand off to the user.
|
|
8
|
+
|
|
9
|
+
# Premerge
|
|
10
|
+
|
|
11
|
+
**The actual merge is always done by the user in the GitHub UI — never by this command.**
|
|
12
|
+
|
|
13
|
+
This command makes the PR 100% complete: code + tests + docs in one unit. After this, the user merges once and there are no follow-up doc PRs needed.
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
/premerge <pr-number>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## What This Command Does
|
|
22
|
+
|
|
23
|
+
### Step 1: Verify All CI Checks Pass
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
gh pr checks <pr-number>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
All checks must be green before proceeding. If any fail, run `/review <pr-number>` first.
|
|
30
|
+
|
|
31
|
+
### Step 2: Warn If Branch Is Behind Master
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
gh pr view <pr-number> --json baseRefName,headRefName
|
|
35
|
+
git fetch origin master
|
|
36
|
+
git status
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
If the feature branch is behind `master`, tell the user to rebase first:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
⚠️ Branch is behind master — rebase before updating docs to avoid conflicts:
|
|
43
|
+
git rebase origin/master
|
|
44
|
+
git push --force-with-lease
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Step 3: Update ALL Relevant Documentation (on feature branch)
|
|
48
|
+
|
|
49
|
+
Check each of the following and update if the feature affects it. Be selective — only update what genuinely changed.
|
|
50
|
+
|
|
51
|
+
**A. `CHANGELOG.md`** (always):
|
|
52
|
+
- Add entry under `## [Unreleased]` heading (create heading if not present)
|
|
53
|
+
- Use [Keep a Changelog](https://keepachangelog.com/) categories:
|
|
54
|
+
- **Added**: New features
|
|
55
|
+
- **Changed**: Changes to existing functionality
|
|
56
|
+
- **Fixed**: Bug fixes
|
|
57
|
+
- **Removed**: Removed features
|
|
58
|
+
- Include: feature name, PR number, Beads ID
|
|
59
|
+
- Example:
|
|
60
|
+
```markdown
|
|
61
|
+
## [Unreleased]
|
|
62
|
+
|
|
63
|
+
### Added
|
|
64
|
+
- Authentication refresh tokens (PR #89, forge-a3f8)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**B. `README.md`** (if user-facing changes):
|
|
68
|
+
- Features list, configuration options, usage examples
|
|
69
|
+
|
|
70
|
+
**C. `docs/reference/API_REFERENCE.md`** (if API changes):
|
|
71
|
+
- New endpoints, request/response schemas, authentication
|
|
72
|
+
|
|
73
|
+
**D. Architecture docs** (if structural changes):
|
|
74
|
+
- `docs/architecture/` diagrams, decision records (ADRs)
|
|
75
|
+
|
|
76
|
+
**E. `CLAUDE.md` — USER section only** (if project conventions changed):
|
|
77
|
+
```
|
|
78
|
+
<!-- USER:START - Add project-specific learnings here as you work -->
|
|
79
|
+
...update only between these markers...
|
|
80
|
+
<!-- USER:END -->
|
|
81
|
+
```
|
|
82
|
+
⚠️ NEVER touch other managed blocks (e.g., `<!-- AGENT:START/END -->`).
|
|
83
|
+
|
|
84
|
+
**F. `AGENTS.md`** (if agent config, skills, or cross-agent workflow changed):
|
|
85
|
+
- Update relevant sections describing agent capabilities or workflow
|
|
86
|
+
|
|
87
|
+
**Commit doc updates to feature branch**:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
git add CHANGELOG.md README.md docs/ AGENTS.md CLAUDE.md
|
|
91
|
+
git commit -m "docs: update documentation for <feature-name>
|
|
92
|
+
|
|
93
|
+
- Updated: [list files changed]
|
|
94
|
+
- Reason: [brief explanation]"
|
|
95
|
+
|
|
96
|
+
git push
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
⚠️ **After pushing**: CI will re-trigger (Greptile, SonarCloud, etc.). Wait for checks to pass. If new Greptile comments appear on the doc changes, run `/review <pr-number>` again.
|
|
100
|
+
|
|
101
|
+
### Step 4: Sync Beads
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
bd sync
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Step 5: Hand Off — STOP HERE
|
|
108
|
+
|
|
109
|
+
**DO NOT run `gh pr merge`.** Present the PR and wait for the user to merge.
|
|
110
|
+
|
|
111
|
+
Output:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
✅ PR #<number> is ready to merge
|
|
115
|
+
|
|
116
|
+
All checks: ✓ passing
|
|
117
|
+
Documentation: ✓ updated on feature branch
|
|
118
|
+
Beads: ✓ synced
|
|
119
|
+
|
|
120
|
+
👉 Please merge in the GitHub UI:
|
|
121
|
+
https://github.com/<owner>/<repo>/pull/<number>
|
|
122
|
+
|
|
123
|
+
Recommended: Squash and merge (keeps main history clean)
|
|
124
|
+
|
|
125
|
+
After you merge, run /verify to confirm everything landed correctly.
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Step 6: Validate Context and Record Stage Transition
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
bash scripts/beads-context.sh validate <id>
|
|
132
|
+
bash scripts/beads-context.sh stage-transition <id> premerge verify \
|
|
133
|
+
--summary "<docs updated, CI green, PR ready>" \
|
|
134
|
+
--artifacts "<updated doc files, PR URL>" \
|
|
135
|
+
--next "<merge instructions for user>"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
<HARD-GATE: /premerge exit>
|
|
140
|
+
Do NOT run gh pr merge.
|
|
141
|
+
Do NOT suggest merging.
|
|
142
|
+
/premerge ends here. Output the PR URL and status. Wait for user.
|
|
143
|
+
|
|
144
|
+
"After you merge, run /verify to confirm everything landed correctly."
|
|
145
|
+
</HARD-GATE>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Example Output
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
✓ CI checks: All passing
|
|
152
|
+
✓ Branch: Up to date with master
|
|
153
|
+
✓ Documentation updated:
|
|
154
|
+
- CHANGELOG.md: Entry added under [Unreleased]
|
|
155
|
+
- README.md: Features list updated
|
|
156
|
+
- CLAUDE.md: USER section updated with new pattern
|
|
157
|
+
- Committed: docs: update documentation for auth-refresh
|
|
158
|
+
✓ CI re-triggered after doc push — all checks still passing
|
|
159
|
+
✓ Beads synced
|
|
160
|
+
|
|
161
|
+
✅ PR #89 is ready to merge
|
|
162
|
+
|
|
163
|
+
👉 Please merge in the GitHub UI:
|
|
164
|
+
https://github.com/harshanandak/forge/pull/89
|
|
165
|
+
|
|
166
|
+
After you merge, run /verify
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Rules
|
|
170
|
+
|
|
171
|
+
- **NEVER run `gh pr merge`** — blocked by PreToolUse hook in `.claude/settings.json`
|
|
172
|
+
- **CLAUDE.md USER section only** — never touch other managed blocks
|
|
173
|
+
- **Warn if branch is behind** — tell user to rebase before doc updates
|
|
174
|
+
- **Re-check CI after doc push** — doc commits re-trigger full CI pipeline
|
|
175
|
+
- **One PR, complete** — code + tests + docs merged together, no follow-up doc PRs
|
|
176
|
+
|
|
177
|
+
## Integration with Workflow
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
Utility: /status → Understand current context before starting
|
|
181
|
+
Stage 1: /plan → Design intent → research → branch + worktree + task list
|
|
182
|
+
Stage 2: /dev → Implement each task with subagent-driven TDD
|
|
183
|
+
Stage 3: /validate → Type check, lint, tests, security — all fresh output
|
|
184
|
+
Stage 4: /ship → Push + create PR
|
|
185
|
+
Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
|
|
186
|
+
Stage 6: /premerge → Update docs, hand off PR to user (you are here)
|
|
187
|
+
Stage 7: /verify → Post-merge CI check on main
|
|
188
|
+
```
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: research
|
|
3
|
-
description: Deep research with parallel-deep-research, document findings
|
|
4
|
-
tools: []
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
> **Note**: `/research` is now Phase 2 of `/plan`.
|
|
8
|
-
>
|
|
9
|
-
> The research phase has been absorbed into the `/plan` command, which runs a full 3-phase workflow:
|
|
10
|
-
> - **Phase 1**: Brainstorming — design intent, constraints, success criteria
|
|
11
|
-
> - **Phase 2**: Technical research — web search, OWASP, codebase exploration, TDD scenarios
|
|
12
|
-
> - **Phase 3**: Setup — branch, worktree, Beads issue, task list
|
|
13
|
-
>
|
|
14
|
-
> Run `/plan <feature-slug>` to start the complete planning workflow.
|
|
15
|
-
|
|
16
|
-
# Research (Legacy Alias)
|
|
17
|
-
|
|
18
|
-
This command previously ran a standalone research phase. It is now embedded in `/plan` as Phase 2.
|
|
19
|
-
|
|
20
|
-
## If you want to run just the research phase
|
|
21
|
-
|
|
22
|
-
Jump to Phase 2 of `/plan` manually:
|
|
23
|
-
|
|
24
|
-
1. Read or create the design doc at `docs/plans/YYYY-MM-DD-<slug>-design.md`
|
|
25
|
-
2. Run parallel web search using the `parallel-deep-research` skill
|
|
26
|
-
3. Run OWASP Top 10 analysis for the feature
|
|
27
|
-
4. Use the Explore agent for codebase exploration
|
|
28
|
-
5. Identify at least 3 TDD test scenarios
|
|
29
|
-
6. Append findings under `## Technical Research` in the design doc
|
|
30
|
-
|
|
31
|
-
Then continue with `/plan <slug> --continue` to run Phase 3 (setup + task list).
|
|
32
|
-
|
|
33
|
-
## Integration with Workflow
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
Utility: /status → Understand current context before starting
|
|
37
|
-
Stage 1: /plan → Design intent → research → branch + worktree + task list
|
|
38
|
-
Stage 2: /dev → Implement each task with subagent-driven TDD
|
|
39
|
-
Stage 3: /validate → Type check, lint, tests, security — all fresh output
|
|
40
|
-
Stage 4: /ship → Push + create PR
|
|
41
|
-
Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
|
|
42
|
-
Stage 6: /premerge → Update docs, hand off PR to user
|
|
43
|
-
Stage 7: /verify → Post-merge CI check on main
|
|
44
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: research
|
|
3
|
+
description: Deep research with parallel-deep-research, document findings
|
|
4
|
+
tools: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> **Note**: `/research` is now Phase 2 of `/plan`.
|
|
8
|
+
>
|
|
9
|
+
> The research phase has been absorbed into the `/plan` command, which runs a full 3-phase workflow:
|
|
10
|
+
> - **Phase 1**: Brainstorming — design intent, constraints, success criteria
|
|
11
|
+
> - **Phase 2**: Technical research — web search, OWASP, codebase exploration, TDD scenarios
|
|
12
|
+
> - **Phase 3**: Setup — branch, worktree, Beads issue, task list
|
|
13
|
+
>
|
|
14
|
+
> Run `/plan <feature-slug>` to start the complete planning workflow.
|
|
15
|
+
|
|
16
|
+
# Research (Legacy Alias)
|
|
17
|
+
|
|
18
|
+
This command previously ran a standalone research phase. It is now embedded in `/plan` as Phase 2.
|
|
19
|
+
|
|
20
|
+
## If you want to run just the research phase
|
|
21
|
+
|
|
22
|
+
Jump to Phase 2 of `/plan` manually:
|
|
23
|
+
|
|
24
|
+
1. Read or create the design doc at `docs/plans/YYYY-MM-DD-<slug>-design.md`
|
|
25
|
+
2. Run parallel web search using the `parallel-deep-research` skill
|
|
26
|
+
3. Run OWASP Top 10 analysis for the feature
|
|
27
|
+
4. Use the Explore agent for codebase exploration
|
|
28
|
+
5. Identify at least 3 TDD test scenarios
|
|
29
|
+
6. Append findings under `## Technical Research` in the design doc
|
|
30
|
+
|
|
31
|
+
Then continue with `/plan <slug> --continue` to run Phase 3 (setup + task list).
|
|
32
|
+
|
|
33
|
+
## Integration with Workflow
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Utility: /status → Understand current context before starting
|
|
37
|
+
Stage 1: /plan → Design intent → research → branch + worktree + task list
|
|
38
|
+
Stage 2: /dev → Implement each task with subagent-driven TDD
|
|
39
|
+
Stage 3: /validate → Type check, lint, tests, security — all fresh output
|
|
40
|
+
Stage 4: /ship → Push + create PR
|
|
41
|
+
Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
|
|
42
|
+
Stage 6: /premerge → Update docs, hand off PR to user
|
|
43
|
+
Stage 7: /verify → Post-merge CI check on main
|
|
44
|
+
```
|