forge-workflow 0.0.3 → 0.0.5
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 +340 -314
- package/.claude/commands/plan.md +521 -478
- package/.claude/commands/premerge.md +176 -179
- package/.claude/commands/research.md +42 -42
- package/.claude/commands/review.md +442 -442
- package/.claude/commands/rollback.md +721 -721
- package/.claude/commands/ship.md +164 -134
- package/.claude/commands/sonarcloud.md +152 -152
- package/.claude/commands/status.md +48 -77
- package/.claude/commands/validate.md +282 -237
- package/.claude/commands/verify.md +221 -221
- package/.claude/rules/greptile-review-process.md +285 -285
- package/.claude/rules/workflow.md +105 -105
- package/.claude/scripts/greptile-resolve.sh +526 -526
- package/.claude/scripts/load-env.sh +32 -32
- package/.cline/workflows/dev.md +337 -311
- package/.cline/workflows/plan.md +518 -475
- package/.cline/workflows/premerge.md +173 -176
- package/.cline/workflows/research.md +39 -39
- package/.cline/workflows/review.md +439 -439
- package/.cline/workflows/rollback.md +718 -718
- package/.cline/workflows/ship.md +161 -131
- package/.cline/workflows/sonarcloud.md +146 -146
- package/.cline/workflows/status.md +45 -74
- package/.cline/workflows/validate.md +279 -234
- package/.cline/workflows/verify.md +218 -218
- package/.codex/config.toml +11 -11
- package/.codex/skills/dev/SKILL.md +340 -314
- package/.codex/skills/plan/SKILL.md +521 -478
- package/.codex/skills/premerge/SKILL.md +176 -179
- package/.codex/skills/research/SKILL.md +42 -42
- package/.codex/skills/review/SKILL.md +442 -442
- package/.codex/skills/rollback/SKILL.md +721 -721
- package/.codex/skills/ship/SKILL.md +164 -134
- package/.codex/skills/sonarcloud/SKILL.md +149 -149
- package/.codex/skills/status/SKILL.md +48 -77
- package/.codex/skills/validate/SKILL.md +282 -237
- package/.codex/skills/verify/SKILL.md +221 -221
- package/.cursor/commands/dev.md +337 -311
- package/.cursor/commands/plan.md +518 -475
- package/.cursor/commands/premerge.md +173 -176
- package/.cursor/commands/research.md +39 -39
- package/.cursor/commands/review.md +439 -439
- package/.cursor/commands/rollback.md +718 -718
- package/.cursor/commands/ship.md +161 -131
- package/.cursor/commands/sonarcloud.md +146 -146
- package/.cursor/commands/status.md +45 -74
- package/.cursor/commands/validate.md +279 -234
- package/.cursor/commands/verify.md +218 -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 +342 -316
- package/.github/prompts/plan.prompt.md +523 -480
- package/.github/prompts/premerge.prompt.md +178 -181
- package/.github/prompts/research.prompt.md +44 -44
- package/.github/prompts/review.prompt.md +444 -444
- package/.github/prompts/rollback.prompt.md +723 -723
- package/.github/prompts/ship.prompt.md +166 -136
- package/.github/prompts/sonarcloud.prompt.md +151 -151
- package/.github/prompts/status.prompt.md +50 -79
- package/.github/prompts/validate.prompt.md +284 -239
- package/.github/prompts/verify.prompt.md +223 -223
- package/.github/workflows/beads-to-github.yml +56 -0
- package/.github/workflows/github-to-beads.yml +97 -0
- package/.kilocode/workflows/dev.md +341 -315
- package/.kilocode/workflows/plan.md +522 -479
- package/.kilocode/workflows/premerge.md +177 -180
- package/.kilocode/workflows/research.md +43 -43
- package/.kilocode/workflows/review.md +443 -443
- package/.kilocode/workflows/rollback.md +722 -722
- package/.kilocode/workflows/ship.md +165 -135
- package/.kilocode/workflows/sonarcloud.md +150 -150
- package/.kilocode/workflows/status.md +49 -78
- package/.kilocode/workflows/validate.md +283 -238
- package/.kilocode/workflows/verify.md +222 -222
- package/.mcp.json.example +12 -12
- package/.opencode/commands/dev.md +340 -314
- package/.opencode/commands/plan.md +521 -478
- package/.opencode/commands/premerge.md +176 -179
- package/.opencode/commands/research.md +42 -42
- package/.opencode/commands/review.md +442 -442
- package/.opencode/commands/rollback.md +721 -721
- package/.opencode/commands/ship.md +164 -134
- package/.opencode/commands/sonarcloud.md +149 -149
- package/.opencode/commands/status.md +48 -77
- package/.opencode/commands/validate.md +282 -237
- package/.opencode/commands/verify.md +221 -221
- package/.roo/commands/dev.md +341 -315
- package/.roo/commands/plan.md +522 -479
- package/.roo/commands/premerge.md +177 -180
- package/.roo/commands/research.md +43 -43
- package/.roo/commands/review.md +443 -443
- package/.roo/commands/rollback.md +722 -722
- package/.roo/commands/ship.md +165 -135
- package/.roo/commands/sonarcloud.md +150 -150
- package/.roo/commands/status.md +49 -78
- package/.roo/commands/validate.md +283 -238
- package/.roo/commands/verify.md +222 -222
- package/AGENTS.md +175 -169
- package/CLAUDE.md +100 -99
- package/LICENSE +21 -21
- package/README.md +429 -414
- package/bin/forge-cmd.js +313 -313
- package/bin/{forge-validate.js → forge-preflight.js} +309 -303
- package/bin/forge.js +4596 -4232
- package/docs/AGENT_INSTALL_PROMPT.md +342 -342
- package/docs/BEADS_GITHUB_SYNC.md +251 -0
- package/docs/ENHANCED_ONBOARDING.md +602 -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 -632
- package/docs/TOOLCHAIN.md +630 -630
- package/docs/VALIDATION.md +363 -363
- package/install.sh +40 -1058
- package/lefthook.yml +39 -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/dev.js +513 -513
- package/lib/commands/plan.js +692 -692
- package/lib/commands/recommend.js +119 -119
- package/lib/commands/ship.js +377 -377
- package/lib/commands/status.js +378 -378
- package/lib/commands/validate.js +602 -602
- 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 -0
- package/lib/detect-worktree.js +47 -0
- package/lib/file-hash.js +26 -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/setup-action-log.js +139 -0
- package/lib/setup-summary-renderer.js +106 -0
- package/lib/setup-utils.js +96 -0
- package/lib/setup.js +192 -118
- package/lib/smart-merge.js +64 -0
- package/lib/symlink-utils.js +81 -0
- package/lib/workflow-profiles.js +197 -197
- package/package.json +131 -129
- package/scripts/beads-context.sh +291 -0
- package/scripts/beads-context.test.js +563 -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/commitlint.js +42 -0
- package/scripts/conflict-detect.sh +323 -0
- package/scripts/dep-guard-analyze.js +71 -0
- package/scripts/dep-guard.sh +811 -0
- package/scripts/eval_win.py +249 -0
- package/scripts/file-index.sh +399 -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 +229 -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/transcript-parser.js +63 -0
- package/scripts/lint.js +47 -0
- package/scripts/migrate-to-bun-test.js +412 -0
- package/scripts/run-command-eval.js +236 -0
- package/scripts/smart-status.sh +782 -0
- package/scripts/sync-commands.js +571 -0
- package/scripts/sync-utils.sh +460 -0
- package/scripts/test-dashboard.js +123 -0
- package/scripts/test.js +44 -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/docs/WORKFLOW.md +0 -400
package/AGENTS.md
CHANGED
|
@@ -1,169 +1,175 @@
|
|
|
1
|
-
# Project Workflow Instructions
|
|
2
|
-
|
|
3
|
-
## 7-Stage TDD-First Workflow
|
|
4
|
-
|
|
5
|
-
This project enforces a **strict TDD-first development workflow** with 7 stages:
|
|
6
|
-
|
|
7
|
-
| Stage | Command | Purpose | Required For |
|
|
8
|
-
|-------|-------------|-----------------------------------------------------------|--------------|
|
|
9
|
-
| 1 | `/plan` | Design intent → research → branch + worktree + task list | Critical, Standard, Refactor |
|
|
10
|
-
| 2 | `/dev` | Subagent-driven TDD per task (spec + quality review) | All types |
|
|
11
|
-
| 3 | `/validate` | Validate + 4-phase debug mode on failure | All types |
|
|
12
|
-
| 4 | `/ship` | Create PR with documentation | All types |
|
|
13
|
-
| 5 | `/review` | Address ALL PR feedback | Critical, Standard |
|
|
14
|
-
| 6 | `/premerge` | Complete docs on feature branch, hand off PR | All types |
|
|
15
|
-
| 7 | `/verify` | Post-merge health check (CI, deployments) | All types |
|
|
16
|
-
|
|
17
|
-
**Utility**: `/status` — Context check before starting work (not a numbered stage)
|
|
18
|
-
|
|
19
|
-
## Automatic Change Classification
|
|
20
|
-
|
|
21
|
-
When the user requests work, **you MUST automatically classify** the change type:
|
|
22
|
-
|
|
23
|
-
### Critical (Full 7-stage workflow)
|
|
24
|
-
**Triggers:** Security, authentication, payments, breaking changes, new architecture, data migrations
|
|
25
|
-
**Example:** "Add OAuth login", "Migrate database schema", "Implement payment gateway"
|
|
26
|
-
**Workflow:** plan → dev → validate → ship → review → premerge → verify
|
|
27
|
-
|
|
28
|
-
### Standard (6-stage workflow)
|
|
29
|
-
**Triggers:** Normal features, enhancements, new components
|
|
30
|
-
**Example:** "Add user profile page", "Create notification system"
|
|
31
|
-
**Workflow:** plan → dev → validate → ship → review → premerge
|
|
32
|
-
|
|
33
|
-
### Simple (3-stage workflow, skip plan)
|
|
34
|
-
**Triggers:** Bug fixes, UI tweaks, small changes, minor refactors
|
|
35
|
-
**Example:** "Fix button color", "Update validation message", "Adjust padding"
|
|
36
|
-
**Workflow:** dev → validate → ship
|
|
37
|
-
|
|
38
|
-
### Hotfix (Emergency 3-stage workflow)
|
|
39
|
-
**Triggers:** Production emergencies, critical bugs affecting users
|
|
40
|
-
**Example:** "Production payment processing down", "Security vulnerability fix"
|
|
41
|
-
**Workflow:** dev → validate → ship (immediate merge allowed)
|
|
42
|
-
|
|
43
|
-
### Docs (Documentation-only workflow)
|
|
44
|
-
**Triggers:** Documentation updates, README changes, comment improvements
|
|
45
|
-
**Example:** "Update README", "Add API documentation"
|
|
46
|
-
**Workflow:** verify → ship
|
|
47
|
-
|
|
48
|
-
### Refactor (5-stage workflow for safe cleanup)
|
|
49
|
-
**Triggers:** Code cleanup, performance optimization, technical debt reduction
|
|
50
|
-
**Example:** "Refactor auth service", "Extract utility functions"
|
|
51
|
-
**Workflow:** plan → dev → validate → ship → premerge
|
|
52
|
-
|
|
53
|
-
## Enforcement Philosophy
|
|
54
|
-
|
|
55
|
-
**Conversational, not blocking** - Offer solutions when prerequisites are missing:
|
|
56
|
-
|
|
57
|
-
❌ **Don't:** "ERROR: Research required for critical features"
|
|
58
|
-
✅ **Do:** "Before implementation, I should research OAuth best practices. I can:
|
|
59
|
-
1. Auto-research now with parallel-deep-research (~5 min)
|
|
60
|
-
2. Use your research if you have it
|
|
61
|
-
3. Skip (not recommended for security features)
|
|
62
|
-
|
|
63
|
-
What would you prefer?"
|
|
64
|
-
|
|
65
|
-
**Create accountability for skips:**
|
|
66
|
-
|
|
67
|
-
"Skipping tests creates technical debt. I'll:
|
|
68
|
-
✓ Allow this commit
|
|
69
|
-
✓ Create follow-up Beads issue for tests
|
|
70
|
-
✓ Document in commit message as [tech-debt]
|
|
71
|
-
|
|
72
|
-
Proceed?"
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
**
|
|
89
|
-
|
|
90
|
-
/
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
✓
|
|
96
|
-
✓
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
✓
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
✓
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
"
|
|
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
|
-
- [.claude/commands/
|
|
157
|
-
- [.claude/commands/
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
-
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
-
|
|
167
|
-
-
|
|
168
|
-
|
|
169
|
-
|
|
1
|
+
# Project Workflow Instructions
|
|
2
|
+
|
|
3
|
+
## 7-Stage TDD-First Workflow
|
|
4
|
+
|
|
5
|
+
This project enforces a **strict TDD-first development workflow** with 7 stages:
|
|
6
|
+
|
|
7
|
+
| Stage | Command | Purpose | Required For |
|
|
8
|
+
|-------|-------------|-----------------------------------------------------------|--------------|
|
|
9
|
+
| 1 | `/plan` | Design intent → research → branch + worktree + task list | Critical, Standard, Refactor |
|
|
10
|
+
| 2 | `/dev` | Subagent-driven TDD per task (spec + quality review) | All types |
|
|
11
|
+
| 3 | `/validate` | Validate + 4-phase debug mode on failure | All types |
|
|
12
|
+
| 4 | `/ship` | Create PR with documentation | All types |
|
|
13
|
+
| 5 | `/review` | Address ALL PR feedback | Critical, Standard |
|
|
14
|
+
| 6 | `/premerge` | Complete docs on feature branch, hand off PR | All types |
|
|
15
|
+
| 7 | `/verify` | Post-merge health check (CI, deployments) | All types |
|
|
16
|
+
|
|
17
|
+
**Utility**: `/status` — Context check before starting work (not a numbered stage)
|
|
18
|
+
|
|
19
|
+
## Automatic Change Classification
|
|
20
|
+
|
|
21
|
+
When the user requests work, **you MUST automatically classify** the change type:
|
|
22
|
+
|
|
23
|
+
### Critical (Full 7-stage workflow)
|
|
24
|
+
**Triggers:** Security, authentication, payments, breaking changes, new architecture, data migrations
|
|
25
|
+
**Example:** "Add OAuth login", "Migrate database schema", "Implement payment gateway"
|
|
26
|
+
**Workflow:** plan → dev → validate → ship → review → premerge → verify
|
|
27
|
+
|
|
28
|
+
### Standard (6-stage workflow)
|
|
29
|
+
**Triggers:** Normal features, enhancements, new components
|
|
30
|
+
**Example:** "Add user profile page", "Create notification system"
|
|
31
|
+
**Workflow:** plan → dev → validate → ship → review → premerge
|
|
32
|
+
|
|
33
|
+
### Simple (3-stage workflow, skip plan)
|
|
34
|
+
**Triggers:** Bug fixes, UI tweaks, small changes, minor refactors
|
|
35
|
+
**Example:** "Fix button color", "Update validation message", "Adjust padding"
|
|
36
|
+
**Workflow:** dev → validate → ship
|
|
37
|
+
|
|
38
|
+
### Hotfix (Emergency 3-stage workflow)
|
|
39
|
+
**Triggers:** Production emergencies, critical bugs affecting users
|
|
40
|
+
**Example:** "Production payment processing down", "Security vulnerability fix"
|
|
41
|
+
**Workflow:** dev → validate → ship (immediate merge allowed)
|
|
42
|
+
|
|
43
|
+
### Docs (Documentation-only workflow)
|
|
44
|
+
**Triggers:** Documentation updates, README changes, comment improvements
|
|
45
|
+
**Example:** "Update README", "Add API documentation"
|
|
46
|
+
**Workflow:** verify → ship
|
|
47
|
+
|
|
48
|
+
### Refactor (5-stage workflow for safe cleanup)
|
|
49
|
+
**Triggers:** Code cleanup, performance optimization, technical debt reduction
|
|
50
|
+
**Example:** "Refactor auth service", "Extract utility functions"
|
|
51
|
+
**Workflow:** plan → dev → validate → ship → premerge
|
|
52
|
+
|
|
53
|
+
## Enforcement Philosophy
|
|
54
|
+
|
|
55
|
+
**Conversational, not blocking** - Offer solutions when prerequisites are missing:
|
|
56
|
+
|
|
57
|
+
❌ **Don't:** "ERROR: Research required for critical features"
|
|
58
|
+
✅ **Do:** "Before implementation, I should research OAuth best practices. I can:
|
|
59
|
+
1. Auto-research now with parallel-deep-research (~5 min)
|
|
60
|
+
2. Use your research if you have it
|
|
61
|
+
3. Skip (not recommended for security features)
|
|
62
|
+
|
|
63
|
+
What would you prefer?"
|
|
64
|
+
|
|
65
|
+
**Create accountability for skips:**
|
|
66
|
+
|
|
67
|
+
"Skipping tests creates technical debt. I'll:
|
|
68
|
+
✓ Allow this commit
|
|
69
|
+
✓ Create follow-up Beads issue for tests
|
|
70
|
+
✓ Document in commit message as [tech-debt]
|
|
71
|
+
|
|
72
|
+
Proceed?"
|
|
73
|
+
|
|
74
|
+
**Dynamic commands — no hardcoded examples:**
|
|
75
|
+
|
|
76
|
+
Command files (`.claude/commands/*.md` and agent equivalents) must never hardcode example output when a script generates that output dynamically. Reference the script and describe what it does — don't duplicate its output with fake data that becomes stale.
|
|
77
|
+
|
|
78
|
+
## TDD Development (Stage 2: /dev)
|
|
79
|
+
|
|
80
|
+
**Subagent-driven per-task implementation loop:**
|
|
81
|
+
|
|
82
|
+
1. **Read task list** → Pre-made task list from `/plan` Phase 3 at `docs/plans/YYYY-MM-DD-<slug>-tasks.md`
|
|
83
|
+
2. **Dispatch implementer subagent per task** → Fresh context, complete task text, relevant design doc sections
|
|
84
|
+
3. **TDD inside implementer** → RED-GREEN-REFACTOR enforced by HARD-GATE:
|
|
85
|
+
- RED: Write failing test first (must run test and show failing output)
|
|
86
|
+
- GREEN: Implement minimal code to pass (must show passing output)
|
|
87
|
+
- REFACTOR: Clean up while keeping tests green
|
|
88
|
+
4. **Spec compliance review** → Spec reviewer checks every task before quality review
|
|
89
|
+
5. **Code quality review** → Quality reviewer checks after spec compliance ✅
|
|
90
|
+
6. **Decision gate** → 7-dimension impact scoring when spec gap found; score routes to PROCEED/SPEC-REVIEWER/BLOCKED
|
|
91
|
+
|
|
92
|
+
**Example execution:**
|
|
93
|
+
```
|
|
94
|
+
/dev starts:
|
|
95
|
+
✓ Read task list: docs/plans/2026-02-26-stripe-billing-tasks.md (8 tasks)
|
|
96
|
+
✓ Created decisions log: docs/plans/2026-02-26-stripe-billing-decisions.md
|
|
97
|
+
|
|
98
|
+
Task 1: Types and interfaces
|
|
99
|
+
✓ Implementer: test written → failing → implementation → passing → committed
|
|
100
|
+
✓ Spec review: ✅
|
|
101
|
+
✓ Quality review: ✅
|
|
102
|
+
Decision gates: 0
|
|
103
|
+
|
|
104
|
+
Task 2: Validation logic
|
|
105
|
+
✓ Implementer: test written → failing → implementation → passing
|
|
106
|
+
⚠️ Decision gate fired (score: 2/14 — PROCEED)
|
|
107
|
+
Gap: Error message format not specified in design doc
|
|
108
|
+
Choice: Use { code, message } object (conservative, documented)
|
|
109
|
+
✓ Spec review: ✅
|
|
110
|
+
✓ Quality review: ✅
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## State Management (Single Source of Truth)
|
|
114
|
+
|
|
115
|
+
> GitHub issue lifecycle may sync to Beads via CI -- see [docs/BEADS_GITHUB_SYNC.md](docs/BEADS_GITHUB_SYNC.md).
|
|
116
|
+
|
|
117
|
+
**All workflow state stored in Beads metadata** (survives compaction):
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"id": "bd-x7y2",
|
|
122
|
+
"type": "critical",
|
|
123
|
+
"currentStage": "dev",
|
|
124
|
+
"completedStages": ["plan"],
|
|
125
|
+
"skippedStages": [],
|
|
126
|
+
"workflowDecisions": {
|
|
127
|
+
"classification": "critical",
|
|
128
|
+
"reason": "Payment processing, PCI compliance required",
|
|
129
|
+
"userOverride": false
|
|
130
|
+
},
|
|
131
|
+
"parallelTracks": [
|
|
132
|
+
{
|
|
133
|
+
"name": "API endpoints",
|
|
134
|
+
"agent": "backend-architect",
|
|
135
|
+
"status": "in_progress",
|
|
136
|
+
"tddPhase": "GREEN"
|
|
137
|
+
}
|
|
138
|
+
]
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Git Hooks (Automatic Enforcement)
|
|
143
|
+
|
|
144
|
+
**Pre-commit hook enforces TDD:**
|
|
145
|
+
- Blocks commits if source code modified without test files
|
|
146
|
+
- Offers guided recovery (add tests now, skip with tech debt tracking, emergency override)
|
|
147
|
+
- No AI decision required - automatic validation
|
|
148
|
+
|
|
149
|
+
**Pre-push hook validates tests:**
|
|
150
|
+
- All tests must pass before push
|
|
151
|
+
- Can skip for hotfixes with documentation
|
|
152
|
+
|
|
153
|
+
## Documentation Index (Context Pointers)
|
|
154
|
+
|
|
155
|
+
**Detailed command instructions** are located in:
|
|
156
|
+
- [.claude/commands/status.md](.claude/commands/status.md) - How to check current context (utility)
|
|
157
|
+
- [.claude/commands/plan.md](.claude/commands/plan.md) - How to plan features (3 phases: design intent + research + branch/worktree/tasks)
|
|
158
|
+
- [.claude/commands/dev.md](.claude/commands/dev.md) - How to implement with subagent-driven TDD and decision gate
|
|
159
|
+
- [.claude/commands/validate.md](.claude/commands/validate.md) - How to run validation (with HARD-GATE exit)
|
|
160
|
+
- [.claude/commands/ship.md](.claude/commands/ship.md) - How to create PRs
|
|
161
|
+
- [.claude/commands/review.md](.claude/commands/review.md) - How to address PR feedback (with HARD-GATE exit)
|
|
162
|
+
- [.claude/commands/premerge.md](.claude/commands/premerge.md) - How to complete docs and hand off PR for merge
|
|
163
|
+
- [.claude/commands/verify.md](.claude/commands/verify.md) - How to verify post-merge health
|
|
164
|
+
|
|
165
|
+
**Planning documents** (created by `/plan`, consumed by `/dev`):
|
|
166
|
+
- `docs/plans/YYYY-MM-DD-<slug>-design.md` - Design intent + technical research
|
|
167
|
+
- `docs/plans/YYYY-MM-DD-<slug>-tasks.md` - Task list with TDD steps
|
|
168
|
+
- `docs/plans/YYYY-MM-DD-<slug>-decisions.md` - Decisions log from /dev
|
|
169
|
+
|
|
170
|
+
**Comprehensive workflow guide:**
|
|
171
|
+
- This file (AGENTS.md) is the single source of truth for the complete workflow
|
|
172
|
+
- [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) - Tool setup and configuration
|
|
173
|
+
- [docs/VALIDATION.md](docs/VALIDATION.md) - Enforcement and validation details
|
|
174
|
+
|
|
175
|
+
**Load these files when you need detailed instructions for a specific stage.**
|
package/CLAUDE.md
CHANGED
|
@@ -1,99 +1,100 @@
|
|
|
1
|
-
# Project Instructions
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
**Package manager**: Bun (preferred for performance)
|
|
6
|
-
|
|
7
|
-
**Build commands**:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
bun install # Install dependencies
|
|
11
|
-
bun run dev # Start development
|
|
12
|
-
bun run build # Production build
|
|
13
|
-
bun test # Run tests
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Workflow
|
|
19
|
-
|
|
20
|
-
> **IMPORTANT**: Read [AGENTS.md](AGENTS.md) using the Read tool at the start of every session to load the complete Forge 7-stage workflow, change classification, and detailed stage instructions. AGENTS.md is the single source of truth for the workflow.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## MCP Servers (Enhanced Capabilities)
|
|
25
|
-
|
|
26
|
-
This project uses MCP (Model Context Protocol) servers for enhanced capabilities. If your AI agent supports MCP, set up these servers:
|
|
27
|
-
|
|
28
|
-
**Available MCP servers:**
|
|
29
|
-
|
|
30
|
-
- **Context7**: Up-to-date library documentation and API reference
|
|
31
|
-
- **grep.app**: Search 1M+ GitHub repos for real-world code examples
|
|
32
|
-
|
|
33
|
-
**Setup for your agent:**
|
|
34
|
-
|
|
35
|
-
See [.mcp.json.example](.mcp.json.example) for configuration. Setup varies by agent:
|
|
36
|
-
|
|
37
|
-
- **Claude Code**: Copy `.mcp.json.example` to `.mcp.json` in project root
|
|
38
|
-
- **Cline**: Add MCP servers in VSCode settings (Extensions > Cline > MCP Servers)
|
|
39
|
-
- **Cursor**: Check Cursor Settings > MCP for setup
|
|
40
|
-
- **Your agent**: If MCP-capable, configure using the example file
|
|
41
|
-
|
|
42
|
-
See [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) for detailed MCP setup instructions.
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Toolchain
|
|
47
|
-
|
|
48
|
-
- **Beads** (recommended): Auto-installed during `bunx forge setup` - Git-backed issue tracking
|
|
49
|
-
- **GitHub CLI**: `gh auth login` - PR workflow
|
|
50
|
-
|
|
51
|
-
Setup prompts for Beads during interactive installation. Manual install: see [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md).
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Git Workflow
|
|
56
|
-
|
|
57
|
-
This project uses the **Professional Git Workflow** with Lefthook for automated quality gates:
|
|
58
|
-
|
|
59
|
-
**Pre-commit hooks** (automatic):
|
|
60
|
-
- TDD enforcement: Source files must have corresponding tests
|
|
61
|
-
- Interactive prompts: Option to unstage, continue, or abort
|
|
62
|
-
|
|
63
|
-
**Pre-push hooks** (automatic):
|
|
64
|
-
- Branch protection: Blocks direct push to main/master
|
|
65
|
-
- ESLint check: Blocks on errors and warnings (strict mode, `--max-warnings 0`)
|
|
66
|
-
- Test suite: All tests must pass
|
|
67
|
-
|
|
68
|
-
**Pull Request workflow**:
|
|
69
|
-
- PR template auto-fills with standardized format
|
|
70
|
-
- Self-review checklist catches 80% of bugs before review
|
|
71
|
-
- Beads integration: Reference issues with `Closes beads-xxx`
|
|
72
|
-
- **All review comments must be resolved** before merge
|
|
73
|
-
- Squash-only merging: Clean, linear git history
|
|
74
|
-
|
|
75
|
-
**Emergency bypass
|
|
76
|
-
```bash
|
|
77
|
-
LEFTHOOK=0 git push # Skip all pre-push hooks
|
|
78
|
-
git commit --no-verify # Skip pre-commit hooks
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**⚠️
|
|
82
|
-
|
|
83
|
-
See [.github/pull_request_template.md](.github/pull_request_template.md) for PR guidelines.
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
<!-- USER:START - Add project-specific learnings here as you work -->
|
|
88
|
-
|
|
89
|
-
💡 **Keep this section focused** - Add patterns you discover while working.
|
|
90
|
-
|
|
91
|
-
As you work, when you give the same instruction twice, add it here:
|
|
92
|
-
|
|
93
|
-
- **Scope discipline**: Do ONLY what was explicitly asked. Answer a question → stop. Check something → stop. Never auto-continue to next steps or pending work unless told to.
|
|
94
|
-
- **Stage names**: The validation stage is `/validate` (not `/check`) — renamed in PR #50.
|
|
95
|
-
- **Unused params**: Prefix with `_` (e.g., `_searchTerm`) — ESLint `no-unused-vars` enforced with `--max-warnings 0`.
|
|
96
|
-
- **Pre-push test env**: `test-env/` fixture tests can fail during actual `git push` due to git mid-push state
|
|
97
|
-
- **Command sync**: After editing `.claude/commands/*.md`, run `node scripts/sync-commands.js` to update all 7 agent directories. Use `--check` in CI to detect drift. Use `--dry-run` to preview.
|
|
98
|
-
|
|
99
|
-
|
|
1
|
+
# Project Instructions
|
|
2
|
+
|
|
3
|
+
Forge is a 7-stage TDD-first development workflow harness for AI coding agents (9 commands total, including utility stages).
|
|
4
|
+
|
|
5
|
+
**Package manager**: Bun (preferred for performance)
|
|
6
|
+
|
|
7
|
+
**Build commands**:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
bun install # Install dependencies
|
|
11
|
+
bun run dev # Start development
|
|
12
|
+
bun run build # Production build
|
|
13
|
+
bun test # Run tests
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
> **IMPORTANT**: Read [AGENTS.md](AGENTS.md) using the Read tool at the start of every session to load the complete Forge 7-stage workflow, change classification, and detailed stage instructions. AGENTS.md is the single source of truth for the workflow.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## MCP Servers (Enhanced Capabilities)
|
|
25
|
+
|
|
26
|
+
This project uses MCP (Model Context Protocol) servers for enhanced capabilities. If your AI agent supports MCP, set up these servers:
|
|
27
|
+
|
|
28
|
+
**Available MCP servers:**
|
|
29
|
+
|
|
30
|
+
- **Context7**: Up-to-date library documentation and API reference
|
|
31
|
+
- **grep.app**: Search 1M+ GitHub repos for real-world code examples
|
|
32
|
+
|
|
33
|
+
**Setup for your agent:**
|
|
34
|
+
|
|
35
|
+
See [.mcp.json.example](.mcp.json.example) for configuration. Setup varies by agent:
|
|
36
|
+
|
|
37
|
+
- **Claude Code**: Copy `.mcp.json.example` to `.mcp.json` in project root
|
|
38
|
+
- **Cline**: Add MCP servers in VSCode settings (Extensions > Cline > MCP Servers)
|
|
39
|
+
- **Cursor**: Check Cursor Settings > MCP for setup
|
|
40
|
+
- **Your agent**: If MCP-capable, configure using the example file
|
|
41
|
+
|
|
42
|
+
See [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) for detailed MCP setup instructions.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Toolchain
|
|
47
|
+
|
|
48
|
+
- **Beads** (recommended): Auto-installed during `bunx forge setup` - Git-backed issue tracking
|
|
49
|
+
- **GitHub CLI**: `gh auth login` - PR workflow
|
|
50
|
+
|
|
51
|
+
Setup prompts for Beads during interactive installation. Manual install: see [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md).
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Git Workflow
|
|
56
|
+
|
|
57
|
+
This project uses the **Professional Git Workflow** with Lefthook for automated quality gates:
|
|
58
|
+
|
|
59
|
+
**Pre-commit hooks** (automatic):
|
|
60
|
+
- TDD enforcement: Source files must have corresponding tests
|
|
61
|
+
- Interactive prompts: Option to unstage, continue, or abort
|
|
62
|
+
|
|
63
|
+
**Pre-push hooks** (automatic):
|
|
64
|
+
- Branch protection: Blocks direct push to main/master
|
|
65
|
+
- ESLint check: Blocks on errors and warnings (strict mode, `--max-warnings 0`)
|
|
66
|
+
- Test suite: All tests must pass
|
|
67
|
+
|
|
68
|
+
**Pull Request workflow**:
|
|
69
|
+
- PR template auto-fills with standardized format
|
|
70
|
+
- Self-review checklist catches 80% of bugs before review
|
|
71
|
+
- Beads integration: Reference issues with `Closes beads-xxx`
|
|
72
|
+
- **All review comments must be resolved** before merge
|
|
73
|
+
- Squash-only merging: Clean, linear git history
|
|
74
|
+
|
|
75
|
+
**Emergency bypass** (human-only, NEVER for AI agents):
|
|
76
|
+
```bash
|
|
77
|
+
LEFTHOOK=0 git push # Skip all pre-push hooks
|
|
78
|
+
git commit --no-verify # Skip pre-commit hooks
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**⚠️ AI agents must NEVER use `LEFTHOOK=0`, `--no-verify`, or any hook bypass.** If a hook fails, fix the underlying issue. Only humans may bypass hooks in emergencies, documented in the PR description.
|
|
82
|
+
|
|
83
|
+
See [.github/pull_request_template.md](.github/pull_request_template.md) for PR guidelines.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
<!-- USER:START - Add project-specific learnings here as you work -->
|
|
88
|
+
|
|
89
|
+
💡 **Keep this section focused** - Add patterns you discover while working.
|
|
90
|
+
|
|
91
|
+
As you work, when you give the same instruction twice, add it here:
|
|
92
|
+
|
|
93
|
+
- **Scope discipline**: Do ONLY what was explicitly asked. Answer a question → stop. Check something → stop. Never auto-continue to next steps or pending work unless told to.
|
|
94
|
+
- **Stage names**: The validation stage is `/validate` (not `/check`) — renamed in PR #50.
|
|
95
|
+
- **Unused params**: Prefix with `_` (e.g., `_searchTerm`) — ESLint `no-unused-vars` enforced with `--max-warnings 0`.
|
|
96
|
+
- **Pre-push test env**: `test-env/` fixture tests can fail during actual `git push` due to git mid-push state. Fix the root cause — never use `LEFTHOOK=0`.
|
|
97
|
+
- **Command sync**: After editing `.claude/commands/*.md`, run `node scripts/sync-commands.js` to update all 7 agent directories. Use `--check` in CI to detect drift. Use `--dry-run` to preview.
|
|
98
|
+
- **Dynamic commands**: Never hardcode example output in command files (`.claude/commands/*.md`) when a script generates that output dynamically. Command files should reference the script and describe what it does — not duplicate its output with fake data that becomes stale.
|
|
99
|
+
|
|
100
|
+
<!-- USER:END -->
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Harsha Nandak
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Harsha Nandak
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|