forge-workflow 0.0.2 → 0.0.4
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 +26 -0
- package/.claude/commands/plan.md +141 -9
- package/.claude/commands/premerge.md +0 -3
- package/.claude/commands/rollback.md +4 -4
- package/.claude/commands/ship.md +71 -41
- package/.claude/commands/status.md +9 -38
- package/.claude/commands/validate.md +47 -2
- package/.cline/workflows/dev.md +337 -0
- package/.cline/workflows/plan.md +518 -0
- package/.cline/workflows/premerge.md +173 -0
- package/.cline/workflows/research.md +39 -0
- package/.cline/workflows/review.md +439 -0
- package/.cline/workflows/rollback.md +718 -0
- package/.cline/workflows/ship.md +161 -0
- package/.cline/workflows/sonarcloud.md +146 -0
- package/.cline/workflows/status.md +45 -0
- package/.cline/workflows/validate.md +279 -0
- package/.cline/workflows/verify.md +218 -0
- package/.codex/config.toml +11 -0
- package/.codex/skills/dev/SKILL.md +340 -0
- package/.codex/skills/plan/SKILL.md +521 -0
- package/.codex/skills/premerge/SKILL.md +176 -0
- package/.codex/skills/research/SKILL.md +42 -0
- package/.codex/skills/review/SKILL.md +442 -0
- package/.codex/skills/rollback/SKILL.md +721 -0
- package/.codex/skills/ship/SKILL.md +164 -0
- package/.codex/skills/sonarcloud/SKILL.md +149 -0
- package/.codex/skills/status/SKILL.md +48 -0
- package/.codex/skills/validate/SKILL.md +282 -0
- package/.codex/skills/verify/SKILL.md +221 -0
- package/.cursor/commands/dev.md +337 -0
- package/.cursor/commands/plan.md +518 -0
- package/.cursor/commands/premerge.md +173 -0
- package/.cursor/commands/research.md +39 -0
- package/.cursor/commands/review.md +439 -0
- package/.cursor/commands/rollback.md +718 -0
- package/.cursor/commands/ship.md +161 -0
- package/.cursor/commands/sonarcloud.md +146 -0
- package/.cursor/commands/status.md +45 -0
- package/.cursor/commands/validate.md +279 -0
- package/.cursor/commands/verify.md +218 -0
- package/.cursor/hooks/state/continual-learning-index.json +19 -0
- package/.cursor/hooks/state/continual-learning.json +8 -0
- package/.cursor/rules/permissions-guidance.mdc +37 -0
- package/.github/prompts/dev.prompt.md +342 -0
- package/.github/prompts/plan.prompt.md +523 -0
- package/.github/prompts/premerge.prompt.md +178 -0
- package/.github/prompts/research.prompt.md +44 -0
- package/.github/prompts/review.prompt.md +444 -0
- package/.github/prompts/rollback.prompt.md +723 -0
- package/.github/prompts/ship.prompt.md +166 -0
- package/.github/prompts/sonarcloud.prompt.md +151 -0
- package/.github/prompts/status.prompt.md +50 -0
- package/.github/prompts/validate.prompt.md +284 -0
- package/.github/prompts/verify.prompt.md +223 -0
- package/.kilocode/workflows/dev.md +341 -0
- package/.kilocode/workflows/plan.md +522 -0
- package/.kilocode/workflows/premerge.md +177 -0
- package/.kilocode/workflows/research.md +43 -0
- package/.kilocode/workflows/review.md +443 -0
- package/.kilocode/workflows/rollback.md +722 -0
- package/.kilocode/workflows/ship.md +165 -0
- package/.kilocode/workflows/sonarcloud.md +150 -0
- package/.kilocode/workflows/status.md +49 -0
- package/.kilocode/workflows/validate.md +283 -0
- package/.kilocode/workflows/verify.md +222 -0
- package/.opencode/commands/dev.md +340 -0
- package/.opencode/commands/plan.md +521 -0
- package/.opencode/commands/premerge.md +176 -0
- package/.opencode/commands/research.md +42 -0
- package/.opencode/commands/review.md +442 -0
- package/.opencode/commands/rollback.md +721 -0
- package/.opencode/commands/ship.md +164 -0
- package/.opencode/commands/sonarcloud.md +149 -0
- package/.opencode/commands/status.md +48 -0
- package/.opencode/commands/validate.md +282 -0
- package/.opencode/commands/verify.md +221 -0
- package/.roo/commands/dev.md +341 -0
- package/.roo/commands/plan.md +522 -0
- package/.roo/commands/premerge.md +177 -0
- package/.roo/commands/research.md +43 -0
- package/.roo/commands/review.md +443 -0
- package/.roo/commands/rollback.md +722 -0
- package/.roo/commands/ship.md +165 -0
- package/.roo/commands/sonarcloud.md +150 -0
- package/.roo/commands/status.md +49 -0
- package/.roo/commands/validate.md +283 -0
- package/.roo/commands/verify.md +222 -0
- package/AGENTS.md +7 -1
- package/CLAUDE.md +5 -4
- package/README.md +21 -19
- package/bin/{forge-validate.js → forge-preflight.js} +21 -15
- package/bin/forge.js +209 -138
- package/docs/AGENT_INSTALL_PROMPT.md +1 -1
- package/docs/BEADS_GITHUB_SYNC.md +251 -0
- package/docs/ENHANCED_ONBOARDING.md +8 -8
- package/docs/EXAMPLES.md +4 -4
- package/docs/GREPTILE_SETUP.md +1 -1
- package/docs/MANUAL_REVIEW_GUIDE.md +1 -1
- package/docs/ROADMAP.md +6 -6
- package/docs/SETUP.md +1 -2
- package/docs/TOOLCHAIN.md +15 -234
- package/docs/VALIDATION.md +11 -11
- package/install.sh +33 -39
- package/lib/agents-config.js +3 -3
- package/lib/commands/plan.js +11 -15
- package/lib/commands/recommend.js +2 -2
- package/lib/dep-guard/analyzer.js +294 -0
- package/lib/dep-guard/behavior-detector.js +98 -0
- package/lib/dep-guard/contract-detector.js +162 -0
- package/lib/dep-guard/import-detector.js +498 -0
- package/lib/dep-guard/path-utils.js +13 -0
- package/lib/dep-guard/rubric.js +120 -0
- package/lib/dep-guard/task-parser.js +318 -0
- package/lib/detect-agent.js +191 -0
- package/lib/detect-worktree.js +47 -0
- package/lib/file-hash.js +26 -0
- package/lib/plugin-catalog.js +18 -28
- package/lib/setup-action-log.js +139 -0
- package/lib/setup-summary-renderer.js +106 -0
- package/lib/setup.js +75 -1
- package/lib/workflow-profiles.js +5 -11
- package/package.json +17 -7
- package/skills/parallel-deep-research/SKILL.md +108 -0
- package/skills/parallel-deep-research/evals/README.md +27 -0
- package/skills/parallel-deep-research/evals/evals.json +62 -0
- package/skills/sonarcloud-analysis/SKILL.md +171 -0
- package/skills/sonarcloud-analysis/evals/README.md +27 -0
- package/skills/sonarcloud-analysis/evals/evals.json +50 -0
- package/skills/sonarcloud-analysis/references/api-reference.md +466 -0
- package/docs/WORKFLOW.md +0 -400
- package/docs/planning/PROGRESS.md +0 -396
- package/docs/plans/.gitkeep +0 -0
- package/docs/plans/2026-02-27-forge-test-suite-v2-decisions.md +0 -21
- package/docs/plans/2026-02-27-forge-test-suite-v2-design.md +0 -362
- package/docs/plans/2026-02-27-forge-test-suite-v2-tasks.md +0 -343
- package/docs/plans/2026-03-02-superpowers-gaps-decisions.md +0 -26
- package/docs/plans/2026-03-02-superpowers-gaps-design.md +0 -239
- package/docs/plans/2026-03-02-superpowers-gaps-tasks.md +0 -260
- package/docs/plans/2026-03-04-agent-command-parity-design.md +0 -163
- package/docs/plans/2026-03-04-verify-worktree-cleanup-decisions.md +0 -7
- package/docs/plans/2026-03-04-verify-worktree-cleanup-design.md +0 -165
- package/docs/plans/2026-03-05-forge-uto-decisions.md +0 -6
- package/docs/plans/2026-03-05-forge-uto-design.md +0 -116
- package/docs/plans/2026-03-05-forge-uto-tasks.md +0 -244
- package/docs/plans/2026-03-10-command-creator-and-eval-decisions.md +0 -52
- package/docs/plans/2026-03-10-command-creator-and-eval-design.md +0 -350
- package/docs/plans/2026-03-10-command-creator-and-eval-tasks.md +0 -426
- package/docs/plans/2026-03-10-stale-workflow-refs-decisions.md +0 -8
- package/docs/plans/2026-03-10-stale-workflow-refs-design.md +0 -80
- package/docs/plans/2026-03-10-stale-workflow-refs-tasks.md +0 -90
- package/docs/plans/2026-03-14-beads-plan-context-decisions.md +0 -9
- package/docs/plans/2026-03-14-beads-plan-context-design.md +0 -171
- package/docs/plans/2026-03-14-beads-plan-context-tasks.md +0 -160
- package/docs/plans/2026-03-14-skill-eval-loop-decisions.md +0 -33
- package/docs/plans/2026-03-14-skill-eval-loop-design.md +0 -118
- package/docs/plans/2026-03-14-skill-eval-loop-results.md +0 -78
- package/docs/plans/2026-03-14-skill-eval-loop-tasks.md +0 -160
- package/docs/plans/2026-03-15-agent-command-parity-v2-decisions.md +0 -11
- package/docs/plans/2026-03-15-agent-command-parity-v2-design.md +0 -145
- package/docs/plans/2026-03-15-agent-command-parity-v2-tasks.md +0 -211
- package/docs/research/TEMPLATE.md +0 -292
- package/docs/research/advanced-testing.md +0 -297
- package/docs/research/agent-permissions.md +0 -167
- package/docs/research/dependency-chain.md +0 -328
- package/docs/research/forge-workflow-v2.md +0 -550
- package/docs/research/plugin-architecture.md +0 -772
- package/docs/research/pr4-cli-automation.md +0 -326
- package/docs/research/premerge-verify-restructure.md +0 -205
- package/docs/research/skills-restructure.md +0 -508
- package/docs/research/sonarcloud-perfection-plan.md +0 -166
- package/docs/research/sonarcloud-quality-gate.md +0 -184
- package/docs/research/superpowers-integration.md +0 -403
- package/docs/research/superpowers.md +0 -319
- package/docs/research/test-environment.md +0 -519
package/docs/TOOLCHAIN.md
CHANGED
|
@@ -9,20 +9,20 @@ Complete reference for all tools integrated with the Forge workflow.
|
|
|
9
9
|
│ FORGE TOOLCHAIN │
|
|
10
10
|
├─────────────────────────────────────────────────────────────────┤
|
|
11
11
|
│ │
|
|
12
|
-
│ ┌─────────────┐
|
|
13
|
-
│ │ BEADS │ │
|
|
14
|
-
│ │ (bd) │ │
|
|
15
|
-
│ │ │ │
|
|
16
|
-
│ │ Git-backed │ │
|
|
17
|
-
│ │ Issue │ │
|
|
18
|
-
│ │ Tracking │ │
|
|
19
|
-
│ └─────────────┘
|
|
20
|
-
│ │
|
|
21
|
-
│
|
|
12
|
+
│ ┌─────────────┐ ┌─────────────────────┐ │
|
|
13
|
+
│ │ BEADS │ │ EXTERNAL SERVICES │ │
|
|
14
|
+
│ │ (bd) │ │ │ │
|
|
15
|
+
│ │ │ │ Parallel AI │ │
|
|
16
|
+
│ │ Git-backed │ │ Greptile │ │
|
|
17
|
+
│ │ Issue │ │ SonarCloud │ │
|
|
18
|
+
│ │ Tracking │ │ GitHub CLI │ │
|
|
19
|
+
│ └─────────────┘ └─────────────────────┘ │
|
|
20
|
+
│ │ │ │
|
|
21
|
+
│ └─────────────────────┘ │
|
|
22
22
|
│ │ │
|
|
23
23
|
│ ┌─────▼─────┐ │
|
|
24
24
|
│ │ FORGE │ │
|
|
25
|
-
│ │
|
|
25
|
+
│ │ 7-Stage │ │
|
|
26
26
|
│ │ Workflow │ │
|
|
27
27
|
│ └───────────┘ │
|
|
28
28
|
│ │
|
|
@@ -219,200 +219,6 @@ bd sync # Always sync at end!
|
|
|
219
219
|
|
|
220
220
|
---
|
|
221
221
|
|
|
222
|
-
## OpenSpec - Spec-Driven Development
|
|
223
|
-
|
|
224
|
-
**Package**: `@fission-ai/openspec`
|
|
225
|
-
**Repository**: [github.com/Fission-AI/OpenSpec](https://github.com/Fission-AI/OpenSpec)
|
|
226
|
-
**Website**: [openspec.dev](https://openspec.dev)
|
|
227
|
-
**Purpose**: Structured specifications for AI-assisted development
|
|
228
|
-
|
|
229
|
-
### Why OpenSpec?
|
|
230
|
-
|
|
231
|
-
- **Specs before code** - AI reads requirements, not just vibes
|
|
232
|
-
- **Non-linear workflow** - Commands execute in any order
|
|
233
|
-
- **Git-native** - Specs versioned like code
|
|
234
|
-
- **Multi-agent** - Works with 21+ AI tools
|
|
235
|
-
- **Zero dependencies** - No API keys, no external services
|
|
236
|
-
|
|
237
|
-
### Installation
|
|
238
|
-
|
|
239
|
-
**Auto-installation** (Recommended):
|
|
240
|
-
```bash
|
|
241
|
-
bunx forge setup
|
|
242
|
-
# Prompts: "Install OpenSpec? (y/n)"
|
|
243
|
-
# Automatically installs and initializes (if selected)
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
**Manual installation**:
|
|
247
|
-
```bash
|
|
248
|
-
# bun (global - requires Node.js 20.19+)
|
|
249
|
-
bun add -g @fission-ai/openspec
|
|
250
|
-
openspec init
|
|
251
|
-
|
|
252
|
-
# bun (local)
|
|
253
|
-
bun add -d @fission-ai/openspec
|
|
254
|
-
bunx openspec init
|
|
255
|
-
|
|
256
|
-
# Or with bunx (no install needed)
|
|
257
|
-
bunx @fission-ai/openspec init
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
### File Structure
|
|
261
|
-
|
|
262
|
-
After `openspec init`:
|
|
263
|
-
|
|
264
|
-
```
|
|
265
|
-
openspec/
|
|
266
|
-
├── specs/
|
|
267
|
-
│ └── [domain]/
|
|
268
|
-
│ └── spec.md # Source of truth for each domain
|
|
269
|
-
│
|
|
270
|
-
├── changes/
|
|
271
|
-
│ ├── [change-name]/
|
|
272
|
-
│ │ ├── proposal.md # Intent, scope, rationale
|
|
273
|
-
│ │ ├── design.md # Technical approach
|
|
274
|
-
│ │ ├── tasks.md # Implementation checklist
|
|
275
|
-
│ │ └── specs/
|
|
276
|
-
│ │ └── [domain]/
|
|
277
|
-
│ │ └── spec.md # Delta specifications
|
|
278
|
-
│ └── archive/ # Completed changes
|
|
279
|
-
│
|
|
280
|
-
├── schemas/
|
|
281
|
-
│ └── default.yaml # Workflow schema
|
|
282
|
-
│
|
|
283
|
-
└── config.yaml # Project configuration
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
### CLI Commands
|
|
287
|
-
|
|
288
|
-
```bash
|
|
289
|
-
# Setup
|
|
290
|
-
openspec init [path] # Initialize OpenSpec
|
|
291
|
-
openspec update # Update after CLI upgrade
|
|
292
|
-
|
|
293
|
-
# Browse
|
|
294
|
-
openspec list # Display changes/specs
|
|
295
|
-
openspec view # Interactive terminal dashboard
|
|
296
|
-
openspec show [name] # Show detailed content
|
|
297
|
-
openspec status # Artifact completion progress
|
|
298
|
-
|
|
299
|
-
# Validation
|
|
300
|
-
openspec validate [name] # Check structural integrity
|
|
301
|
-
openspec validate --strict # Strict validation
|
|
302
|
-
|
|
303
|
-
# Lifecycle
|
|
304
|
-
openspec sync # Merge delta specs into main specs
|
|
305
|
-
openspec archive [name] # Finalize completed changes
|
|
306
|
-
|
|
307
|
-
# Schema
|
|
308
|
-
openspec schema init # Create new schema
|
|
309
|
-
openspec schema fork # Fork existing schema
|
|
310
|
-
openspec schema validate # Validate schema
|
|
311
|
-
openspec schemas # List available schemas
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
### AI Slash Commands (Claude Code, Cursor)
|
|
315
|
-
|
|
316
|
-
```bash
|
|
317
|
-
/opsx:explore # Think through ideas, investigate
|
|
318
|
-
/opsx:new # Start a new change initiative
|
|
319
|
-
/opsx:continue # Create next artifact (incremental)
|
|
320
|
-
/opsx:ff # Fast-forward: generate all planning artifacts
|
|
321
|
-
/opsx:apply # Implement tasks
|
|
322
|
-
/opsx:sync # Merge delta specs into main specs
|
|
323
|
-
/opsx:archive # Mark change complete
|
|
324
|
-
/opsx:verify # Validate implementation matches specs
|
|
325
|
-
/opsx:onboard # Interactive tutorial
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
### Spec Format
|
|
329
|
-
|
|
330
|
-
OpenSpec uses structured markdown with normative language:
|
|
331
|
-
|
|
332
|
-
```markdown
|
|
333
|
-
# Authentication Specification
|
|
334
|
-
|
|
335
|
-
## Purpose
|
|
336
|
-
Enable secure user identity verification and session management
|
|
337
|
-
|
|
338
|
-
## Requirements
|
|
339
|
-
|
|
340
|
-
### Requirement: Session Token Validation
|
|
341
|
-
The system SHALL validate session tokens on every request
|
|
342
|
-
|
|
343
|
-
#### Scenario: Valid Session
|
|
344
|
-
- **GIVEN** user has authenticated
|
|
345
|
-
- **WHEN** request includes valid session token
|
|
346
|
-
- **THEN** process the request
|
|
347
|
-
- **AND** update token expiration time
|
|
348
|
-
|
|
349
|
-
#### Scenario: Expired Session
|
|
350
|
-
- **GIVEN** user had authenticated but 24 hours have passed
|
|
351
|
-
- **WHEN** request includes expired session token
|
|
352
|
-
- **THEN** invalidate the token
|
|
353
|
-
- **AND** redirect to login
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
### Delta Format
|
|
357
|
-
|
|
358
|
-
Changes use ADDED/MODIFIED/REMOVED notation:
|
|
359
|
-
|
|
360
|
-
```markdown
|
|
361
|
-
# Delta for Authentication
|
|
362
|
-
|
|
363
|
-
## ADDED Requirements
|
|
364
|
-
### Requirement: Two-Factor Authentication
|
|
365
|
-
The system SHALL support optional 2FA
|
|
366
|
-
|
|
367
|
-
#### Scenario: 2FA Enrollment
|
|
368
|
-
- **GIVEN** user enables 2FA in settings
|
|
369
|
-
- **WHEN** they scan QR code with authenticator app
|
|
370
|
-
- **THEN** 2FA is activated for their account
|
|
371
|
-
|
|
372
|
-
## MODIFIED Requirements
|
|
373
|
-
### Requirement: Session Token Validation
|
|
374
|
-
[Updated content here]
|
|
375
|
-
|
|
376
|
-
## REMOVED Requirements
|
|
377
|
-
### Requirement: Remember Me Cookie
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
### When to Use OpenSpec
|
|
381
|
-
|
|
382
|
-
| Scope | Use OpenSpec? | Example |
|
|
383
|
-
|-------|---------------|---------|
|
|
384
|
-
| **Tactical** (< 1 day) | No | Bug fix, small feature |
|
|
385
|
-
| **Strategic** (architecture) | Yes | New service, API redesign |
|
|
386
|
-
| **Breaking changes** | Yes | Schema migrations |
|
|
387
|
-
| **Multi-session work** | Yes | Large features |
|
|
388
|
-
|
|
389
|
-
### Workflow Example
|
|
390
|
-
|
|
391
|
-
```bash
|
|
392
|
-
# 1. Start new change
|
|
393
|
-
/opsx:new
|
|
394
|
-
# Describe: "Add payment processing with Stripe"
|
|
395
|
-
# Select schema: default
|
|
396
|
-
|
|
397
|
-
# 2. Generate all planning docs
|
|
398
|
-
/opsx:ff
|
|
399
|
-
# Creates: proposal.md, design.md, tasks.md, specs/
|
|
400
|
-
|
|
401
|
-
# 3. Implement
|
|
402
|
-
/opsx:apply
|
|
403
|
-
# AI writes code following tasks.md
|
|
404
|
-
|
|
405
|
-
# 4. Verify
|
|
406
|
-
/opsx:verify
|
|
407
|
-
# Confirms implementation matches specs
|
|
408
|
-
|
|
409
|
-
# 5. Finalize
|
|
410
|
-
/opsx:sync # Merge deltas into main specs
|
|
411
|
-
/opsx:archive # Move to archive
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
---
|
|
415
|
-
|
|
416
222
|
## MCP Servers
|
|
417
223
|
|
|
418
224
|
### Context7 - Library Documentation
|
|
@@ -710,7 +516,7 @@ volumes:
|
|
|
710
516
|
### GitHub CLI - PR Workflow
|
|
711
517
|
|
|
712
518
|
**Installation**: [cli.github.com](https://cli.github.com)
|
|
713
|
-
**Used in**: `/ship`, `/review`, `/
|
|
519
|
+
**Used in**: `/ship`, `/review`, `/premerge` stages
|
|
714
520
|
|
|
715
521
|
```bash
|
|
716
522
|
# Install
|
|
@@ -735,14 +541,14 @@ gh issue create --title "..." --body "..."
|
|
|
735
541
|
|
|
736
542
|
| Stage | Tools Used |
|
|
737
543
|
|-------|------------|
|
|
738
|
-
| `/status` | `bd ready`, `bd list`, `git status
|
|
544
|
+
| `/status` | `bd ready`, `bd list`, `git status` |
|
|
739
545
|
| `/plan` (Phase 2) | Parallel AI, Context7, grep.app, codebase exploration |
|
|
740
|
-
| `/plan` | `bd create`, `
|
|
546
|
+
| `/plan` | `bd create`, `git checkout -b` |
|
|
741
547
|
| `/dev` | Tests, code, `bd update`, `/tasks save` |
|
|
742
548
|
| `/validate` | Type check, lint, tests, SonarCloud |
|
|
743
549
|
| `/ship` | `bd update --status done`, `gh pr create` |
|
|
744
550
|
| `/review` | `gh pr view`, Greptile, SonarCloud |
|
|
745
|
-
| `/
|
|
551
|
+
| `/premerge` | `bd sync`, doc updates, hand off PR |
|
|
746
552
|
| `/verify` | Documentation cross-check |
|
|
747
553
|
|
|
748
554
|
---
|
|
@@ -762,17 +568,6 @@ bd close <id> # Complete
|
|
|
762
568
|
bd sync # Git sync
|
|
763
569
|
```
|
|
764
570
|
|
|
765
|
-
### OpenSpec (Specifications)
|
|
766
|
-
|
|
767
|
-
```bash
|
|
768
|
-
openspec init # Initialize
|
|
769
|
-
/opsx:new # Start change (AI)
|
|
770
|
-
/opsx:ff # Generate all docs (AI)
|
|
771
|
-
/opsx:apply # Implement (AI)
|
|
772
|
-
openspec validate <name> # Validate
|
|
773
|
-
openspec archive <name> # Complete
|
|
774
|
-
```
|
|
775
|
-
|
|
776
571
|
### GitHub CLI
|
|
777
572
|
|
|
778
573
|
```bash
|
|
@@ -816,19 +611,6 @@ bd sync --force
|
|
|
816
611
|
bd sync # Re-imports from JSONL
|
|
817
612
|
```
|
|
818
613
|
|
|
819
|
-
### OpenSpec
|
|
820
|
-
|
|
821
|
-
**"openspec: command not found"**
|
|
822
|
-
```bash
|
|
823
|
-
bun add -g @fission-ai/openspec
|
|
824
|
-
# Or use bunx @fission-ai/openspec <command>
|
|
825
|
-
```
|
|
826
|
-
|
|
827
|
-
**Validation errors**
|
|
828
|
-
```bash
|
|
829
|
-
openspec validate <name> --verbose
|
|
830
|
-
```
|
|
831
|
-
|
|
832
614
|
### GitHub CLI
|
|
833
615
|
|
|
834
616
|
**"gh: not authenticated"**
|
|
@@ -842,7 +624,6 @@ gh auth status
|
|
|
842
624
|
## Resources
|
|
843
625
|
|
|
844
626
|
- **Beads**: [github.com/steveyegge/beads](https://github.com/steveyegge/beads)
|
|
845
|
-
- **OpenSpec**: [openspec.dev](https://openspec.dev) | [github.com/Fission-AI/OpenSpec](https://github.com/Fission-AI/OpenSpec)
|
|
846
627
|
- **Parallel AI**: [platform.parallel.ai](https://platform.parallel.ai)
|
|
847
628
|
- **Greptile**: [greptile.com](https://greptile.com)
|
|
848
629
|
- **SonarCloud**: [sonarcloud.io](https://sonarcloud.io)
|
package/docs/VALIDATION.md
CHANGED
|
@@ -70,12 +70,12 @@ LEFTHOOK=0 git push # Skip all hooks
|
|
|
70
70
|
|
|
71
71
|
## Validation CLI
|
|
72
72
|
|
|
73
|
-
The `forge-
|
|
73
|
+
The `forge-preflight` CLI checks prerequisites for each workflow stage.
|
|
74
74
|
|
|
75
75
|
### Usage
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
|
-
forge-
|
|
78
|
+
forge-preflight <command>
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
### Commands
|
|
@@ -90,7 +90,7 @@ forge-validate <command>
|
|
|
90
90
|
|
|
91
91
|
## Validators by Stage
|
|
92
92
|
|
|
93
|
-
### `forge-
|
|
93
|
+
### `forge-preflight status`
|
|
94
94
|
|
|
95
95
|
**Purpose**: Check basic project setup
|
|
96
96
|
|
|
@@ -102,7 +102,7 @@ forge-validate <command>
|
|
|
102
102
|
|
|
103
103
|
**Example**:
|
|
104
104
|
```bash
|
|
105
|
-
$ forge-
|
|
105
|
+
$ forge-preflight status
|
|
106
106
|
|
|
107
107
|
Checking project prerequisites...
|
|
108
108
|
|
|
@@ -118,7 +118,7 @@ Validation Results:
|
|
|
118
118
|
|
|
119
119
|
---
|
|
120
120
|
|
|
121
|
-
### `forge-
|
|
121
|
+
### `forge-preflight dev`
|
|
122
122
|
|
|
123
123
|
**Purpose**: Validate before starting implementation (`/dev`)
|
|
124
124
|
|
|
@@ -130,7 +130,7 @@ Validation Results:
|
|
|
130
130
|
|
|
131
131
|
**Example**:
|
|
132
132
|
```bash
|
|
133
|
-
$ forge-
|
|
133
|
+
$ forge-preflight dev
|
|
134
134
|
|
|
135
135
|
Validating prerequisites for /dev stage...
|
|
136
136
|
|
|
@@ -146,7 +146,7 @@ Validation Results:
|
|
|
146
146
|
|
|
147
147
|
**Failed Example**:
|
|
148
148
|
```bash
|
|
149
|
-
$ forge-
|
|
149
|
+
$ forge-preflight dev
|
|
150
150
|
|
|
151
151
|
Validating prerequisites for /dev stage...
|
|
152
152
|
|
|
@@ -163,7 +163,7 @@ Validation Results:
|
|
|
163
163
|
|
|
164
164
|
---
|
|
165
165
|
|
|
166
|
-
### `forge-
|
|
166
|
+
### `forge-preflight ship`
|
|
167
167
|
|
|
168
168
|
**Purpose**: Validate before creating PR (`/ship`)
|
|
169
169
|
|
|
@@ -175,7 +175,7 @@ Validation Results:
|
|
|
175
175
|
|
|
176
176
|
**Example**:
|
|
177
177
|
```bash
|
|
178
|
-
$ forge-
|
|
178
|
+
$ forge-preflight ship
|
|
179
179
|
|
|
180
180
|
Validating prerequisites for /ship stage...
|
|
181
181
|
|
|
@@ -269,7 +269,7 @@ const testPatterns = [
|
|
|
269
269
|
|
|
270
270
|
### Validation CLI Customization
|
|
271
271
|
|
|
272
|
-
Edit `bin/forge-
|
|
272
|
+
Edit `bin/forge-preflight.js` to add custom validators:
|
|
273
273
|
|
|
274
274
|
```javascript
|
|
275
275
|
function validateCustomStage() {
|
|
@@ -358,6 +358,6 @@ git push
|
|
|
358
358
|
|
|
359
359
|
## See Also
|
|
360
360
|
|
|
361
|
-
- [Workflow Guide](
|
|
361
|
+
- [Workflow Guide](../AGENTS.md) - Complete 7-stage workflow
|
|
362
362
|
- [TDD Guide](../CLAUDE.md) - TDD principles and practices
|
|
363
363
|
- [Lefthook Docs](https://github.com/evilmartians/lefthook) - Full hook configuration
|
package/install.sh
CHANGED
|
@@ -285,7 +285,6 @@ echo -e " ${GREEN}Created: AGENTS.md${NC}"
|
|
|
285
285
|
|
|
286
286
|
# Download documentation
|
|
287
287
|
echo "Downloading documentation..."
|
|
288
|
-
curl -fsSL "$BASE_URL/docs/WORKFLOW.md" -o "docs/WORKFLOW.md" 2>/dev/null || true
|
|
289
288
|
curl -fsSL "$BASE_URL/docs/research/TEMPLATE.md" -o "docs/research/TEMPLATE.md" 2>/dev/null || true
|
|
290
289
|
|
|
291
290
|
# Create PROGRESS.md if not exists
|
|
@@ -342,7 +341,7 @@ create_link() {
|
|
|
342
341
|
# Universal SKILL.md content
|
|
343
342
|
SKILL_CONTENT='---
|
|
344
343
|
name: forge-workflow
|
|
345
|
-
description:
|
|
344
|
+
description: 7-stage TDD-first workflow for feature development. Use when building features, fixing bugs, or shipping PRs.
|
|
346
345
|
category: Development Workflow
|
|
347
346
|
tags: [tdd, workflow, pr, git, testing]
|
|
348
347
|
tools: [Bash, Read, Write, Edit, Grep, Glob]
|
|
@@ -360,24 +359,23 @@ Automatically invoke this skill when the user wants to:
|
|
|
360
359
|
- Create a pull request
|
|
361
360
|
- Run the development workflow
|
|
362
361
|
|
|
363
|
-
##
|
|
362
|
+
## 7 Stages
|
|
364
363
|
|
|
365
364
|
| Stage | Command | Description |
|
|
366
365
|
|-------|---------|-------------|
|
|
367
|
-
|
|
|
368
|
-
|
|
|
369
|
-
|
|
|
370
|
-
|
|
|
371
|
-
|
|
|
372
|
-
|
|
|
373
|
-
|
|
|
374
|
-
|
|
|
375
|
-
| 9 | `/verify` | Final documentation verification |
|
|
366
|
+
| utility | `/status` | Check current context, active work, recent completions |
|
|
367
|
+
| 1 | `/plan` | Design intent -> research -> branch + worktree + task list |
|
|
368
|
+
| 2 | `/dev` | TDD development (implementer -> spec review -> quality review) |
|
|
369
|
+
| 3 | `/validate` | Type check, lint, security, tests - all fresh output |
|
|
370
|
+
| 4 | `/ship` | Push branch and create PR with full documentation |
|
|
371
|
+
| 5 | `/review` | Address ALL PR feedback (GitHub Actions, Greptile, SonarCloud) |
|
|
372
|
+
| 6 | `/premerge` | Update docs, hand off PR to user |
|
|
373
|
+
| 7 | `/verify` | Post-merge health check (CI on main, close Beads) |
|
|
376
374
|
|
|
377
375
|
## Workflow Flow
|
|
378
376
|
|
|
379
377
|
```
|
|
380
|
-
/status -> /
|
|
378
|
+
/status -> /plan -> /dev -> /validate -> /ship -> /review -> /premerge -> /verify
|
|
381
379
|
```
|
|
382
380
|
|
|
383
381
|
## Core Principles
|
|
@@ -398,10 +396,10 @@ if [ "$INSTALL_CLAUDE" = true ]; then
|
|
|
398
396
|
mkdir -p .claude/commands .claude/rules .claude/skills/forge-workflow .claude/scripts
|
|
399
397
|
|
|
400
398
|
# Download commands
|
|
401
|
-
for cmd in status
|
|
399
|
+
for cmd in status plan dev validate ship review premerge verify research rollback sonarcloud; do
|
|
402
400
|
curl -fsSL "$BASE_URL/.claude/commands/$cmd.md" -o ".claude/commands/$cmd.md" 2>/dev/null || true
|
|
403
401
|
done
|
|
404
|
-
echo -e " ${GREEN}Downloaded:
|
|
402
|
+
echo -e " ${GREEN}Downloaded: 11 workflow commands${NC}"
|
|
405
403
|
|
|
406
404
|
# Download rules
|
|
407
405
|
curl -fsSL "$BASE_URL/.claude/rules/workflow.md" -o ".claude/rules/workflow.md" 2>/dev/null || true
|
|
@@ -458,14 +456,13 @@ alwaysApply: true
|
|
|
458
456
|
Use these commands via `/command-name`:
|
|
459
457
|
|
|
460
458
|
1. `/status` - Check current context, active work, recent completions
|
|
461
|
-
2. `/
|
|
462
|
-
3. `/
|
|
463
|
-
4. `/
|
|
464
|
-
5. `/
|
|
465
|
-
6. `/
|
|
466
|
-
7. `/
|
|
467
|
-
8. `/
|
|
468
|
-
9. `/verify` - Final documentation verification
|
|
459
|
+
2. `/plan` - Design intent -> research -> branch + worktree + task list
|
|
460
|
+
3. `/dev` - TDD development (implementer -> spec review -> quality review)
|
|
461
|
+
4. `/validate` - Type check, lint, security, tests - all fresh output
|
|
462
|
+
5. `/ship` - Push branch and create PR with full documentation
|
|
463
|
+
6. `/review` - Address ALL PR feedback (GitHub Actions, Greptile, SonarCloud)
|
|
464
|
+
7. `/premerge` - Update docs, hand off PR to user
|
|
465
|
+
8. `/verify` - Post-merge health check (CI on main, close Beads)
|
|
469
466
|
|
|
470
467
|
See AGENTS.md for full workflow details.
|
|
471
468
|
MDC_EOF
|
|
@@ -495,7 +492,7 @@ if [ "$INSTALL_WINDSURF" = true ]; then
|
|
|
495
492
|
filename=$(basename "$cmd")
|
|
496
493
|
strip_frontmatter "$cmd" > ".windsurf/workflows/$filename" 2>/dev/null || cp "$cmd" ".windsurf/workflows/$filename"
|
|
497
494
|
done
|
|
498
|
-
echo -e " ${GREEN}Converted:
|
|
495
|
+
echo -e " ${GREEN}Converted: 11 workflow commands${NC}"
|
|
499
496
|
|
|
500
497
|
# Copy rules
|
|
501
498
|
cp .claude/rules/workflow.md .windsurf/rules/workflow.md 2>/dev/null || true
|
|
@@ -525,7 +522,7 @@ if [ "$INSTALL_KILOCODE" = true ]; then
|
|
|
525
522
|
filename=$(basename "$cmd")
|
|
526
523
|
strip_frontmatter "$cmd" > ".kilocode/workflows/$filename" 2>/dev/null || cp "$cmd" ".kilocode/workflows/$filename"
|
|
527
524
|
done
|
|
528
|
-
echo -e " ${GREEN}Converted:
|
|
525
|
+
echo -e " ${GREEN}Converted: 11 workflow commands${NC}"
|
|
529
526
|
|
|
530
527
|
# Copy rules
|
|
531
528
|
cp .claude/rules/workflow.md .kilocode/rules/workflow.md 2>/dev/null || true
|
|
@@ -552,7 +549,7 @@ if [ "$INSTALL_ANTIGRAVITY" = true ]; then
|
|
|
552
549
|
filename=$(basename "$cmd")
|
|
553
550
|
strip_frontmatter "$cmd" > ".agent/workflows/$filename" 2>/dev/null || cp "$cmd" ".agent/workflows/$filename"
|
|
554
551
|
done
|
|
555
|
-
echo -e " ${GREEN}Converted:
|
|
552
|
+
echo -e " ${GREEN}Converted: 11 workflow commands${NC}"
|
|
556
553
|
|
|
557
554
|
# Copy rules
|
|
558
555
|
cp .claude/rules/workflow.md .agent/rules/workflow.md 2>/dev/null || true
|
|
@@ -583,7 +580,7 @@ if [ "$INSTALL_COPILOT" = true ]; then
|
|
|
583
580
|
filename="${basename_noext}.prompt.md"
|
|
584
581
|
strip_frontmatter "$cmd" > ".github/prompts/$filename" 2>/dev/null || cp "$cmd" ".github/prompts/$filename"
|
|
585
582
|
done
|
|
586
|
-
echo -e " ${GREEN}Converted:
|
|
583
|
+
echo -e " ${GREEN}Converted: 11 workflow prompts${NC}"
|
|
587
584
|
fi
|
|
588
585
|
|
|
589
586
|
# Link copilot-instructions.md -> AGENTS.md
|
|
@@ -615,7 +612,7 @@ if [ "$INSTALL_CONTINUE" = true ]; then
|
|
|
615
612
|
strip_frontmatter "$cmd" 2>/dev/null || cat "$cmd"
|
|
616
613
|
} > ".continue/prompts/$filename"
|
|
617
614
|
done
|
|
618
|
-
echo -e " ${GREEN}Converted:
|
|
615
|
+
echo -e " ${GREEN}Converted: 11 workflow prompts${NC}"
|
|
619
616
|
fi
|
|
620
617
|
|
|
621
618
|
# Create SKILL.md
|
|
@@ -660,7 +657,7 @@ if [ "$INSTALL_OPENCODE" = true ]; then
|
|
|
660
657
|
# Copy commands as-is (same YAML format)
|
|
661
658
|
if [ "$INSTALL_CLAUDE" = true ]; then
|
|
662
659
|
cp .claude/commands/*.md .opencode/commands/ 2>/dev/null || true
|
|
663
|
-
echo -e " ${GREEN}Copied:
|
|
660
|
+
echo -e " ${GREEN}Copied: 11 workflow commands${NC}"
|
|
664
661
|
fi
|
|
665
662
|
|
|
666
663
|
# Create SKILL.md
|
|
@@ -701,7 +698,7 @@ if [ "$INSTALL_ROO" = true ]; then
|
|
|
701
698
|
filename=$(basename "$cmd")
|
|
702
699
|
strip_frontmatter "$cmd" > ".roo/commands/$filename" 2>/dev/null || cp "$cmd" ".roo/commands/$filename"
|
|
703
700
|
done
|
|
704
|
-
echo -e " ${GREEN}Converted:
|
|
701
|
+
echo -e " ${GREEN}Converted: 11 workflow commands${NC}"
|
|
705
702
|
fi
|
|
706
703
|
|
|
707
704
|
# Link .roorules -> AGENTS.md
|
|
@@ -725,7 +722,6 @@ if [ "$INSTALL_AIDER" = true ]; then
|
|
|
725
722
|
# Read AGENTS.md for workflow instructions
|
|
726
723
|
read:
|
|
727
724
|
- AGENTS.md
|
|
728
|
-
- docs/WORKFLOW.md
|
|
729
725
|
EOF
|
|
730
726
|
echo -e " ${GREEN}Created: .aider.conf.yml${NC}"
|
|
731
727
|
else
|
|
@@ -1043,20 +1039,18 @@ echo -e " GET STARTED"
|
|
|
1043
1039
|
echo -e "==============================================${NC}"
|
|
1044
1040
|
echo ""
|
|
1045
1041
|
echo " /status - Check current context"
|
|
1046
|
-
echo " /
|
|
1047
|
-
echo " /
|
|
1048
|
-
echo " /
|
|
1049
|
-
echo " /check - Run validation"
|
|
1042
|
+
echo " /plan - Design intent, research, branch + task list"
|
|
1043
|
+
echo " /dev - TDD development"
|
|
1044
|
+
echo " /validate - Type check, lint, tests, security"
|
|
1050
1045
|
echo " /ship - Create pull request"
|
|
1051
1046
|
echo " /review - Address PR feedback"
|
|
1052
|
-
echo " /
|
|
1053
|
-
echo " /verify -
|
|
1047
|
+
echo " /premerge - Update docs, hand off PR"
|
|
1048
|
+
echo " /verify - Post-merge health check"
|
|
1054
1049
|
echo ""
|
|
1055
|
-
echo " Full guide:
|
|
1050
|
+
echo " Full guide: AGENTS.md"
|
|
1056
1051
|
echo ""
|
|
1057
1052
|
echo "Optional tools:"
|
|
1058
1053
|
echo " - Beads: $PKG_MANAGER install -g @beads/bd && bd init"
|
|
1059
|
-
echo " - OpenSpec: $PKG_MANAGER install -g @fission-ai/openspec"
|
|
1060
1054
|
echo ""
|
|
1061
1055
|
echo -e "${CYAN}Package manager detected: $PKG_MANAGER${NC}"
|
|
1062
1056
|
echo ""
|
package/lib/agents-config.js
CHANGED
|
@@ -248,7 +248,7 @@ Generate with: \`bunx forge setup --agent=<name>\`
|
|
|
248
248
|
## Support
|
|
249
249
|
|
|
250
250
|
- **Documentation**: \`docs/\` directory
|
|
251
|
-
- **Workflow Guide**: \`
|
|
251
|
+
- **Workflow Guide**: \`AGENTS.md\`
|
|
252
252
|
- **Architecture**: \`docs/ARCHITECTURE.md\` (if it exists)
|
|
253
253
|
- **Configuration**: \`docs/CONFIGURATION.md\` (if it exists)
|
|
254
254
|
|
|
@@ -503,7 +503,7 @@ ${meta.language === 'TypeScript' ? `
|
|
|
503
503
|
|
|
504
504
|
## Additional Resources
|
|
505
505
|
|
|
506
|
-
- **Workflow Guide**: \`
|
|
506
|
+
- **Workflow Guide**: \`AGENTS.md\`
|
|
507
507
|
- **Architecture**: \`docs/ARCHITECTURE.md\`
|
|
508
508
|
- **Configuration**: \`docs/CONFIGURATION.md\`
|
|
509
509
|
`;
|
|
@@ -1769,7 +1769,7 @@ bunx forge setup --config=.forgerc.ci.json
|
|
|
1769
1769
|
|
|
1770
1770
|
- [ARCHITECTURE.md](./ARCHITECTURE.md) - How multi-agent support works
|
|
1771
1771
|
- [MCP_SETUP.md](./MCP_SETUP.md) - MCP server configuration
|
|
1772
|
-
- [
|
|
1772
|
+
- [AGENTS.md](../AGENTS.md) - Complete workflow guide
|
|
1773
1773
|
`;
|
|
1774
1774
|
}
|
|
1775
1775
|
|