forge-workflow 0.0.10 → 0.1.0-beta.2
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/rules/{greptile-review-process.md → review-process.md} +56 -41
- package/.claude/scripts/{greptile-resolve.sh → review-resolve.sh} +13 -3
- package/.cursor/rules/permissions-guidance.mdc +2 -2
- package/.forge/hooks/check-tdd.js +3 -0
- package/.forge/hooks/forge-native-hook.js +245 -0
- package/.forge/protected-paths.yaml +157 -0
- package/AGENTS.md +150 -61
- package/CHANGELOG.md +681 -0
- package/CLAUDE.md +9 -118
- package/QUICKSTART.md +171 -0
- package/README.md +271 -363
- package/bin/forge-cmd.js +120 -9
- package/bin/forge-preflight.js +26 -5
- package/bin/forge.js +461 -489
- package/docs/INDEX.md +93 -0
- package/docs/PROJECT_DESIGN.md +685 -0
- package/docs/architecture/index.md +66 -0
- package/docs/architecture/notes/README.md +35 -0
- package/docs/architecture/subsystems/README.md +46 -0
- package/docs/forge/TOOLCHAIN.md +670 -0
- package/docs/forge/VALIDATION.md +82 -0
- package/docs/{AGENT_INSTALL_PROMPT.md → guides/AGENT_INSTALL_PROMPT.md} +3 -3
- package/docs/guides/BEADS_GITHUB_SYNC.md +32 -0
- package/docs/{ENHANCED_ONBOARDING.md → guides/ENHANCED_ONBOARDING.md} +16 -12
- package/docs/guides/GREPTILE_SETUP.md +46 -0
- package/docs/guides/MANUAL_REVIEW_GUIDE.md +58 -0
- package/docs/guides/MIGRATION.md +56 -0
- package/docs/guides/SETUP.md +118 -0
- package/docs/guides/SUPPORT.md +185 -0
- package/docs/guides/WORKFLOW_TEMPLATES.md +74 -0
- package/docs/guides/memory-backends.md +183 -0
- package/docs/reference/ADAPTERS.md +128 -0
- package/docs/reference/AGENT_SKILL_PARITY.md +175 -0
- package/docs/reference/COMMANDS.md +205 -0
- package/docs/reference/DECISION_DRIFT_GUARDS.md +97 -0
- package/docs/{EXAMPLES.md → reference/EXAMPLES.md} +7 -5
- package/docs/reference/FORGE_KERNEL_STORAGE_MODEL.md +135 -0
- package/docs/reference/HERMES_INTEGRATION.md +118 -0
- package/docs/reference/INSIGHTS_RECAP.md +63 -0
- package/docs/reference/INSTALL.md +164 -0
- package/docs/reference/KERNEL_TAXONOMY_VALIDATION.md +161 -0
- package/docs/reference/PROTECTED_PATH_MANIFEST.md +25 -0
- package/docs/reference/RELEASE.md +68 -0
- package/docs/reference/RESEARCH_TEMPLATE.md +292 -0
- package/docs/{ROADMAP.md → reference/ROADMAP.md} +12 -9
- package/docs/reference/SKILLS.md +35 -0
- package/docs/reference/STATUS_BOARD.md +80 -0
- package/docs/reference/TEMPLATES.md +106 -0
- package/docs/{TOOLCHAIN.md → reference/TOOLCHAIN.md} +62 -47
- package/docs/reference/VALIDATION.md +82 -0
- package/docs/reference/agent-permissions.md +169 -0
- package/docs/reference/beads-to-kernel-migration-ux.md +61 -0
- package/docs/reference/control-plane-guarantees.md +125 -0
- package/docs/reference/dependency-chain.md +331 -0
- package/docs/reference/forge-kernel-issue-command-contract.md +161 -0
- package/docs/reference/forge-kernel-schema.md +72 -0
- package/docs/reference/kernel-conflict-evaluators.md +27 -0
- package/docs/reference/patch-md-format.md +77 -0
- package/docs/reference/protected-state-surfaces.md +59 -0
- package/docs/reference/shepherd.md +115 -0
- package/docs/reference/superpowers-analysis.md +320 -0
- package/docs/reference/superpowers-integration-options.md +404 -0
- package/docs/reference/test-environment.md +519 -0
- package/docs/reference/upgrade-safety.md +59 -0
- package/lefthook.yml +18 -0
- package/lib/adapter-cli.js +307 -0
- package/lib/adapters/beads-issue-adapter.js +127 -0
- package/lib/adapters/beads-kernel-compat.js +1042 -0
- package/lib/adapters/greptile-review-adapter.js +141 -0
- package/lib/adapters/kernel-issue-adapter.js +101 -0
- package/lib/adapters/pr-state-adapter.js +484 -0
- package/lib/adoption-profiles.js +126 -0
- package/lib/agents/README.md +2 -6
- package/lib/agents/claude.plugin.json +3 -8
- package/lib/agents/codex.plugin.json +9 -1
- package/lib/agents/cursor.plugin.json +2 -6
- package/lib/agents/hermes.plugin.json +22 -0
- package/lib/agents-config.js +39 -1236
- package/lib/audit-evidence.js +282 -0
- package/lib/beads-setup.js +121 -0
- package/lib/beads-sync-scaffold.js +25 -101
- package/lib/codex-skills.js +51 -1
- package/lib/commands/_issue.js +741 -77
- package/lib/commands/_manifest.js +91 -0
- package/lib/commands/_registry.js +85 -34
- package/lib/commands/_resolve-command-opts.js +261 -0
- package/lib/commands/_serve-security.js +270 -0
- package/lib/commands/adapter.js +12 -0
- package/lib/commands/add.js +118 -0
- package/lib/commands/audit.js +70 -0
- package/lib/commands/blocked.js +5 -0
- package/lib/commands/board.js +64 -0
- package/lib/commands/claim.js +21 -2
- package/lib/commands/claims.js +7 -0
- package/lib/commands/clean.js +485 -75
- package/lib/commands/close.js +2 -2
- package/lib/commands/comment.js +5 -0
- package/lib/commands/control.js +148 -0
- package/lib/commands/create.js +2 -2
- package/lib/commands/dev.js +185 -7
- package/lib/commands/doc-gate.js +336 -0
- package/lib/commands/doctor.js +156 -0
- package/lib/commands/explain.js +15 -0
- package/lib/commands/export.js +237 -0
- package/lib/commands/gate.js +192 -0
- package/lib/commands/hooks.js +242 -0
- package/lib/commands/inbox.js +118 -0
- package/lib/commands/init.js +598 -0
- package/lib/commands/insights.js +79 -0
- package/lib/commands/issue.js +12 -1
- package/lib/commands/issues.js +17 -0
- package/lib/commands/lint.js +5 -0
- package/lib/commands/list.js +2 -2
- package/lib/commands/merge.js +312 -0
- package/lib/commands/migrate.js +523 -0
- package/lib/commands/new.js +12 -0
- package/lib/commands/options.js +241 -0
- package/lib/commands/orient.js +13 -0
- package/lib/commands/orphans.js +5 -0
- package/lib/commands/patch.js +67 -0
- package/lib/commands/plan.js +436 -24
- package/lib/commands/preflight.js +211 -0
- package/lib/commands/prime.js +13 -0
- package/lib/commands/push.js +69 -2
- package/lib/commands/ready.js +2 -2
- package/lib/commands/recall.js +116 -0
- package/lib/commands/recap.js +61 -0
- package/lib/commands/recommend.js +0 -1
- package/lib/commands/release.js +91 -0
- package/lib/commands/remember.js +74 -0
- package/lib/commands/role.js +99 -0
- package/lib/commands/serve.js +581 -0
- package/lib/commands/setup.js +838 -972
- package/lib/commands/shepherd.js +436 -0
- package/lib/commands/ship.js +23 -1
- package/lib/commands/show.js +2 -2
- package/lib/commands/stage.js +192 -0
- package/lib/commands/stale.js +5 -0
- package/lib/commands/status.js +158 -21
- package/lib/commands/sync.js +34 -46
- package/lib/commands/team.js +4 -1
- package/lib/commands/test.js +43 -27
- package/lib/commands/update.js +2 -2
- package/lib/commands/upgrade.js +47 -0
- package/lib/commands/validate.js +43 -18
- package/lib/commands/worktree.js +307 -100
- package/lib/config-writer.js +202 -0
- package/lib/control-plane.js +236 -0
- package/lib/core/runtime-graph.js +946 -0
- package/lib/dep-guard/keyword-ripple.js +2 -2
- package/lib/deprecated-sync-cleanup.js +362 -0
- package/lib/detect-agent.js +2 -28
- package/lib/detect-worktree.js +35 -9
- package/lib/doc-gate/declaration.js +177 -0
- package/lib/doc-gate/detect.js +289 -0
- package/lib/doc-gate/gate.js +375 -0
- package/lib/doc-gate/okf-config.js +128 -0
- package/lib/doc-gate/okf.js +429 -0
- package/lib/docs-command.js +1161 -6
- package/lib/forge-issues.js +382 -11
- package/lib/forge-lock.js +262 -0
- package/lib/gate-events.js +193 -0
- package/lib/global-flags.js +74 -0
- package/lib/greptile-match.js +7 -63
- package/lib/harness-capability-matrix.js +380 -0
- package/lib/hook-global-installer.js +347 -0
- package/lib/hook-renderer.js +451 -0
- package/lib/inbox.js +391 -0
- package/lib/insights.js +397 -0
- package/lib/issue-adapter.js +156 -0
- package/lib/issue-backend.js +145 -0
- package/lib/issue-render.js +220 -0
- package/lib/kernel/backing-issue.js +305 -0
- package/lib/kernel/broker.js +1218 -0
- package/lib/kernel/cli-broker-factory.js +130 -0
- package/lib/kernel/conflict-signal.js +82 -0
- package/lib/kernel/evaluators.js +195 -0
- package/lib/kernel/fs-class.js +495 -0
- package/lib/kernel/issue-command-contract.js +559 -0
- package/lib/kernel/issue-id-resolver.js +186 -0
- package/lib/kernel/lease-enforcer.js +158 -0
- package/lib/kernel/migrations.js +333 -0
- package/lib/kernel/planning-buckets-schema.js +109 -0
- package/lib/kernel/projection-jsonl-writer.js +450 -0
- package/lib/kernel/readiness-model.js +329 -0
- package/lib/kernel/schema.js +356 -0
- package/lib/kernel/sqlite-driver.js +2504 -0
- package/lib/kernel/taxonomy-validator.js +394 -0
- package/lib/lefthook-check.js +3 -2
- package/lib/lefthook-wiring.js +413 -0
- package/lib/mcp-config-renderer.js +288 -0
- package/lib/memory/graphiti-mcp.js +106 -0
- package/lib/memory/router.js +387 -0
- package/lib/memory/typed-api.js +102 -0
- package/lib/memory-digest.js +195 -0
- package/lib/merge-rules.js +395 -0
- package/lib/migrate-dry-run.js +466 -0
- package/lib/orientation.js +863 -0
- package/lib/package-manager-remediation.js +103 -0
- package/lib/package-root.js +381 -0
- package/lib/patch-intent.js +890 -0
- package/lib/plugin-catalog.js +3 -4
- package/lib/plugin-manager.js +0 -5
- package/lib/pr-bundle.js +186 -0
- package/lib/pr-monitor/differ.js +195 -0
- package/lib/pr-monitor/events.js +0 -0
- package/lib/pr-monitor/gather.js +124 -0
- package/lib/pr-monitor/journal.js +299 -0
- package/lib/pr-monitor/monitor.js +146 -0
- package/lib/pr-monitor/render-sticky.js +157 -0
- package/lib/pr-monitor/watch-lifecycle.js +95 -0
- package/lib/pr-monitor/watch.js +247 -0
- package/lib/pr-pull.js +1273 -0
- package/lib/pr-shepherd.js +494 -0
- package/lib/pr-state-validator.js +59 -0
- package/lib/preflight/gates.js +237 -0
- package/lib/preflight/runner.js +116 -0
- package/lib/project-discovery.js +0 -53
- package/lib/project-memory.js +99 -497
- package/lib/protected-path-manifest.js +281 -0
- package/lib/protected-state-surfaces.js +387 -0
- package/lib/release-readiness.js +2089 -0
- package/lib/reset.js +59 -45
- package/lib/review-adapter.js +68 -0
- package/lib/rules-sync.js +260 -0
- package/lib/runtime-health.js +241 -20
- package/lib/safety-config-renderer.js +268 -0
- package/lib/setup-action-log.js +1 -7
- package/lib/setup.js +27 -65
- package/lib/shell-utils.js +76 -6
- package/lib/skills-sync.js +330 -0
- package/lib/smart-status/scoring.js +17 -3
- package/lib/status/beads-snapshot.js +45 -2
- package/lib/status/presenter.js +169 -18
- package/lib/status/snapshot.js +186 -0
- package/lib/sync-backend.js +202 -0
- package/lib/untrusted-content.js +52 -0
- package/lib/upgrade-safety.js +199 -0
- package/lib/workflow/enforce-stage.js +296 -47
- package/lib/workflow/stage-transition.js +115 -0
- package/lib/workflow/stages.js +30 -6
- package/lib/workflow/state-manager.js +11 -22
- package/lib/workflow/state.js +23 -1
- package/lib/workflow-profiles.js +17 -5
- package/package.json +37 -35
- package/rules/documentation.md +19 -0
- package/rules/kernel-tracking.md +26 -0
- package/rules/security.md +22 -0
- package/rules/tdd.md +20 -0
- package/rules/workflow.md +27 -0
- package/scripts/auto-backing-issue.js +47 -0
- package/scripts/beads-context.sh +81 -57
- package/scripts/beads-upgrade-smoke.sh +24 -3
- package/scripts/bootstrap-windows-tools.sh +78 -0
- package/scripts/branch-protection.js +2 -3
- package/scripts/check-agents.js +34 -137
- package/scripts/commitlint.js +3 -1
- package/scripts/conflict-detect.sh +3 -0
- package/scripts/dep-guard.sh +22 -3
- package/scripts/file-index.sh +3 -0
- package/scripts/forge-team/lib/claim.sh +34 -18
- package/scripts/forge-team/lib/dashboard.sh +61 -86
- package/scripts/forge-team/lib/epic.sh +99 -263
- package/scripts/forge-team/lib/hooks.sh +26 -28
- package/scripts/forge-team/lib/identity.sh +4 -4
- package/scripts/forge-team/lib/sync-github.sh +49 -84
- package/scripts/forge-team/lib/verify.sh +93 -83
- package/scripts/forge-team/lib/workload.sh +41 -65
- package/scripts/forge-team/tests/claim.test.sh +25 -19
- package/scripts/forge-team/tests/dashboard.test.sh +31 -46
- package/scripts/forge-team/tests/epic.test.sh +52 -71
- package/scripts/forge-team/tests/hooks.test.sh +38 -50
- package/scripts/forge-team/tests/identity.test.sh +3 -3
- package/scripts/forge-team/tests/integration.test.sh +44 -66
- package/scripts/forge-team/tests/sync-github.test.sh +50 -83
- package/scripts/forge-team/tests/verify.test.sh +37 -46
- package/scripts/forge-team/tests/workflow-integration.test.sh +4 -4
- package/scripts/forge-team/tests/workload.test.sh +32 -66
- package/scripts/gen-command-manifest.js +153 -0
- package/scripts/gen-embedded-assets.mjs +129 -0
- package/scripts/install.ps1 +139 -0
- package/scripts/install.sh +268 -0
- package/scripts/lib/release-asset.mjs +84 -0
- package/scripts/parity-check.mjs +145 -0
- package/scripts/parity-check.test.mjs +58 -0
- package/scripts/pin-agentic-workflow-images.js +112 -0
- package/scripts/pr-coordinator.sh +3 -0
- package/scripts/preflight-sonar.eslint.config.mjs +44 -0
- package/scripts/preflight.sh +21 -94
- package/scripts/protected-state-check.js +104 -0
- package/scripts/smart-status.sh +60 -57
- package/scripts/spikes/config-race-bench.js +111 -0
- package/scripts/spikes/harness-capability-matrix.js +13 -0
- package/scripts/spikes/patch-anchor-stability-bench.js +125 -0
- package/scripts/spikes/protected-path-manifest.js +20 -0
- package/scripts/spikes/skill-auto-invoke-parity.js +292 -0
- package/scripts/sync-agent-skills.js +62 -0
- package/scripts/sync-utils.sh +3 -0
- package/scripts/test-ci-shard.js +13 -6
- package/scripts/test.js +95 -12
- package/skills/claim-safety/SKILL.md +102 -0
- package/skills/claim-safety/evals/evals.json +46 -0
- package/{.github/prompts/dev.prompt.md → skills/dev/SKILL.md} +44 -50
- package/skills/dev/evals/evals.json +50 -0
- package/skills/hermes-forge/SKILL.md +185 -0
- package/skills/hermes-forge/evals/evals.json +46 -0
- package/skills/issue-basics/SKILL.md +111 -0
- package/skills/issue-basics/evals/evals.json +46 -0
- package/skills/kernel/SKILL.md +166 -0
- package/skills/kernel/evals/evals.json +50 -0
- package/skills/memory/SKILL.md +102 -0
- package/skills/parallel-deep-research/SKILL.md +14 -11
- package/skills/parallel-deep-research/evals/evals.json +11 -27
- package/{.github/prompts/plan.prompt.md → skills/plan/SKILL.md} +132 -157
- package/skills/plan/evals/evals.json +42 -0
- package/skills/research/SKILL.md +195 -0
- package/skills/research/evals/evals.json +42 -0
- package/{.github/prompts/review.prompt.md → skills/review/SKILL.md} +98 -62
- package/skills/review/evals/evals.json +42 -0
- package/skills/rollback/SKILL.md +110 -0
- package/skills/rollback/evals/evals.json +46 -0
- package/skills/rollback/references/methods.md +204 -0
- package/{.cursor/commands/rollback.md → skills/rollback/references/workflow-integration.md} +10 -284
- package/skills/shepherd/SKILL.md +66 -0
- package/skills/shepherd/evals/evals.json +42 -0
- package/{.github/prompts/ship.prompt.md → skills/ship/SKILL.md} +81 -45
- package/skills/ship/evals/evals.json +42 -0
- package/skills/smith/SKILL.md +142 -0
- package/skills/smith/evals/evals.json +46 -0
- package/skills/smith/references/autonomy-and-gates.md +94 -0
- package/{.github/prompts/sonarcloud.prompt.md → skills/sonarcloud/SKILL.md} +14 -3
- package/skills/sonarcloud/evals/evals.json +46 -0
- package/skills/sonarcloud-analysis/SKILL.md +18 -13
- package/skills/sonarcloud-analysis/evals/evals.json +11 -15
- package/{.github/prompts/status.prompt.md → skills/status/SKILL.md} +20 -10
- package/skills/status/evals/evals.json +50 -0
- package/skills/triage-ready/SKILL.md +121 -0
- package/skills/triage-ready/evals/evals.json +42 -0
- package/{.github/prompts/validate.prompt.md → skills/validate/SKILL.md} +52 -29
- package/skills/validate/evals/evals.json +42 -0
- package/skills/verify/SKILL.md +299 -0
- package/skills/verify/evals/evals.json +50 -0
- package/.claude/commands/dev.md +0 -345
- package/.claude/commands/plan.md +0 -566
- package/.claude/commands/premerge.md +0 -186
- package/.claude/commands/research.md +0 -42
- package/.claude/commands/review.md +0 -451
- package/.claude/commands/rollback.md +0 -721
- package/.claude/commands/ship.md +0 -213
- package/.claude/commands/sonarcloud.md +0 -152
- package/.claude/commands/status.md +0 -90
- package/.claude/commands/validate.md +0 -288
- package/.claude/commands/verify.md +0 -269
- package/.claude/rules/workflow.md +0 -121
- package/.cline/workflows/dev.md +0 -342
- package/.cline/workflows/plan.md +0 -563
- package/.cline/workflows/premerge.md +0 -183
- package/.cline/workflows/research.md +0 -39
- package/.cline/workflows/review.md +0 -448
- package/.cline/workflows/rollback.md +0 -718
- package/.cline/workflows/ship.md +0 -210
- package/.cline/workflows/sonarcloud.md +0 -146
- package/.cline/workflows/status.md +0 -87
- package/.cline/workflows/validate.md +0 -285
- package/.cline/workflows/verify.md +0 -266
- package/.codex/config.toml +0 -11
- package/.codex/skills/dev/SKILL.md +0 -345
- package/.codex/skills/plan/SKILL.md +0 -566
- package/.codex/skills/premerge/SKILL.md +0 -186
- package/.codex/skills/research/SKILL.md +0 -42
- package/.codex/skills/review/SKILL.md +0 -451
- package/.codex/skills/rollback/SKILL.md +0 -721
- package/.codex/skills/ship/SKILL.md +0 -213
- package/.codex/skills/sonarcloud/SKILL.md +0 -149
- package/.codex/skills/status/SKILL.md +0 -90
- package/.codex/skills/validate/SKILL.md +0 -288
- package/.codex/skills/verify/SKILL.md +0 -269
- package/.cursor/commands/dev.md +0 -342
- package/.cursor/commands/plan.md +0 -563
- package/.cursor/commands/premerge.md +0 -183
- package/.cursor/commands/research.md +0 -39
- package/.cursor/commands/review.md +0 -448
- package/.cursor/commands/ship.md +0 -210
- package/.cursor/commands/sonarcloud.md +0 -146
- package/.cursor/commands/status.md +0 -87
- package/.cursor/commands/validate.md +0 -285
- package/.cursor/commands/verify.md +0 -266
- package/.cursorrules +0 -149
- package/.github/prompts/premerge.prompt.md +0 -188
- package/.github/prompts/research.prompt.md +0 -44
- package/.github/prompts/rollback.prompt.md +0 -723
- package/.github/prompts/verify.prompt.md +0 -271
- package/.github/workflows/beads-to-github.yml +0 -89
- package/.github/workflows/github-to-beads.yml +0 -100
- package/.kilocode/workflows/dev.md +0 -346
- package/.kilocode/workflows/plan.md +0 -567
- package/.kilocode/workflows/premerge.md +0 -187
- package/.kilocode/workflows/research.md +0 -43
- package/.kilocode/workflows/review.md +0 -452
- package/.kilocode/workflows/rollback.md +0 -722
- package/.kilocode/workflows/ship.md +0 -214
- package/.kilocode/workflows/sonarcloud.md +0 -150
- package/.kilocode/workflows/status.md +0 -91
- package/.kilocode/workflows/validate.md +0 -289
- package/.kilocode/workflows/verify.md +0 -270
- package/.opencode/commands/dev.md +0 -345
- package/.opencode/commands/plan.md +0 -566
- package/.opencode/commands/premerge.md +0 -186
- package/.opencode/commands/research.md +0 -42
- package/.opencode/commands/review.md +0 -451
- package/.opencode/commands/rollback.md +0 -721
- package/.opencode/commands/ship.md +0 -213
- package/.opencode/commands/sonarcloud.md +0 -149
- package/.opencode/commands/status.md +0 -90
- package/.opencode/commands/validate.md +0 -288
- package/.opencode/commands/verify.md +0 -269
- package/.roo/commands/dev.md +0 -346
- package/.roo/commands/plan.md +0 -567
- package/.roo/commands/premerge.md +0 -187
- package/.roo/commands/research.md +0 -43
- package/.roo/commands/review.md +0 -452
- package/.roo/commands/rollback.md +0 -722
- package/.roo/commands/ship.md +0 -214
- package/.roo/commands/sonarcloud.md +0 -150
- package/.roo/commands/status.md +0 -91
- package/.roo/commands/validate.md +0 -289
- package/.roo/commands/verify.md +0 -270
- package/docs/BEADS_GITHUB_SYNC.md +0 -281
- package/docs/GREPTILE_SETUP.md +0 -400
- package/docs/MANUAL_REVIEW_GUIDE.md +0 -106
- package/docs/SETUP.md +0 -663
- package/docs/VALIDATION.md +0 -363
- package/lib/agents/cline.plugin.json +0 -29
- package/lib/agents/copilot.plugin.json +0 -24
- package/lib/agents/kilocode.plugin.json +0 -22
- package/lib/agents/opencode.plugin.json +0 -23
- package/lib/agents/roo.plugin.json +0 -30
- package/lib/beads-bootstrap.js +0 -225
- package/lib/beads-health-check.js +0 -188
- package/lib/commands/commands-reset.js +0 -147
- package/opencode.json +0 -67
- package/scripts/beads-context.test.js +0 -584
- package/scripts/github-beads-sync/comment.mjs +0 -64
- package/scripts/github-beads-sync/config.mjs +0 -148
- package/scripts/github-beads-sync/github-api.mjs +0 -131
- package/scripts/github-beads-sync/index.mjs +0 -356
- package/scripts/github-beads-sync/label-mapper.mjs +0 -54
- package/scripts/github-beads-sync/mapping.mjs +0 -132
- package/scripts/github-beads-sync/reverse-sync-cli.mjs +0 -31
- package/scripts/github-beads-sync/reverse-sync.mjs +0 -162
- package/scripts/github-beads-sync/run-bd.mjs +0 -161
- package/scripts/github-beads-sync/sanitize.mjs +0 -121
- package/scripts/github-beads-sync.config.json +0 -26
- package/scripts/sync-commands.js +0 -600
package/CLAUDE.md
CHANGED
|
@@ -1,122 +1,13 @@
|
|
|
1
1
|
# Project Instructions
|
|
2
2
|
|
|
3
|
-
Forge
|
|
3
|
+
Forge uses **[AGENTS.md](AGENTS.md)** as the single source of truth for all agent
|
|
4
|
+
instructions: the workflow template, change classification, detailed stage
|
|
5
|
+
instructions, git hooks and push workflow, build/shell/MCP toolchain, issue
|
|
6
|
+
tracking, project learnings, and session completion. This file intentionally
|
|
7
|
+
holds no content of its own — it only loads AGENTS.md.
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
@AGENTS.md
|
|
6
10
|
|
|
7
|
-
**
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
### Shell Model
|
|
54
|
-
|
|
55
|
-
Forge commands and repo scripts assume the following shell model:
|
|
56
|
-
|
|
57
|
-
| Platform | Shell used by Forge commands and scripts |
|
|
58
|
-
| --- | --- |
|
|
59
|
-
| Windows | Git Bash for helper-backed Forge stage flows |
|
|
60
|
-
| macOS/Linux | Default login shell |
|
|
61
|
-
|
|
62
|
-
On Windows, Forge runtime health enforces Git Bash for helper-backed stage flows. Native PowerShell is still used by some bootstrap paths, and WSL may be useful for adjacent development tasks. See [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md#shell-model) for details.
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Git Workflow
|
|
67
|
-
|
|
68
|
-
This project uses the **Professional Git Workflow** with Lefthook for automated quality gates:
|
|
69
|
-
|
|
70
|
-
**Pre-commit hooks** (automatic):
|
|
71
|
-
- TDD enforcement: Source files must have corresponding tests
|
|
72
|
-
- Interactive prompts: Option to unstage, continue, or abort
|
|
73
|
-
|
|
74
|
-
**Pre-push hooks** (automatic):
|
|
75
|
-
- Branch protection: Blocks direct push to main/master
|
|
76
|
-
- ESLint check: Blocks on errors and warnings (strict mode, `--max-warnings 0`)
|
|
77
|
-
- Test suite: All tests must pass
|
|
78
|
-
|
|
79
|
-
**Pull Request workflow**:
|
|
80
|
-
- PR template auto-fills with standardized format
|
|
81
|
-
- Self-review checklist catches 80% of bugs before review
|
|
82
|
-
- Beads integration: Reference issues with `Closes beads-xxx`
|
|
83
|
-
- **All review comments must be resolved** before merge
|
|
84
|
-
- Squash-only merging: Clean, linear git history
|
|
85
|
-
|
|
86
|
-
**Emergency bypass** (human-only, NEVER for AI agents):
|
|
87
|
-
```bash
|
|
88
|
-
LEFTHOOK=0 git push # Skip all pre-push hooks
|
|
89
|
-
git commit --no-verify # Skip pre-commit hooks
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
**⚠️ 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.
|
|
93
|
-
|
|
94
|
-
**Preferred push workflow** (for AI agents and humans):
|
|
95
|
-
```bash
|
|
96
|
-
forge push # Runs branch protection + lint + tests, then pushes
|
|
97
|
-
forge push --quick # Review-cycle: lint-only push (CI runs full suite)
|
|
98
|
-
forge worktree create <slug> # Creates worktree with Beads integration
|
|
99
|
-
forge test # Runs tests with correct timeouts + Beads skip
|
|
100
|
-
forge sync # Syncs Beads data (dolt pull + push)
|
|
101
|
-
forge clean # Removes merged worktrees (stops Dolt servers)
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
See [.github/pull_request_template.md](.github/pull_request_template.md) for PR guidelines.
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
<!-- USER:START - Add project-specific learnings here as you work -->
|
|
109
|
-
|
|
110
|
-
💡 **Keep this section focused** - Add patterns you discover while working.
|
|
111
|
-
|
|
112
|
-
As you work, when you give the same instruction twice, add it here:
|
|
113
|
-
|
|
114
|
-
- **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.
|
|
115
|
-
- **Stage names**: The validation stage is `/validate` (not `/check`) — renamed in PR #50.
|
|
116
|
-
- **Unused params**: Prefix with `_` (e.g., `_searchTerm`) — ESLint `no-unused-vars` enforced with `--max-warnings 0`.
|
|
117
|
-
- **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`.
|
|
118
|
-
- **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.
|
|
119
|
-
- **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.
|
|
120
|
-
- **Review follow-up completion**: After fixing review feedback, always push the changes and resolve the related GitHub review threads via the GraphQL API before considering the work complete.
|
|
121
|
-
|
|
122
|
-
<!-- USER:END -->
|
|
11
|
+
> **IMPORTANT**: Read [AGENTS.md](AGENTS.md) using the Read tool at the start of
|
|
12
|
+
> every session to load the current Forge workflow contract. AGENTS.md is
|
|
13
|
+
> authoritative; do not duplicate its content here.
|
package/QUICKSTART.md
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
This guide gets Forge installed and visible to an AI coding agent without assuming the old seven-stage workflow is the whole product.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- Git
|
|
8
|
+
- Node.js and Bun
|
|
9
|
+
- A GitHub repository if you want PR, sync, and branch-protection workflows
|
|
10
|
+
- GitHub CLI for PR-oriented flows: `gh auth login`
|
|
11
|
+
- Optional: Beads (`bd`) as an opt-out issue backend (issue commands use the built-in kernel backend by default)
|
|
12
|
+
|
|
13
|
+
## 1. Install The Package
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Bun
|
|
17
|
+
bun add -D forge-workflow
|
|
18
|
+
|
|
19
|
+
# npm
|
|
20
|
+
npm install --save-dev forge-workflow
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
You can also run one-off commands with `bunx forge ...` (or `npx forge ...`).
|
|
24
|
+
|
|
25
|
+
Terms used below:
|
|
26
|
+
|
|
27
|
+
- Runtime config means local `.forge/` files that describe adoption choices.
|
|
28
|
+
- Harness means an agent-specific install target. Forge currently supports Claude Code, Codex, Cursor, and Hermes.
|
|
29
|
+
- Beads means the opt-out `bd` issue backend. By default `forge ready`, `forge show`, and related wrappers use the built-in kernel backend; select Beads as described in section 5.
|
|
30
|
+
|
|
31
|
+
## 2. Initialize Runtime Config
|
|
32
|
+
|
|
33
|
+
Use `forge init` for the day-one `.forge/` skeleton:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
bunx forge init --profile minimal --classification standard --harness codex --yes
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Generated files:
|
|
40
|
+
|
|
41
|
+
- `.forge/config.yaml` - adoption profile, default classification, Layer 1 rail confirmation, and harness targets.
|
|
42
|
+
- `.forge/patch.md` - local patch-intent placeholder.
|
|
43
|
+
- `.forge/protected-paths.yaml` - protected-path manifest scaffold.
|
|
44
|
+
|
|
45
|
+
Useful checks:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
bunx forge options lint
|
|
49
|
+
bunx forge options diff
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 3. Install Agent Instructions
|
|
53
|
+
|
|
54
|
+
Use `forge setup` when you want Forge to install agent-facing files:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
bunx forge setup --agents codex --yes
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Other safe examples:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
bunx forge setup --agents claude,cursor
|
|
64
|
+
bunx forge setup --agents claude cursor
|
|
65
|
+
bunx forge setup --all --quick
|
|
66
|
+
bunx forge setup --path ./my-project --agents codex --dry-run
|
|
67
|
+
bunx forge setup --agents claude,cursor
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Use `--agents`, not `--agent`.
|
|
71
|
+
|
|
72
|
+
`forge setup` is one-step onboarding: if `.forge/config.yaml` does not exist yet,
|
|
73
|
+
it runs `forge init` for you at the end (standard profile) so you finish with a
|
|
74
|
+
working workflow config. Re-run `forge init --profile <minimal|standard|full>
|
|
75
|
+
--force` to change it. On Windows without Git Bash, setup no longer aborts — it
|
|
76
|
+
prints install guidance (https://git-scm.com/download/win) and continues in a
|
|
77
|
+
reduced-capability mode where the shell-script-backed helper steps are unavailable
|
|
78
|
+
until you install Git Bash and re-run `forge setup`.
|
|
79
|
+
|
|
80
|
+
## 4. Inspect Local State
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
bunx forge status --json
|
|
84
|
+
bunx forge board --json
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
These are local runtime state views. They read the kernel issue store by default (and Beads-backed metadata when Beads is selected), but they are not a hosted project-management service.
|
|
88
|
+
|
|
89
|
+
## 5. Work With Issues And Worktrees
|
|
90
|
+
|
|
91
|
+
Issue commands use the built-in kernel backend by default — no Beads install or initialization is required:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
bunx forge ready
|
|
95
|
+
bunx forge show <issue-id>
|
|
96
|
+
bunx forge claim <issue-id>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Beads is available as an opt-out backend. Select it (precedence: highest first) with the CLI flag `--issue-backend beads`, the environment variable `FORGE_ISSUE_BACKEND=beads`, or the `.forge/config.yaml` key `issueBackend: beads`. For Beads setup, see [Setup guide](docs/guides/SETUP.md).
|
|
100
|
+
|
|
101
|
+
For isolated feature work:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
bunx forge worktree create docs-overhaul --branch codex/docs-overhaul
|
|
105
|
+
bunx forge worktree remove docs-overhaul
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
If Beads (when selected) reports a Dolt database or server error, use [Support and troubleshooting](docs/guides/SUPPORT.md) before changing issue state.
|
|
109
|
+
|
|
110
|
+
## 6. Run Validation
|
|
111
|
+
|
|
112
|
+
Validate your own project's changes before shipping:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
bunx forge validate
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
`forge validate` runs your configured checks (tests, lint) and drops into a guided
|
|
119
|
+
debug flow on failure. (Contributors to Forge itself run `bun run check` — typecheck,
|
|
120
|
+
lint, security audit, and tests via `scripts/validate.js`.)
|
|
121
|
+
|
|
122
|
+
## 7. Understand Stage Commands
|
|
123
|
+
|
|
124
|
+
The agent workflow stages are documented in `AGENTS.md` and the installed agent skill files:
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
/plan -> /dev -> /validate -> /ship -> /review -> /verify
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
These are the 6 agent workflow stages. Pre-merge is not a stage or a `/premerge` command — it is a documentation-and-handoff gate embedded in the `/ship` and `/review` stages. A composable `research` skill runs as a phase of `/plan` or standalone. Do not assume every stage is a standalone `forge <stage>` CLI command. For example, `/review` and `/verify` are agent-stage workflows, not current `forge review` or `forge verify` commands.
|
|
131
|
+
|
|
132
|
+
### Agent slash-skills vs. typeable `forge` verbs
|
|
133
|
+
|
|
134
|
+
`/plan`, `/dev`, `/validate`, `/ship`, `/review`, and `/verify` are **agent
|
|
135
|
+
slash-skills** — you invoke them by asking your AI agent to run that stage (they
|
|
136
|
+
resolve to the installed skill files under the agent's skills directory). They are
|
|
137
|
+
**not** all mirrored by a `forge <verb>` CLI command you type in a terminal.
|
|
138
|
+
|
|
139
|
+
What you type in a terminal are **`forge` CLI verbs**, for example:
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
forge init | setup | status | board | ready | show | claim | close
|
|
143
|
+
forge worktree | validate | test | push | sync | clean | prime | gate
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Overlap is deliberate but partial: `/validate` the stage and `forge validate` the
|
|
147
|
+
CLI verb both exist, whereas `/plan`, `/dev`, `/review`, and `/verify` have **no**
|
|
148
|
+
`forge plan|dev|review|verify` terminal command — they are agent stages only. Run
|
|
149
|
+
`forge --help` for the authoritative list of typeable verbs.
|
|
150
|
+
|
|
151
|
+
The workflow template is core to Forge. It is also designed to become more configurable as runtime graph, stage-skill, adapter, and extension surfaces ship. See [Workflow templates](docs/guides/WORKFLOW_TEMPLATES.md) and [Skills and command projections](docs/reference/SKILLS.md).
|
|
152
|
+
|
|
153
|
+
## 8. First Useful Loop
|
|
154
|
+
|
|
155
|
+
After setup, a small end-to-end loop looks like this:
|
|
156
|
+
|
|
157
|
+
1. Pick existing work with `bunx forge ready`, or create work in your normal tracker.
|
|
158
|
+
2. Ask the selected agent to run the appropriate stage, such as `/plan` for planned work or `/dev` for a small fix.
|
|
159
|
+
3. Run `bun run check`.
|
|
160
|
+
4. Use `/ship` or your normal PR flow to open a reviewable branch.
|
|
161
|
+
5. Keep the PR evidence in the repository so future agents and DeepWiki read the same source material.
|
|
162
|
+
|
|
163
|
+
## Next Reading
|
|
164
|
+
|
|
165
|
+
- [Docs index](docs/INDEX.md)
|
|
166
|
+
- [Setup guide](docs/guides/SETUP.md)
|
|
167
|
+
- [Migration guide](docs/guides/MIGRATION.md)
|
|
168
|
+
- [Support and troubleshooting](docs/guides/SUPPORT.md)
|
|
169
|
+
- [Command reference](docs/reference/COMMANDS.md)
|
|
170
|
+
- [Workflow templates](docs/guides/WORKFLOW_TEMPLATES.md)
|
|
171
|
+
- [Skills and command projections](docs/reference/SKILLS.md)
|