@entelligentsia/forgecli 1.0.25 → 1.0.36
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/CHANGELOG.md +258 -0
- package/README.md +2 -0
- package/dist/CHANGELOG-forge-plugin.md +163 -0
- package/dist/bin/argv.d.ts +2 -2
- package/dist/bin/argv.js +25 -0
- package/dist/bin/argv.js.map +1 -1
- package/dist/bin/forge.js +12 -0
- package/dist/bin/forge.js.map +1 -1
- package/dist/bin/init.d.ts +23 -0
- package/dist/bin/init.js +123 -0
- package/dist/bin/init.js.map +1 -0
- package/dist/bin/uninstall.d.ts +20 -0
- package/dist/bin/uninstall.js +141 -0
- package/dist/bin/uninstall.js.map +1 -0
- package/dist/extensions/forgecli/add-pipeline.d.ts +19 -0
- package/dist/extensions/forgecli/add-pipeline.js +143 -0
- package/dist/extensions/forgecli/add-pipeline.js.map +1 -0
- package/dist/extensions/forgecli/add-task.d.ts +20 -0
- package/dist/extensions/forgecli/add-task.js +154 -0
- package/dist/extensions/forgecli/add-task.js.map +1 -0
- package/dist/extensions/forgecli/approve.d.ts +22 -0
- package/dist/extensions/forgecli/approve.js +152 -0
- package/dist/extensions/forgecli/approve.js.map +1 -0
- package/dist/extensions/forgecli/banner.d.ts +10 -0
- package/dist/extensions/forgecli/banner.js +36 -0
- package/dist/extensions/forgecli/banner.js.map +1 -0
- package/dist/extensions/forgecli/calibrate.d.ts +64 -0
- package/dist/extensions/forgecli/calibrate.js +481 -0
- package/dist/extensions/forgecli/calibrate.js.map +1 -0
- package/dist/extensions/forgecli/claude-bootstrap/bootstrap.d.ts +40 -0
- package/dist/extensions/forgecli/claude-bootstrap/bootstrap.js +593 -0
- package/dist/extensions/forgecli/claude-bootstrap/bootstrap.js.map +1 -0
- package/dist/extensions/forgecli/claude-bootstrap/settings-merge.d.ts +46 -0
- package/dist/extensions/forgecli/claude-bootstrap/settings-merge.js +245 -0
- package/dist/extensions/forgecli/claude-bootstrap/settings-merge.js.map +1 -0
- package/dist/extensions/forgecli/claude-bootstrap/uninstall.d.ts +23 -0
- package/dist/extensions/forgecli/claude-bootstrap/uninstall.js +215 -0
- package/dist/extensions/forgecli/claude-bootstrap/uninstall.js.map +1 -0
- package/dist/extensions/forgecli/collate.d.ts +22 -0
- package/dist/extensions/forgecli/collate.js +134 -0
- package/dist/extensions/forgecli/collate.js.map +1 -0
- package/dist/extensions/forgecli/commit.d.ts +22 -0
- package/dist/extensions/forgecli/commit.js +152 -0
- package/dist/extensions/forgecli/commit.js.map +1 -0
- package/dist/extensions/forgecli/config-command.d.ts +8 -0
- package/dist/extensions/forgecli/config-command.js +67 -0
- package/dist/extensions/forgecli/config-command.js.map +1 -0
- package/dist/extensions/forgecli/config-layer.d.ts +53 -0
- package/dist/extensions/forgecli/config-layer.js +72 -0
- package/dist/extensions/forgecli/config-layer.js.map +1 -0
- package/dist/extensions/forgecli/config-writer.d.ts +16 -0
- package/dist/extensions/forgecli/config-writer.js +69 -0
- package/dist/extensions/forgecli/config-writer.js.map +1 -0
- package/dist/extensions/forgecli/dashboard/component.js +10 -7
- package/dist/extensions/forgecli/dashboard/component.js.map +1 -1
- package/dist/extensions/forgecli/enhance.d.ts +27 -0
- package/dist/extensions/forgecli/enhance.js +199 -0
- package/dist/extensions/forgecli/enhance.js.map +1 -0
- package/dist/extensions/forgecli/fix-bug.d.ts +85 -0
- package/dist/extensions/forgecli/fix-bug.js +1580 -0
- package/dist/extensions/forgecli/fix-bug.js.map +1 -0
- package/dist/extensions/forgecli/forge-header.d.ts +12 -0
- package/dist/extensions/forgecli/forge-header.js +114 -0
- package/dist/extensions/forgecli/forge-header.js.map +1 -0
- package/dist/extensions/forgecli/forge-init.d.ts +26 -0
- package/dist/extensions/forgecli/forge-init.js +514 -0
- package/dist/extensions/forgecli/forge-init.js.map +1 -0
- package/dist/extensions/forgecli/forge-root.d.ts +10 -0
- package/dist/extensions/forgecli/forge-root.js +62 -0
- package/dist/extensions/forgecli/forge-root.js.map +1 -0
- package/dist/extensions/forgecli/forge-update-command.d.ts +100 -0
- package/dist/extensions/forgecli/forge-update-command.js +435 -0
- package/dist/extensions/forgecli/forge-update-command.js.map +1 -0
- package/dist/extensions/forgecli/friction-emit.d.ts +99 -0
- package/dist/extensions/forgecli/friction-emit.js +245 -0
- package/dist/extensions/forgecli/friction-emit.js.map +1 -0
- package/dist/extensions/forgecli/implement.d.ts +22 -0
- package/dist/extensions/forgecli/implement.js +170 -0
- package/dist/extensions/forgecli/implement.js.map +1 -0
- package/dist/extensions/forgecli/init-context.d.ts +99 -0
- package/dist/extensions/forgecli/init-context.js +178 -0
- package/dist/extensions/forgecli/init-context.js.map +1 -0
- package/dist/extensions/forgecli/init-progress.d.ts +39 -0
- package/dist/extensions/forgecli/init-progress.js +117 -0
- package/dist/extensions/forgecli/init-progress.js.map +1 -0
- package/dist/extensions/forgecli/input-router.d.ts +33 -0
- package/dist/extensions/forgecli/input-router.js +136 -0
- package/dist/extensions/forgecli/input-router.js.map +1 -0
- package/dist/extensions/forgecli/lib/halt-advisor.d.ts +59 -0
- package/dist/extensions/forgecli/lib/halt-advisor.js +113 -0
- package/dist/extensions/forgecli/lib/halt-advisor.js.map +1 -0
- package/dist/extensions/forgecli/lib/orchestrator-preflight.d.ts +46 -0
- package/dist/extensions/forgecli/lib/orchestrator-preflight.js +64 -0
- package/dist/extensions/forgecli/lib/orchestrator-preflight.js.map +1 -0
- package/dist/extensions/forgecli/materialize.d.ts +16 -0
- package/dist/extensions/forgecli/materialize.js +195 -0
- package/dist/extensions/forgecli/materialize.js.map +1 -0
- package/dist/extensions/forgecli/migrate.d.ts +22 -0
- package/dist/extensions/forgecli/migrate.js +260 -0
- package/dist/extensions/forgecli/migrate.js.map +1 -0
- package/dist/extensions/forgecli/migration-engine.d.ts +117 -0
- package/dist/extensions/forgecli/migration-engine.js +563 -0
- package/dist/extensions/forgecli/migration-engine.js.map +1 -0
- package/dist/extensions/forgecli/model-registry.d.ts +61 -0
- package/dist/extensions/forgecli/model-registry.js +127 -0
- package/dist/extensions/forgecli/model-registry.js.map +1 -0
- package/dist/extensions/forgecli/model-resolver.d.ts +32 -0
- package/dist/extensions/forgecli/model-resolver.js +65 -0
- package/dist/extensions/forgecli/model-resolver.js.map +1 -0
- package/dist/extensions/forgecli/model-validator.d.ts +29 -0
- package/dist/extensions/forgecli/model-validator.js +107 -0
- package/dist/extensions/forgecli/model-validator.js.map +1 -0
- package/dist/extensions/forgecli/orchestrator-status-bar.d.ts +26 -0
- package/dist/extensions/forgecli/orchestrator-status-bar.js +213 -0
- package/dist/extensions/forgecli/orchestrator-status-bar.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-body.d.ts +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-body.js +65 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-body.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-id.d.ts +23 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-id.js +140 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-id.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phase-dispatch.d.ts +54 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phase-dispatch.js +349 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phase-dispatch.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phases.d.ts +8 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phases.js +60 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phases.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-state.d.ts +14 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-state.js +100 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-state.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-triage-routing.d.ts +72 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-triage-routing.js +204 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-triage-routing.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict-loop.d.ts +38 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict-loop.js +166 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict-loop.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict.d.ts +3 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict.js +55 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-verdict.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-command.d.ts +7 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-command.js +293 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-command.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-pipeline.d.ts +2 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-pipeline.js +501 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-pipeline.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-types.d.ts +41 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-types.js +5 -0
- package/dist/extensions/forgecli/orchestrators/bug/run-bug-types.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-entry.d.ts +43 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-entry.js +85 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-entry.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-misc.d.ts +8 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-misc.js +37 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-misc.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-notify.d.ts +28 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-notify.js +45 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-notify.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-transcript-session.d.ts +26 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-transcript-session.js +75 -0
- package/dist/extensions/forgecli/orchestrators/common/orchestrator-transcript-session.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/summary-recovery.d.ts +24 -0
- package/dist/extensions/forgecli/orchestrators/common/summary-recovery.js +37 -0
- package/dist/extensions/forgecli/orchestrators/common/summary-recovery.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/fix-bug.d.ts +9 -93
- package/dist/extensions/forgecli/orchestrators/fix-bug.js +23 -1721
- package/dist/extensions/forgecli/orchestrators/fix-bug.js.map +1 -1
- package/dist/extensions/forgecli/orchestrators/run-sprint.d.ts +3 -12
- package/dist/extensions/forgecli/orchestrators/run-sprint.js +48 -270
- package/dist/extensions/forgecli/orchestrators/run-sprint.js.map +1 -1
- package/dist/extensions/forgecli/orchestrators/run-task.d.ts +10 -214
- package/dist/extensions/forgecli/orchestrators/run-task.js +31 -1481
- package/dist/extensions/forgecli/orchestrators/run-task.js.map +1 -1
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-ceremony.d.ts +33 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-ceremony.js +135 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-ceremony.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-state.d.ts +18 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-state.js +55 -0
- package/dist/extensions/forgecli/orchestrators/sprint/sprint-state.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-command.d.ts +9 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-command.js +174 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-command.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-pipeline.d.ts +2 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-pipeline.js +494 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-pipeline.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-types.d.ts +62 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-types.js +5 -0
- package/dist/extensions/forgecli/orchestrators/task/run-task-types.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-body.d.ts +4 -0
- package/dist/extensions/forgecli/orchestrators/task/task-body.js +48 -0
- package/dist/extensions/forgecli/orchestrators/task/task-body.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-events.d.ts +63 -0
- package/dist/extensions/forgecli/orchestrators/task/task-events.js +185 -0
- package/dist/extensions/forgecli/orchestrators/task/task-events.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-gates.d.ts +34 -0
- package/dist/extensions/forgecli/orchestrators/task/task-gates.js +78 -0
- package/dist/extensions/forgecli/orchestrators/task/task-gates.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phase-dispatch.d.ts +42 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phase-dispatch.js +370 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phase-dispatch.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phases.d.ts +14 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phases.js +26 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phases.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-record.d.ts +9 -0
- package/dist/extensions/forgecli/orchestrators/task/task-record.js +58 -0
- package/dist/extensions/forgecli/orchestrators/task/task-record.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-state.d.ts +14 -0
- package/dist/extensions/forgecli/orchestrators/task/task-state.js +35 -0
- package/dist/extensions/forgecli/orchestrators/task/task-state.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.d.ts +36 -0
- package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.js +152 -0
- package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.js.map +1 -0
- package/dist/extensions/forgecli/plan.d.ts +22 -0
- package/dist/extensions/forgecli/plan.js +167 -0
- package/dist/extensions/forgecli/plan.js.map +1 -0
- package/dist/extensions/forgecli/quiz-agent.d.ts +17 -0
- package/dist/extensions/forgecli/quiz-agent.js +98 -0
- package/dist/extensions/forgecli/quiz-agent.js.map +1 -0
- package/dist/extensions/forgecli/read-command.d.ts +2 -0
- package/dist/extensions/forgecli/read-command.js +100 -0
- package/dist/extensions/forgecli/read-command.js.map +1 -0
- package/dist/extensions/forgecli/regenerate.d.ts +40 -0
- package/dist/extensions/forgecli/regenerate.js +438 -0
- package/dist/extensions/forgecli/regenerate.js.map +1 -0
- package/dist/extensions/forgecli/remove-command.d.ts +17 -0
- package/dist/extensions/forgecli/remove-command.js +124 -0
- package/dist/extensions/forgecli/remove-command.js.map +1 -0
- package/dist/extensions/forgecli/report-bug.d.ts +25 -0
- package/dist/extensions/forgecli/report-bug.js +159 -0
- package/dist/extensions/forgecli/report-bug.js.map +1 -0
- package/dist/extensions/forgecli/retrospective.d.ts +20 -0
- package/dist/extensions/forgecli/retrospective.js +126 -0
- package/dist/extensions/forgecli/retrospective.js.map +1 -0
- package/dist/extensions/forgecli/review-code.d.ts +35 -0
- package/dist/extensions/forgecli/review-code.js +196 -0
- package/dist/extensions/forgecli/review-code.js.map +1 -0
- package/dist/extensions/forgecli/review-plan.d.ts +35 -0
- package/dist/extensions/forgecli/review-plan.js +200 -0
- package/dist/extensions/forgecli/review-plan.js.map +1 -0
- package/dist/extensions/forgecli/run-sprint.d.ts +27 -0
- package/dist/extensions/forgecli/run-sprint.js +716 -0
- package/dist/extensions/forgecli/run-sprint.js.map +1 -0
- package/dist/extensions/forgecli/run-task.d.ts +204 -0
- package/dist/extensions/forgecli/run-task.js +1403 -0
- package/dist/extensions/forgecli/run-task.js.map +1 -0
- package/dist/extensions/forgecli/skill-curation-flag.d.ts +21 -0
- package/dist/extensions/forgecli/skill-curation-flag.js +71 -0
- package/dist/extensions/forgecli/skill-curation-flag.js.map +1 -0
- package/dist/extensions/forgecli/skill-curator-subagent.d.ts +102 -0
- package/dist/extensions/forgecli/skill-curator-subagent.js +339 -0
- package/dist/extensions/forgecli/skill-curator-subagent.js.map +1 -0
- package/dist/extensions/forgecli/skill-retriever.d.ts +84 -0
- package/dist/extensions/forgecli/skill-retriever.js +246 -0
- package/dist/extensions/forgecli/skill-retriever.js.map +1 -0
- package/dist/extensions/forgecli/skill-usage-tracker.d.ts +91 -0
- package/dist/extensions/forgecli/skill-usage-tracker.js +224 -0
- package/dist/extensions/forgecli/skill-usage-tracker.js.map +1 -0
- package/dist/extensions/forgecli/sprint-intake.d.ts +10 -0
- package/dist/extensions/forgecli/sprint-intake.js +91 -0
- package/dist/extensions/forgecli/sprint-intake.js.map +1 -0
- package/dist/extensions/forgecli/sprint-plan.d.ts +14 -0
- package/dist/extensions/forgecli/sprint-plan.js +122 -0
- package/dist/extensions/forgecli/sprint-plan.js.map +1 -0
- package/dist/extensions/forgecli/status-command.d.ts +19 -0
- package/dist/extensions/forgecli/status-command.js +140 -0
- package/dist/extensions/forgecli/status-command.js.map +1 -0
- package/dist/extensions/forgecli/store-error-remediation.d.ts +65 -0
- package/dist/extensions/forgecli/store-error-remediation.js +307 -0
- package/dist/extensions/forgecli/store-error-remediation.js.map +1 -0
- package/dist/extensions/forgecli/store-query.d.ts +22 -0
- package/dist/extensions/forgecli/store-query.js +107 -0
- package/dist/extensions/forgecli/store-query.js.map +1 -0
- package/dist/extensions/forgecli/store-repair.d.ts +17 -0
- package/dist/extensions/forgecli/store-repair.js +123 -0
- package/dist/extensions/forgecli/store-repair.js.map +1 -0
- package/dist/extensions/forgecli/store-resolver.d.ts +56 -0
- package/dist/extensions/forgecli/store-resolver.js +263 -0
- package/dist/extensions/forgecli/store-resolver.js.map +1 -0
- package/dist/extensions/forgecli/store-validator.d.ts +16 -0
- package/dist/extensions/forgecli/store-validator.js +32 -0
- package/dist/extensions/forgecli/store-validator.js.map +1 -0
- package/dist/extensions/forgecli/test-orchestrate.d.ts +2 -0
- package/dist/extensions/forgecli/test-orchestrate.js +182 -0
- package/dist/extensions/forgecli/test-orchestrate.js.map +1 -0
- package/dist/extensions/forgecli/thread-switcher.d.ts +5 -0
- package/dist/extensions/forgecli/thread-switcher.js +189 -0
- package/dist/extensions/forgecli/thread-switcher.js.map +1 -0
- package/dist/extensions/forgecli/transition-guard.d.ts +20 -0
- package/dist/extensions/forgecli/transition-guard.js +89 -0
- package/dist/extensions/forgecli/transition-guard.js.map +1 -0
- package/dist/extensions/forgecli/update/forge-update-command.js +10 -7
- package/dist/extensions/forgecli/update/forge-update-command.js.map +1 -1
- package/dist/extensions/forgecli/update-check.d.ts +37 -0
- package/dist/extensions/forgecli/update-check.js +185 -0
- package/dist/extensions/forgecli/update-check.js.map +1 -0
- package/dist/extensions/forgecli/update-tools.d.ts +23 -0
- package/dist/extensions/forgecli/update-tools.js +135 -0
- package/dist/extensions/forgecli/update-tools.js.map +1 -0
- package/dist/extensions/forgecli/validate.d.ts +22 -0
- package/dist/extensions/forgecli/validate.js +152 -0
- package/dist/extensions/forgecli/validate.js.map +1 -0
- package/dist/extensions/forgecli/viewport-events.d.ts +78 -0
- package/dist/extensions/forgecli/viewport-events.js +243 -0
- package/dist/extensions/forgecli/viewport-events.js.map +1 -0
- package/dist/extensions/forgecli/viewport-renderer.d.ts +83 -0
- package/dist/extensions/forgecli/viewport-renderer.js +233 -0
- package/dist/extensions/forgecli/viewport-renderer.js.map +1 -0
- package/dist/extensions/forgecli/viewport-theme.d.ts +11 -0
- package/dist/extensions/forgecli/viewport-theme.js +128 -0
- package/dist/extensions/forgecli/viewport-theme.js.map +1 -0
- package/dist/extensions/forgecli/whats-new-widget.d.ts +26 -0
- package/dist/extensions/forgecli/whats-new-widget.js +376 -0
- package/dist/extensions/forgecli/whats-new-widget.js.map +1 -0
- package/dist/extensions/forgecli/whats-new.d.ts +120 -0
- package/dist/extensions/forgecli/whats-new.js +470 -0
- package/dist/extensions/forgecli/whats-new.js.map +1 -0
- package/dist/forge-payload/.base-pack/commands/approve.md +2 -2
- package/dist/forge-payload/.base-pack/commands/check-agent.md +2 -2
- package/dist/forge-payload/.base-pack/commands/collate.md +2 -2
- package/dist/forge-payload/.base-pack/commands/commit.md +2 -2
- package/dist/forge-payload/.base-pack/commands/enhance.md +2 -2
- package/dist/forge-payload/.base-pack/commands/fix-bug.md +2 -2
- package/dist/forge-payload/.base-pack/commands/implement.md +2 -2
- package/dist/forge-payload/.base-pack/commands/init.md +278 -0
- package/dist/forge-payload/.base-pack/commands/new-sprint.md +2 -2
- package/dist/forge-payload/.base-pack/commands/plan-sprint.md +2 -2
- package/dist/forge-payload/.base-pack/commands/plan.md +2 -2
- package/dist/forge-payload/.base-pack/commands/retro.md +2 -2
- package/dist/forge-payload/.base-pack/commands/review-code.md +2 -2
- package/dist/forge-payload/.base-pack/commands/review-plan.md +2 -2
- package/dist/forge-payload/.base-pack/commands/run-sprint.md +2 -2
- package/dist/forge-payload/.base-pack/commands/run-task.md +2 -2
- package/dist/forge-payload/.base-pack/commands/validate.md +2 -2
- package/dist/forge-payload/.base-pack/workflows/collator_agent.md +5 -6
- package/dist/forge-payload/.base-pack/workflows/migrate_structural.md +1 -1
- package/dist/forge-payload/.base-pack/workflows-js/wfl-init.js +449 -0
- package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
- package/dist/forge-payload/.schemas/enum-catalog.json +2 -2
- package/dist/forge-payload/.schemas/migrations.json +85 -0
- package/dist/forge-payload/commands/add-pipeline.md +1 -1
- package/dist/forge-payload/commands/add-task.md +3 -3
- package/dist/forge-payload/commands/ask.md +1 -1
- package/dist/forge-payload/commands/check-agent.md +1 -1
- package/dist/forge-payload/commands/config.md +1 -1
- package/dist/forge-payload/commands/health.md +1 -1
- package/dist/forge-payload/commands/init.md +62 -7
- package/dist/forge-payload/commands/rebuild.md +3 -3
- package/dist/forge-payload/commands/remove.md +1 -1
- package/dist/forge-payload/commands/repair.md +1 -1
- package/dist/forge-payload/commands/report-bug.md +1 -1
- package/dist/forge-payload/commands/status.md +1 -1
- package/dist/forge-payload/commands/update.md +3 -3
- package/dist/forge-payload/hooks/lib/common.cjs +228 -0
- package/dist/forge-payload/hooks/lib/plugin-detection.cjs +106 -0
- package/dist/forge-payload/hooks/lib/update-msg.cjs +23 -0
- package/dist/forge-payload/hooks/lib/update-url.cjs +46 -0
- package/dist/forge-payload/hooks/lib/write-registry.js +53 -0
- package/dist/forge-payload/init/discovery/discover-database.md +32 -0
- package/dist/forge-payload/init/discovery/discover-processes.md +31 -0
- package/dist/forge-payload/init/discovery/discover-routing.md +31 -0
- package/dist/forge-payload/init/discovery/discover-stack.md +33 -0
- package/dist/forge-payload/init/discovery/discover-testing.md +34 -0
- package/dist/forge-payload/init/generation/generate-commands.md +171 -0
- package/dist/forge-payload/init/generation/generate-kb-doc.md +60 -0
- package/dist/forge-payload/init/generation/generate-knowledge-base.md +56 -0
- package/dist/forge-payload/init/generation/generate-persona.md +73 -0
- package/dist/forge-payload/init/generation/generate-personas.md +54 -0
- package/dist/forge-payload/init/generation/generate-skill.md +66 -0
- package/dist/forge-payload/init/generation/generate-skills.md +36 -0
- package/dist/forge-payload/init/generation/generate-template.md +60 -0
- package/dist/forge-payload/init/generation/generate-templates.md +39 -0
- package/dist/forge-payload/init/generation/generate-tools.md +133 -0
- package/dist/forge-payload/init/generation/generate-workflows.md +78 -0
- package/dist/forge-payload/init/phases/phase-1-collect.md +10 -2
- package/dist/forge-payload/init/phases/phase-3-materialize.md +1 -1
- package/dist/forge-payload/init/phases/phase-4-register.md +8 -0
- package/dist/forge-payload/init/workflow-gen-plan.json +17 -0
- package/dist/forge-payload/integrity.json +16 -16
- package/dist/forge-payload/meta/workflows/meta-collate.md +5 -6
- package/dist/forge-payload/meta/workflows/meta-migrate.md +1 -1
- package/dist/forge-payload/schemas/enum-catalog.json +2 -2
- package/dist/forge-payload/schemas/structure-manifest.json +3 -12
- package/dist/forge-payload/tools/forge-preflight.cjs +268 -0
- package/dist/forge-payload/tools/lib/paths.cjs +12 -11
- package/dist/forge-payload/tools/lib/pricing.cjs +31 -11
- package/dist/forge-payload/tools/query-logger.cjs +34 -0
- package/dist/forge-payload/tools/substitute-placeholders.cjs +5 -6
- package/node_modules/@mariozechner/clipboard/package.json +1 -2
- package/package.json +2 -2
- package/node_modules/@mariozechner/clipboard-linux-x64-musl/README.md +0 -3
- package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +0 -25
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Template Generation — Per-Subagent Instructions
|
|
2
|
+
|
|
3
|
+
You are generating **ONE** template file. You have been given two inputs:
|
|
4
|
+
|
|
5
|
+
1. A **project brief** (`.forge/init-context.md`) — authoritative for all names,
|
|
6
|
+
paths, command values, and entity names
|
|
7
|
+
2. A **meta-template source** — the document structure and Generation Instructions
|
|
8
|
+
|
|
9
|
+
Your job is to produce exactly one file and return a one-line status.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Inputs
|
|
14
|
+
|
|
15
|
+
Read these two sources before writing anything:
|
|
16
|
+
|
|
17
|
+
- `$FORGE_ROOT/meta/templates/{meta}` — the meta-template for your assigned document
|
|
18
|
+
- `.forge/init-context.md` — the project brief (passed inline in your prompt)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Rules
|
|
23
|
+
|
|
24
|
+
1. **Write EXACTLY ONE file:** `.forge/templates/{filename}.md`
|
|
25
|
+
|
|
26
|
+
2. **Stack-specific sections** — add framework-specific subsections based on the
|
|
27
|
+
stack information in the brief. Use the detected languages and frameworks to
|
|
28
|
+
decide which optional sections to include.
|
|
29
|
+
|
|
30
|
+
3. **Project substitution** — replace all `{Project}`, `{PREFIX}`, entity name
|
|
31
|
+
placeholders, and ID format examples with actual values from the brief.
|
|
32
|
+
All entity names and command values MUST come from the brief. Do not invent.
|
|
33
|
+
|
|
34
|
+
4. **Test output formats** — reference the project's actual test runner output
|
|
35
|
+
format in any template sections that involve test results.
|
|
36
|
+
|
|
37
|
+
5. **Follow Generation Instructions** — each meta-template has a
|
|
38
|
+
`## Generation Instructions` section. Follow it fully. Do not add sections
|
|
39
|
+
or notes beyond what it prescribes.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Self-check (mandatory last step)
|
|
44
|
+
|
|
45
|
+
After writing the file, verify before returning:
|
|
46
|
+
|
|
47
|
+
1. Read back `.forge/templates/{filename}.md`
|
|
48
|
+
2. Confirm **no unsubstituted placeholders** remain (no literal `{Project}`,
|
|
49
|
+
`{PREFIX}`, `{TEST_COMMAND}`, etc.)
|
|
50
|
+
3. Record in the manifest:
|
|
51
|
+
```sh
|
|
52
|
+
node "$FORGE_ROOT/tools/generation-manifest.cjs" record ".forge/templates/{filename}.md"
|
|
53
|
+
```
|
|
54
|
+
(If generation-manifest.cjs is not yet installed, skip silently.)
|
|
55
|
+
|
|
56
|
+
4. Return **exactly one line**:
|
|
57
|
+
- `done: <first 80 chars of the written file>` — on success
|
|
58
|
+
- `FAILED: <reason>` — if any step above failed or the file could not be written
|
|
59
|
+
|
|
60
|
+
Do not output anything else after the status line.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Generation: Templates
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Generate project-specific document templates from meta-templates,
|
|
6
|
+
adding stack-specific sections.
|
|
7
|
+
|
|
8
|
+
## Inputs
|
|
9
|
+
|
|
10
|
+
- `$FORGE_ROOT/meta/templates/meta-*.md` (8 meta-templates)
|
|
11
|
+
- Discovery context (from Phase 1)
|
|
12
|
+
- Generated knowledge base (from Phase 2)
|
|
13
|
+
|
|
14
|
+
## Outputs
|
|
15
|
+
|
|
16
|
+
`.forge/templates/` with project-specific templates:
|
|
17
|
+
- `TASK_PROMPT_TEMPLATE.md`
|
|
18
|
+
- `PLAN_TEMPLATE.md`
|
|
19
|
+
- `PROGRESS_TEMPLATE.md`
|
|
20
|
+
- `CODE_REVIEW_TEMPLATE.md`
|
|
21
|
+
- `PLAN_REVIEW_TEMPLATE.md`
|
|
22
|
+
- `SPRINT_REQUIREMENTS_TEMPLATE.md`
|
|
23
|
+
- `SPRINT_MANIFEST_TEMPLATE.md`
|
|
24
|
+
- `RETROSPECTIVE_TEMPLATE.md`
|
|
25
|
+
|
|
26
|
+
## Instructions
|
|
27
|
+
|
|
28
|
+
For each meta-template:
|
|
29
|
+
1. Read its sections and Generation Instructions
|
|
30
|
+
2. Add framework-specific subsections based on the detected stack
|
|
31
|
+
3. Reference the project's actual entity names and test output formats
|
|
32
|
+
4. Use the project's ID format in template headers
|
|
33
|
+
|
|
34
|
+
After writing each template file, record it in the generation manifest:
|
|
35
|
+
```sh
|
|
36
|
+
node {paths.tools}/generation-manifest.cjs record {paths.templates}/{filename}.md
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
If `generation-manifest.cjs` is not yet installed, skip silently.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Generation: Tools
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Vendor the plugin tools closure and validation schemas into the project so
|
|
6
|
+
generated workflows can invoke tools via `node .forge/tools/<tool>.cjs` from
|
|
7
|
+
the project root without resolving `$FORGE_ROOT` at runtime.
|
|
8
|
+
|
|
9
|
+
Store validation schemas are loaded at runtime from `.forge/schemas/`
|
|
10
|
+
(project-installed), `forge/schemas/` (in-tree fallback), or
|
|
11
|
+
`$FORGE_ROOT/schemas/` (plugin-installed fallback). During init, schemas
|
|
12
|
+
are copied to `.forge/schemas/` so that validation works without relying
|
|
13
|
+
on fallback paths.
|
|
14
|
+
|
|
15
|
+
## Inputs
|
|
16
|
+
|
|
17
|
+
- `.forge/config.json` — target paths
|
|
18
|
+
|
|
19
|
+
## Outputs
|
|
20
|
+
|
|
21
|
+
- `.forge/tools/` — vendored plugin tools closure
|
|
22
|
+
- `.forge/tools/.forge-tools-version` — version marker for `/forge:health` staleness check
|
|
23
|
+
- `.forge/schemas/` — JSON Schema copies from the installed plugin
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
Read `.forge/config.json` for:
|
|
28
|
+
- `paths.store` (default: `.forge/store`)
|
|
29
|
+
|
|
30
|
+
### Step 1 — Copy validation schemas
|
|
31
|
+
|
|
32
|
+
Copy all JSON Schema files from the installed plugin to the project:
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
mkdir -p .forge/schemas
|
|
36
|
+
cp "$FORGE_ROOT/schemas/"*.schema.json .forge/schemas/
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This ensures `store-cli.cjs` and `validate-store.cjs` can validate records
|
|
40
|
+
using the full schema (not the minimal fallback) even when the project is
|
|
41
|
+
not inside the Forge source tree.
|
|
42
|
+
|
|
43
|
+
### Step 2 — Vendor plugin tools
|
|
44
|
+
|
|
45
|
+
Copy the plugin tools closure into the project's `.forge/tools/` so that
|
|
46
|
+
generated artifacts can invoke `node .forge/tools/<tool>.cjs` from the
|
|
47
|
+
project root without resolving `$FORGE_ROOT`:
|
|
48
|
+
|
|
49
|
+
Copy BOTH `.cjs` and `.js` files. Some tools require `.js` helpers at load
|
|
50
|
+
time — e.g. `store-cli.cjs` does a top-level `require('./lib/validate.js')`
|
|
51
|
+
and `collate.cjs` requires `./lib/result.js` — so a `.cjs`-only copy leaves
|
|
52
|
+
`store-cli.cjs` dead-on-arrival and breaks KB collation. `-maxdepth 1`
|
|
53
|
+
excludes the `__tests__/` subtree without copying any `*.test.*` files.
|
|
54
|
+
|
|
55
|
+
```sh
|
|
56
|
+
mkdir -p .forge/tools/lib
|
|
57
|
+
|
|
58
|
+
# Copy top-level tool files (.cjs and .js — e.g. list-skills.js)
|
|
59
|
+
find "$FORGE_ROOT/tools" -maxdepth 1 -type f \( -name '*.cjs' -o -name '*.js' \) \
|
|
60
|
+
-exec cp {} .forge/tools/ \;
|
|
61
|
+
|
|
62
|
+
# Copy lib/ helper files (.cjs and .js — e.g. result.js, validate.js)
|
|
63
|
+
find "$FORGE_ROOT/tools/lib" -maxdepth 1 -type f \( -name '*.cjs' -o -name '*.js' \) \
|
|
64
|
+
-exec cp {} .forge/tools/lib/ \;
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
After copying, record each vendored file in the generation manifest so that
|
|
68
|
+
`/forge:health` can detect modifications or stale copies:
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
for f in $(find .forge/tools .forge/tools/lib -maxdepth 1 -type f \( -name '*.cjs' -o -name '*.js' \)); do
|
|
72
|
+
node "$FORGE_ROOT/tools/generation-manifest.cjs" record "$f"
|
|
73
|
+
done
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Step 2b — Write version marker
|
|
77
|
+
|
|
78
|
+
After the tool copy loop, write the version marker so `/forge:health` can
|
|
79
|
+
detect whether the vendored tools are stale relative to the active plugin:
|
|
80
|
+
|
|
81
|
+
```sh
|
|
82
|
+
ACTIVE_VERSION=$(node -e "console.log(require('$FORGE_ROOT/.claude-plugin/plugin.json').version)")
|
|
83
|
+
node -e "
|
|
84
|
+
const fs = require('fs');
|
|
85
|
+
fs.writeFileSync('.forge/tools/.forge-tools-version', JSON.stringify({ version: '${ACTIVE_VERSION}' }) + '\n');
|
|
86
|
+
"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Step 3 — Verify
|
|
90
|
+
|
|
91
|
+
```sh
|
|
92
|
+
node "$FORGE_ROOT/tools/validate-store.cjs" --dry-run
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If it exits non-zero, report the error. Do not proceed to Phase 9 until this passes.
|
|
96
|
+
|
|
97
|
+
### Step 4 — Register the Forge root
|
|
98
|
+
|
|
99
|
+
Write the project-relative Forge root into config. In the CLI-first vendored
|
|
100
|
+
world the `.forge/` directory IS the Forge root (tools, schemas, hooks, init,
|
|
101
|
+
meta are all vendored there) — NEVER write an absolute path (plugin cache,
|
|
102
|
+
npm global payload, …): absolute paths break on version upgrades, nvm/node
|
|
103
|
+
switches, and machine moves.
|
|
104
|
+
|
|
105
|
+
```sh
|
|
106
|
+
node .forge/tools/manage-config.cjs set paths.forgeRoot '".forge"'
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Step 5 — Record hashes
|
|
110
|
+
|
|
111
|
+
Record all generated artifacts in the generation manifest so health checks
|
|
112
|
+
can detect later modifications:
|
|
113
|
+
|
|
114
|
+
```sh
|
|
115
|
+
for f in .forge/schemas/*.schema.json; do
|
|
116
|
+
node "$FORGE_ROOT/tools/generation-manifest.cjs" record "$f"
|
|
117
|
+
done
|
|
118
|
+
node "$FORGE_ROOT/tools/generation-manifest.cjs" record .forge/config.json
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Notes
|
|
122
|
+
|
|
123
|
+
- `/forge:update` automatically refreshes schemas and re-vendors tools as part
|
|
124
|
+
of its normal flow — run it after upgrades to pick up any changed tools or
|
|
125
|
+
schema updates from the new version.
|
|
126
|
+
- Generated workflow files invoke tools using the vendored project-relative path:
|
|
127
|
+
```
|
|
128
|
+
node .forge/tools/<tool>.cjs
|
|
129
|
+
```
|
|
130
|
+
This works from the project root without resolving `$FORGE_ROOT` at runtime.
|
|
131
|
+
- `paths.forgeRef` in config records the plugin version the project was generated
|
|
132
|
+
against. `forge-preflight.cjs` uses it to resolve the plugin root via cache
|
|
133
|
+
lookup when runtime telemetry requires the original plugin path.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Workflow Generation — Per-Subagent Instructions
|
|
2
|
+
|
|
3
|
+
You are generating **ONE** workflow file. You have been given three inputs:
|
|
4
|
+
|
|
5
|
+
1. A **project brief** (`.forge/init-context.md`) — authoritative for all names,
|
|
6
|
+
paths, and placeholder values
|
|
7
|
+
2. A **meta-workflow source** — your generation algorithm and Generation Instructions
|
|
8
|
+
3. A **persona file** (already generated) — embed verbatim as the opening section
|
|
9
|
+
|
|
10
|
+
Your job is to produce exactly one file and return a one-line status.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
Read these three sources before writing anything:
|
|
17
|
+
|
|
18
|
+
- `.forge/init-context.md` — the project brief (passed inline in your prompt)
|
|
19
|
+
- `$FORGE_ROOT/meta/workflows/{meta}` — the meta-workflow for your assigned workflow
|
|
20
|
+
- `.forge/personas/{persona}.md` — the persona file for your assigned role
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Rules
|
|
25
|
+
|
|
26
|
+
1. **Write EXACTLY ONE file:** `.forge/workflows/{id}.md`
|
|
27
|
+
|
|
28
|
+
2. **Opening section** — the generated file must begin with:
|
|
29
|
+
a. The meta-workflow's YAML frontmatter block (`---` … `---`) verbatim,
|
|
30
|
+
if present. This carries `requirements:` fields used for runtime model
|
|
31
|
+
selection and must be preserved exactly.
|
|
32
|
+
b. Immediately after the closing `---`, embed the persona file content
|
|
33
|
+
verbatim as the first section. Do not paraphrase or summarise.
|
|
34
|
+
|
|
35
|
+
3. **Placeholder substitution** — all `{SYNTAX_CHECK}`, `{TEST_COMMAND}`,
|
|
36
|
+
`{BUILD_COMMAND}`, `{LINT_COMMAND}` values come from the brief's
|
|
37
|
+
`## Commands` section. Do not invent values.
|
|
38
|
+
|
|
39
|
+
4. **Name vocabulary** — all persona names, template names, architecture doc
|
|
40
|
+
names, and entity names MUST appear in the brief. Do not invent or rename
|
|
41
|
+
anything not listed there.
|
|
42
|
+
|
|
43
|
+
5. **Required steps** — follow the meta-workflow's Generation Instructions.
|
|
44
|
+
Include the Knowledge Writeback step and the Event Emission step as defined
|
|
45
|
+
in the meta-workflow (unless the meta explicitly omits them, e.g. quiz_agent).
|
|
46
|
+
|
|
47
|
+
6. **Enforcement quality** — for review workflows, include:
|
|
48
|
+
- A Rationalization Table of common agent excuses and factual rebuttals
|
|
49
|
+
- "YOU MUST" / "No exceptions" gate language at critical checks
|
|
50
|
+
- An announcement pattern: the agent declares intent at workflow start
|
|
51
|
+
|
|
52
|
+
7. **No free-form additions** — do not add sections, steps, or notes beyond
|
|
53
|
+
what the meta-workflow and project brief prescribe.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Self-check (mandatory last step)
|
|
58
|
+
|
|
59
|
+
After writing the file, verify before returning:
|
|
60
|
+
|
|
61
|
+
1. Read back `.forge/workflows/{id}.md`
|
|
62
|
+
2. Confirm the persona symbol appears as the **first non-blank line after the
|
|
63
|
+
closing `---`** of the frontmatter block (or as the absolute first non-blank
|
|
64
|
+
line if the meta-workflow had no frontmatter). The symbol is listed in the
|
|
65
|
+
brief's `## Personas` section for this workflow's role.
|
|
66
|
+
3. Confirm **no unsubstituted placeholders** remain (no literal `{TEST_COMMAND}`,
|
|
67
|
+
`{BUILD_COMMAND}`, `{SYNTAX_CHECK}`, or `{LINT_COMMAND}` in the file)
|
|
68
|
+
4. Record in the manifest:
|
|
69
|
+
```sh
|
|
70
|
+
node "$FORGE_ROOT/tools/generation-manifest.cjs" record ".forge/workflows/{id}.md"
|
|
71
|
+
```
|
|
72
|
+
(If generation-manifest.cjs is not yet installed, skip silently.)
|
|
73
|
+
|
|
74
|
+
5. Return **exactly one line**:
|
|
75
|
+
- `done: <first 80 chars of the written file>` — on success
|
|
76
|
+
- `FAILED: <reason>` — if any step above failed or the file could not be written
|
|
77
|
+
|
|
78
|
+
Do not output anything else after the status line.
|
|
@@ -9,6 +9,10 @@ parent directory — the folder containing `meta/` and `init/`).
|
|
|
9
9
|
|
|
10
10
|
## Pre-flight — Knowledge Base Folder
|
|
11
11
|
|
|
12
|
+
> **Orchestrator note:** If your orchestrator (e.g. the `wfl:init` driver or the CLI-first
|
|
13
|
+
> wrapper) has already supplied a `kbFolder` value, use it directly — skip this prompt.
|
|
14
|
+
> This interactive block applies only to unmediated orchestrator-free execution.
|
|
15
|
+
|
|
12
16
|
Before Phase 1 begins, ask the user where to create the knowledge base folder:
|
|
13
17
|
|
|
14
18
|
```
|
|
@@ -74,13 +78,13 @@ Using your discovery findings, write `.forge/config.json` with this structure:
|
|
|
74
78
|
"engineering": "engineering",
|
|
75
79
|
"store": ".forge/store",
|
|
76
80
|
"workflows": ".forge/workflows",
|
|
77
|
-
"commands": ".claude/commands
|
|
81
|
+
"commands": ".claude/commands/forge",
|
|
78
82
|
"templates": ".forge/templates"
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
85
|
```
|
|
82
86
|
|
|
83
|
-
|
|
87
|
+
`paths.commands` is ALWAYS `".claude/commands/forge"` — the command namespace is fixed (CLI-first redesign); it does NOT derive from the project prefix.
|
|
84
88
|
|
|
85
89
|
Write using:
|
|
86
90
|
```sh
|
|
@@ -103,6 +107,10 @@ If any key is missing or empty, fix it now before proceeding.
|
|
|
103
107
|
|
|
104
108
|
### Step 5 — Marketplace Skills
|
|
105
109
|
|
|
110
|
+
> **Orchestrator note:** If your orchestrator handles the skills install offer post-workflow
|
|
111
|
+
> (e.g. the `init.md` wrapper does this after `wfl:init` returns), skip this step. Return
|
|
112
|
+
> `{ matches, alreadyInstalled }` from the config-writer agent instead.
|
|
113
|
+
|
|
106
114
|
Read `$FORGE_ROOT/meta/skill-recommendations.md` for the full mapping.
|
|
107
115
|
|
|
108
116
|
Using the stack discovered above, look up matching skills from the recommendation
|
|
@@ -63,7 +63,7 @@ node "$FORGE_ROOT/tools/substitute-placeholders.cjs" \
|
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
Output directories (managed by the tool's `SUBDIR_OUTPUT_MAP`):
|
|
66
|
-
- `base-pack/commands/` → `.claude/commands
|
|
66
|
+
- `base-pack/commands/` → `.claude/commands/forge/` (fixed namespace — CLI-first redesign)
|
|
67
67
|
- `base-pack/personas/` → `.forge/personas/`
|
|
68
68
|
- `base-pack/skills/` → `.forge/skills/`
|
|
69
69
|
- `base-pack/workflows/` → `.forge/workflows/`
|
|
@@ -102,6 +102,10 @@ console.log('ノ update-check-cache.json written');
|
|
|
102
102
|
|
|
103
103
|
### Step 11 — Tomoshibi (refresh-kb-links)
|
|
104
104
|
|
|
105
|
+
> **Orchestrator note:** This step is orchestrator-owned. When running under `wfl:init`, the
|
|
106
|
+
> register agent returns `pendingActions: ["refresh-kb-links"]` and the command wrapper
|
|
107
|
+
> invokes the Skill. Do NOT execute this step if your orchestrator owns it.
|
|
108
|
+
|
|
105
109
|
Use the Skill tool:
|
|
106
110
|
```
|
|
107
111
|
skill: "forge:refresh-kb-links"
|
|
@@ -134,6 +138,10 @@ Fallback if unavailable:
|
|
|
134
138
|
|
|
135
139
|
### Step 13 — Agent instruction file linking
|
|
136
140
|
|
|
141
|
+
> **Orchestrator note:** If your orchestrator pre-answered the CLAUDE.md creation prompt
|
|
142
|
+
> (via `args.createClaudeMd`), use that value directly — skip the interactive prompt.
|
|
143
|
+
> Execute the file creation only if `createClaudeMd === true`.
|
|
144
|
+
|
|
137
145
|
Check whether any agent instruction file exists at the project root:
|
|
138
146
|
```sh
|
|
139
147
|
ls CLAUDE.md AGENTS.md CLAUDE.local.md .cursorrules 2>/dev/null
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
[
|
|
2
|
+
{"id": "architect_sprint_intake", "meta": "meta-new-sprint.md", "persona": "product-manager"},
|
|
3
|
+
{"id": "architect_sprint_plan", "meta": "meta-plan-sprint.md", "persona": "architect"},
|
|
4
|
+
{"id": "architect_approve", "meta": "meta-approve.md", "persona": "architect"},
|
|
5
|
+
{"id": "architect_review_sprint_completion", "meta": "meta-review-sprint-completion.md","persona": "architect"},
|
|
6
|
+
{"id": "plan_task", "meta": "meta-plan-task.md", "persona": "architect"},
|
|
7
|
+
{"id": "implement_plan", "meta": "meta-implement.md", "persona": "engineer"},
|
|
8
|
+
{"id": "update_plan", "meta": "meta-update-plan.md", "persona": "architect"},
|
|
9
|
+
{"id": "update_implementation", "meta": "meta-update-implementation.md", "persona": "engineer"},
|
|
10
|
+
{"id": "commit_task", "meta": "meta-commit.md", "persona": "engineer"},
|
|
11
|
+
{"id": "review_plan", "meta": "meta-review-plan.md", "persona": "supervisor"},
|
|
12
|
+
{"id": "review_code", "meta": "meta-review-implementation.md", "persona": "supervisor"},
|
|
13
|
+
{"id": "collator_agent", "meta": "meta-collate.md", "persona": "collator"},
|
|
14
|
+
{"id": "sprint_retrospective", "meta": "meta-retro.md", "persona": "architect"},
|
|
15
|
+
{"id": "validate_task", "meta": "meta-validate.md", "persona": "qa-engineer"},
|
|
16
|
+
{"id": "quiz_agent", "meta": "meta-check-agent.md", "persona": "qa-engineer"}
|
|
17
|
+
]
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
3
|
-
"generated": "2026-06-
|
|
2
|
+
"version": "1.4.4",
|
|
3
|
+
"generated": "2026-06-07",
|
|
4
4
|
"note": "Tamper-evident only. Authoritative source: /forge:update from remote.",
|
|
5
5
|
"files": {
|
|
6
|
-
"commands/add-pipeline.md": "
|
|
7
|
-
"commands/add-task.md": "
|
|
8
|
-
"commands/ask.md": "
|
|
9
|
-
"commands/check-agent.md": "
|
|
10
|
-
"commands/config.md": "
|
|
6
|
+
"commands/add-pipeline.md": "ed4e666b38542d959287116ff6f25e8f51b10c2f18d1fc54974a996fdaf9d8f7",
|
|
7
|
+
"commands/add-task.md": "1782818b31d602194a2bbab12dda00e3b5a947dd5410ca9078777e79df1ad3ee",
|
|
8
|
+
"commands/ask.md": "9b53c7636533811d689cfc27e5eeb847c92f8f740434657c61db090a53a4e21f",
|
|
9
|
+
"commands/check-agent.md": "89d2ebac4910447af22380df5d1b99511d6dae3581374ddb6780e686d8163ce6",
|
|
10
|
+
"commands/config.md": "e9af723a2cf782d167d75aa29cbbec71e937507b9d7576ad254a5a35acae9df0",
|
|
11
11
|
"commands/enhance.md": "d28f6414119e84973809d32900bb7245b51f565aed86112bc7a994bc6941b547",
|
|
12
|
-
"commands/health.md": "
|
|
13
|
-
"commands/init.md": "
|
|
14
|
-
"commands/rebuild.md": "
|
|
15
|
-
"commands/remove.md": "
|
|
16
|
-
"commands/repair.md": "
|
|
17
|
-
"commands/report-bug.md": "
|
|
12
|
+
"commands/health.md": "d92d81ab8614608c383a01f4788fa9aa17a9b07c0d62caebad264a6459b45d58",
|
|
13
|
+
"commands/init.md": "846e719a85aea6cd706287d6b3bd764d023dae463c0d646c5bf02481c179f4d9",
|
|
14
|
+
"commands/rebuild.md": "be7cc69c79883d3caae52b1ce8904404ac6d622b84fc17a278f3fd697230842f",
|
|
15
|
+
"commands/remove.md": "3044c58c699047e94bea4bb26bbe0e8d81425cba1ef2afc7243968e2ee8ab483",
|
|
16
|
+
"commands/repair.md": "90dd34c87768aef50a46224a21280047ed2376ca59785ecf6403cae3177dfc2f",
|
|
17
|
+
"commands/report-bug.md": "ae4eb28b54d171de20e89250daadc2a0859887f1d59845a895bd9543b0c1db6f",
|
|
18
18
|
"commands/search.md": "befc4ba9f3146e7599308b35b95ec315e16895c0c18c9c2bab7549619d79bf1c",
|
|
19
|
-
"commands/status.md": "
|
|
20
|
-
"commands/update.md": "
|
|
19
|
+
"commands/status.md": "d1f5e9295b472553fafcd270e34be00560beadfb18b98d4b696845fb794102eb",
|
|
20
|
+
"commands/update.md": "00cf09b7fa6e84b7bd137a543a11e52c3dbfe3dfe463982dbd6224435ba52345",
|
|
21
21
|
"agents/store-query-validator.md": "f4c3573edcf6e28809515705362df611806a805c5269404fb17e31433cf3a81c",
|
|
22
22
|
"agents/tomoshibi.md": "0c1032df80dfc25a4f482b1276965b5318754d95ccde9f24820846d564e49a27",
|
|
23
23
|
"hooks/check-update.cjs": "9607cc0c51bedcbc123f5ea1d7a492916f29ee1f838846eec64776d5df70bbea",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"schemas/transitions/bug.json": "27b17da42d1cebffbd4f61ab3dcd432a0017aa71997d548ed80d22c2fc3fad6a",
|
|
31
31
|
"schemas/transitions/sprint.json": "2e0a629396e687b0ca88e1814ac3e35d84533a5d55b25237ab67feddce3c9deb",
|
|
32
32
|
"schemas/transitions/task.json": "4c71849747baa0d585756e57c56325ff6219c078178374e60815dff91e25e3e7",
|
|
33
|
-
"schemas/enum-catalog.json": "
|
|
33
|
+
"schemas/enum-catalog.json": "031b5888c3092dccb23e7fafe6cad3462cd4c8a4af3b055fcd503595818efaa0",
|
|
34
34
|
"tools/verify-integrity.cjs": "3ec3c970dd3d7c3001f8f373bcc40556803eadd2fc2afafb14f1c232cba4cc3f"
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -80,12 +80,11 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
|
|
|
80
80
|
}
|
|
81
81
|
```
|
|
82
82
|
The orchestrator reads this file directly to compose the collation event narrative. Do NOT call `set-summary` to register it — that would mutate the store in violation of Iron Law 1.
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
```
|
|
83
|
+
- KB link refresh (best-effort; skip if unavailable):
|
|
84
|
+
When running standalone in the Claude Code TUI, invoke via the Skill tool
|
|
85
|
+
(`skill: "forge:refresh-kb-links"`).
|
|
86
|
+
When running as a subagent within forge-cli (Pi runtime), the TS orchestrator
|
|
87
|
+
calls `runRefreshKbLinks` directly after this phase — skip this step.
|
|
89
88
|
```
|
|
90
89
|
|
|
91
90
|
<!-- See _fragments/generation-instructions.md for Generation Instructions template -->
|
|
@@ -295,7 +295,7 @@ node .forge/tools/substitute-placeholders.cjs \
|
|
|
295
295
|
```
|
|
296
296
|
|
|
297
297
|
This overwrites `.forge/personas/`, `.forge/skills/`, `.forge/workflows/`,
|
|
298
|
-
`.forge/templates/`, and `.claude/commands
|
|
298
|
+
`.forge/templates/`, and `.claude/commands/forge/` with the freshly substituted
|
|
299
299
|
base-pack.
|
|
300
300
|
|
|
301
301
|
If `substitute-placeholders.cjs` exits non-zero: halt, report the error to the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
3
|
-
"generatedAt": "2026-06-
|
|
2
|
+
"version": "1.4.3",
|
|
3
|
+
"generatedAt": "2026-06-07T14:06:39.707Z",
|
|
4
4
|
"generatedByTool": "build-manifest.cjs",
|
|
5
5
|
"namespaces": {
|
|
6
6
|
"personas": {
|
|
@@ -109,6 +109,7 @@
|
|
|
109
109
|
"dir": ".claude/workflows",
|
|
110
110
|
"files": [
|
|
111
111
|
"wfl-fix-bug.js",
|
|
112
|
+
"wfl-init.js",
|
|
112
113
|
"wfl-run-sprint.js",
|
|
113
114
|
"wfl-run-task.js"
|
|
114
115
|
]
|
|
@@ -142,43 +143,33 @@
|
|
|
142
143
|
"artifact.cjs",
|
|
143
144
|
"backfill-provider.cjs",
|
|
144
145
|
"banners.cjs",
|
|
145
|
-
"build-base-pack.cjs",
|
|
146
146
|
"build-context-pack.cjs",
|
|
147
|
-
"build-enum-catalog.cjs",
|
|
148
147
|
"build-init-context.cjs",
|
|
149
|
-
"build-manifest.cjs",
|
|
150
148
|
"build-overlay.cjs",
|
|
151
149
|
"build-persona-pack.cjs",
|
|
152
|
-
"check-no-skipped-tests.cjs",
|
|
153
150
|
"check-structure.cjs",
|
|
154
151
|
"collate.cjs",
|
|
155
152
|
"commit-task.cjs",
|
|
156
153
|
"compression-gate.cjs",
|
|
157
154
|
"delete-candidate-detector.cjs",
|
|
158
|
-
"estimate-usage.cjs",
|
|
159
155
|
"forge-preflight.cjs",
|
|
160
156
|
"friction-emit.cjs",
|
|
161
|
-
"gen-integrity.cjs",
|
|
162
157
|
"generation-manifest.cjs",
|
|
163
158
|
"judge-proposal.cjs",
|
|
164
159
|
"manage-config.cjs",
|
|
165
160
|
"manage-versions.cjs",
|
|
166
|
-
"migrate-slug-maxlen.cjs",
|
|
167
161
|
"parse-gates.cjs",
|
|
168
162
|
"postflight-gate.cjs",
|
|
169
163
|
"preflight-gate.cjs",
|
|
170
|
-
"proposal-normalize.cjs",
|
|
171
164
|
"query-logger.cjs",
|
|
172
165
|
"queue-drain.cjs",
|
|
173
166
|
"read-verdict.cjs",
|
|
174
167
|
"replay-scoring.cjs",
|
|
175
|
-
"rewrite-plugin-urls.cjs",
|
|
176
168
|
"seed-store.cjs",
|
|
177
169
|
"store-cli.cjs",
|
|
178
170
|
"store-query.cjs",
|
|
179
171
|
"store.cjs",
|
|
180
172
|
"substitute-placeholders.cjs",
|
|
181
|
-
"token-forensics.cjs",
|
|
182
173
|
"validate-store.cjs",
|
|
183
174
|
"verify-apply.cjs",
|
|
184
175
|
"verify-integrity.cjs",
|