@entelligentsia/forgecli 1.0.25 → 1.0.40
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 +341 -0
- package/README.md +2 -0
- package/dist/CHANGELOG-forge-plugin.md +264 -0
- package/dist/CHANGELOG-pi.md +143 -0
- package/dist/bin/argv.d.ts +2 -2
- package/dist/bin/argv.js +37 -0
- package/dist/bin/argv.js.map +1 -1
- package/dist/bin/forge.js +30 -16
- 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/reset.d.ts +39 -0
- package/dist/bin/reset.js +101 -0
- package/dist/bin/reset.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/claude-bootstrap/bootstrap.d.ts +40 -0
- package/dist/extensions/forgecli/claude-bootstrap/bootstrap.js +384 -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 +235 -0
- package/dist/extensions/forgecli/claude-bootstrap/uninstall.js.map +1 -0
- package/dist/extensions/forgecli/commands/reset.d.ts +16 -0
- package/dist/extensions/forgecli/commands/reset.js +83 -0
- package/dist/extensions/forgecli/commands/reset.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/forge-commands.d.ts +7 -2
- package/dist/extensions/forgecli/forge-commands.js +19 -5
- package/dist/extensions/forgecli/forge-commands.js.map +1 -1
- package/dist/extensions/forgecli/forge-subagent.d.ts +4 -4
- package/dist/extensions/forgecli/hooks/forge-permissions.js +20 -6
- package/dist/extensions/forgecli/hooks/forge-permissions.js.map +1 -1
- package/dist/extensions/forgecli/index.js +6 -3
- package/dist/extensions/forgecli/index.js.map +1 -1
- package/dist/extensions/forgecli/lib/forge-root.d.ts +6 -0
- package/dist/extensions/forgecli/lib/forge-root.js +52 -0
- package/dist/extensions/forgecli/lib/forge-root.js.map +1 -1
- package/dist/extensions/forgecli/lib/payload-manifest.d.ts +62 -0
- package/dist/extensions/forgecli/lib/payload-manifest.js +151 -0
- package/dist/extensions/forgecli/lib/payload-manifest.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/advisory-render.d.ts +9 -0
- package/dist/extensions/forgecli/orchestrators/advisory-render.js +107 -0
- package/dist/extensions/forgecli/orchestrators/advisory-render.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 +11 -0
- package/dist/extensions/forgecli/orchestrators/bug/bug-phases.js +82 -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 +198 -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/recovery-menu.d.ts +24 -0
- package/dist/extensions/forgecli/orchestrators/common/recovery-menu.js +58 -0
- package/dist/extensions/forgecli/orchestrators/common/recovery-menu.js.map +1 -0
- package/dist/extensions/forgecli/orchestrators/common/reset-pipeline.d.ts +53 -0
- package/dist/extensions/forgecli/orchestrators/common/reset-pipeline.js +131 -0
- package/dist/extensions/forgecli/orchestrators/common/reset-pipeline.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/halt-advisor.js +25 -3
- package/dist/extensions/forgecli/orchestrators/halt-advisor.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 +17 -0
- package/dist/extensions/forgecli/orchestrators/task/task-phases.js +48 -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 +187 -0
- package/dist/extensions/forgecli/orchestrators/task/task-verdict-loop.js.map +1 -0
- package/dist/extensions/forgecli/store/store-resolver.d.ts +15 -0
- package/dist/extensions/forgecli/store/store-resolver.js +118 -18
- package/dist/extensions/forgecli/store/store-resolver.js.map +1 -1
- 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/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 +170 -0
- package/dist/forge-payload/.schemas/payload-manifest.schema.json +100 -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/{.base-pack/commands → commands}/approve.md +2 -2
- package/dist/forge-payload/commands/ask.md +1 -1
- package/dist/forge-payload/commands/check-agent.md +8 -24
- package/dist/forge-payload/{.base-pack/commands → commands}/collate.md +2 -2
- package/dist/forge-payload/{.base-pack/commands → commands}/commit.md +2 -2
- package/dist/forge-payload/commands/config.md +1 -1
- package/dist/forge-payload/commands/enhance.md +31 -5
- package/dist/forge-payload/{.base-pack/commands → commands}/fix-bug.md +2 -2
- package/dist/forge-payload/commands/health.md +1 -1
- package/dist/forge-payload/{.base-pack/commands → commands}/implement.md +2 -2
- package/dist/forge-payload/commands/init.md +186 -67
- package/dist/forge-payload/{.base-pack/commands → commands}/new-sprint.md +2 -2
- package/dist/forge-payload/{.base-pack/commands → commands}/plan-sprint.md +2 -2
- package/dist/forge-payload/{.base-pack/commands → commands}/plan.md +2 -2
- 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/reset.md +117 -0
- package/dist/forge-payload/{.base-pack/commands → commands}/retro.md +2 -2
- package/dist/forge-payload/{.base-pack/commands → commands}/review-code.md +2 -2
- package/dist/forge-payload/{.base-pack/commands → commands}/review-plan.md +2 -2
- package/dist/forge-payload/{.base-pack/commands → commands}/run-sprint.md +2 -2
- package/dist/forge-payload/{.base-pack/commands → commands}/run-task.md +2 -2
- package/dist/forge-payload/commands/status.md +1 -1
- package/dist/forge-payload/commands/update.md +3 -3
- package/dist/forge-payload/{.base-pack/commands → commands}/validate.md +2 -2
- package/dist/forge-payload/hooks/forge-permissions.cjs +29 -6
- 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-persona.md +73 -0
- package/dist/forge-payload/init/generation/generate-skill.md +66 -0
- package/dist/forge-payload/init/generation/generate-template.md +60 -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 +5 -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 +33 -18
- 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/payload-manifest.json +314 -0
- package/dist/forge-payload/schemas/enum-catalog.json +2 -2
- package/dist/forge-payload/schemas/payload-manifest.schema.json +100 -0
- package/dist/forge-payload/schemas/structure-manifest.json +5 -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/reset-plan.cjs +210 -0
- package/dist/forge-payload/tools/store.cjs +4 -1
- package/dist/forge-payload/tools/substitute-placeholders.cjs +14 -7
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +8 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts +4 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js +3 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts +20 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js +92 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts +18 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js +42 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts +10 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js +31 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts +30 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js +170 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts +26 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js +90 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +6 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
- package/node_modules/@earendil-works/pi-ai/README.md +12 -4
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +45 -0
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +45 -0
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +1804 -815
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +2031 -1384
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +71 -27
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +24 -16
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +3 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +35 -13
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +12 -4
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +13 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +4 -2
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +3 -2
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +143 -0
- package/node_modules/@earendil-works/pi-coding-agent/README.md +26 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js +11 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/project-trust.d.ts +10 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/project-trust.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/project-trust.js +48 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/project-trust.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.d.ts +17 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js +128 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/startup-ui.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +9 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/config.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js +4 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +4 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +16 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js +9 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/utils.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/utils.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/utils.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/utils.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/experimental.d.ts +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/experimental.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/experimental.js +4 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/experimental.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/template.js +19 -6
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +4 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +10 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +47 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +28 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.d.ts +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.js +29 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.d.ts +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +44 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +47 -13
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.d.ts +15 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.js +58 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.d.ts +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js +24 -26
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.d.ts +4 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.js +72 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-display-names.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-display-names.js +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-display-names.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts +13 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js +112 -37
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +7 -33
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +103 -70
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +20 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +97 -30
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.d.ts +36 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.js +202 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/trust-manager.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +5 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +72 -32
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js +39 -34
- package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.js +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/first-time-setup.js +103 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/first-time-setup.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.d.ts +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.js +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +10 -13
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +20 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +22 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/trust-selector.d.ts +23 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/trust-selector.js +91 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/trust-selector.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +7 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +101 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts +6 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +111 -10
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.d.ts +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.js +78 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/git.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/git.js +54 -22
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/git.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/open-browser.d.ts +9 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/open-browser.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/open-browser.js +22 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/open-browser.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/containerization.md +111 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/docs.json +8 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +67 -13
- package/node_modules/@earendil-works/pi-coding-agent/docs/index.md +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/docs/packages.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/prompt-templates.md +9 -2
- package/node_modules/@earendil-works/pi-coding-agent/docs/providers.md +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/security.md +59 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +15 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/skills.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +36 -2
- package/node_modules/@earendil-works/pi-coding-agent/docs/themes.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/tmux.md +4 -2
- package/node_modules/@earendil-works/pi-coding-agent/docs/tui.md +10 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +19 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/README.md +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-header.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/doom-overlay/index.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/index.ts +531 -0
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package-lock.json +185 -0
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/gondolin/package.json +19 -0
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/handoff.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/interactive-shell.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/overlay-qa-tests.ts +152 -81
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/project-trust.ts +64 -0
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/qna.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/question.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/questionnaire.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/snake.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/space-invaders.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/summarize.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/tic-tac-toe.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/todo.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/tools.ts +5 -0
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +12 -419
- package/node_modules/@earendil-works/pi-coding-agent/package.json +5 -8
- package/node_modules/@earendil-works/pi-tui/README.md +13 -1
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +2 -0
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +6 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +102 -43
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +2 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +11 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js +2 -2
- package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +4 -7
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js +38 -77
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +20 -4
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.js +244 -42
- package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +1 -0
- package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/utils.js +46 -15
- package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/package.json +8 -7
- package/dist/forge-payload/.base-pack/commands/check-agent.md +0 -22
- package/dist/forge-payload/.base-pack/commands/enhance.md +0 -37
|
@@ -1,26 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: init
|
|
3
|
-
description:
|
|
3
|
+
description: Bootstrap Forge's LLM half — KB discovery, config generation, and artifact registration. Run once after `4ge init claude .` has scaffolded the project structure.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /forge:init
|
|
7
7
|
|
|
8
|
-
You are the Forge init orchestrator. Your job is to
|
|
9
|
-
|
|
8
|
+
You are the Forge init orchestrator. Your job is to run the LLM half of the
|
|
9
|
+
Forge bootstrap — knowledge-base discovery, config generation, and artifact
|
|
10
|
+
registration — in the current working directory. The CLI half (`4ge init claude .`)
|
|
11
|
+
has already scaffolded the project structure, installed the wfl-init.js driver,
|
|
12
|
+
and installed this command wrapper.
|
|
10
13
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
Set `$FORGE_ROOT` to the plugin root provided by Claude Code:
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
`$FORGE_ROOT` is the directory containing `meta/`, `init/`, `hooks/`, and `commands/`.
|
|
20
|
-
|
|
21
|
-
## Execute
|
|
22
|
-
|
|
23
|
-
### Resume Detection
|
|
14
|
+
## Resume Detection
|
|
24
15
|
|
|
25
16
|
Before showing the pre-flight plan, check for an existing checkpoint:
|
|
26
17
|
|
|
@@ -36,7 +27,8 @@ If the file exists and contains valid JSON, inspect it:
|
|
|
36
27
|
```sh
|
|
37
28
|
rm -f .forge/init-progress.json
|
|
38
29
|
```
|
|
39
|
-
Then proceed to the **Pre-flight
|
|
30
|
+
Then proceed to the **Pre-flight interactive prompts** (new 4-phase flow, no mode prompt).
|
|
31
|
+
Set `startPhase = 1`.
|
|
40
32
|
|
|
41
33
|
- If the file contains valid JSON with `lastPhase` in range 1–4 and a `timestamp`
|
|
42
34
|
field, emit the resume banner:
|
|
@@ -55,105 +47,232 @@ Use the following mapping:
|
|
|
55
47
|
| 2 | Phase 3 |
|
|
56
48
|
| 3 | Phase 4 |
|
|
57
49
|
|
|
58
|
-
If the user chooses to resume:
|
|
59
|
-
|
|
50
|
+
If the user chooses to resume: set `startPhase = nextPhase`.
|
|
60
51
|
If the user chooses to start over: delete `.forge/init-progress.json`
|
|
61
|
-
(`rm -f .forge/init-progress.json`) and
|
|
52
|
+
(`rm -f .forge/init-progress.json`) and set `startPhase = 1`.
|
|
62
53
|
|
|
63
54
|
If the file does not exist, or contains invalid JSON, or contains an
|
|
64
55
|
unrecognised `lastPhase` value outside 1–4: delete any corrupt file and
|
|
65
|
-
|
|
56
|
+
set `startPhase = 1`.
|
|
66
57
|
|
|
67
58
|
If parsing the file throws (malformed JSON): log a one-line warning
|
|
68
59
|
`△ init-progress.json is malformed — deleting and starting fresh.`, delete
|
|
69
|
-
the file, and
|
|
60
|
+
the file, and set `startPhase = 1`.
|
|
70
61
|
|
|
71
|
-
|
|
62
|
+
## Hero
|
|
72
63
|
|
|
73
64
|
Render the Forge hero block once per session:
|
|
74
65
|
|
|
75
66
|
```sh
|
|
76
|
-
node
|
|
77
|
-
node
|
|
67
|
+
node .forge/tools/banners.cjs forge
|
|
68
|
+
node .forge/tools/banners.cjs --subtitle "AI SDLC bootstrapper · forge:init"
|
|
78
69
|
```
|
|
79
70
|
|
|
80
71
|
The hero runs once. If the user resumes mid-init, do NOT re-render the hero —
|
|
81
72
|
just emit the phase banner for the resume target phase.
|
|
82
73
|
|
|
83
|
-
|
|
74
|
+
## Flag Handling
|
|
84
75
|
|
|
85
76
|
`--fast` and `--full` are accepted as no-ops for backwards compatibility with
|
|
86
|
-
scripts and CI pipelines. Both flags proceed with the standard 4-phase
|
|
87
|
-
|
|
77
|
+
scripts and CI pipelines. Both flags proceed with the standard 4-phase flow.
|
|
78
|
+
|
|
79
|
+
**`--migrate` flag:** When `$ARGUMENTS` contains `--migrate`, redirect to the
|
|
80
|
+
store migration workflow. Read `.forge/config.json` to locate `paths.forgeRoot`,
|
|
81
|
+
then read `{forgeRoot}/meta/workflows/meta-migrate.md` and follow it.
|
|
82
|
+
Do NOT proceed to the pre-flight prompts when `--migrate` is present.
|
|
83
|
+
|
|
84
|
+
## Pre-flight Interactive Prompts
|
|
85
|
+
|
|
86
|
+
Gather these values before dispatching the workflow:
|
|
87
|
+
|
|
88
|
+
### a. KB Folder Prompt
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
What should your engineering knowledge base folder be named?
|
|
92
|
+
Default: engineering
|
|
93
|
+
(This is where Forge writes sprint artifacts, docs, and KB files.)
|
|
94
|
+
|
|
95
|
+
KB folder name [engineering]: ___
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
If the user provides a custom name (non-empty, not "engineering"), write it now:
|
|
99
|
+
|
|
100
|
+
```sh
|
|
101
|
+
node .forge/tools/manage-config.cjs set paths.engineering "{name}"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Set `kbFolder` to the chosen name (default: `"engineering"`).
|
|
105
|
+
|
|
106
|
+
### b. CLAUDE.md Offer
|
|
107
|
+
|
|
108
|
+
Check whether any agent instruction file exists:
|
|
109
|
+
|
|
110
|
+
```sh
|
|
111
|
+
ls CLAUDE.md AGENTS.md CLAUDE.local.md .cursorrules 2>/dev/null
|
|
112
|
+
```
|
|
88
113
|
|
|
89
|
-
|
|
90
|
-
workflow instead of the standard init. This is the v1.0 replacement for the removed
|
|
91
|
-
`/forge:migrate` command.
|
|
114
|
+
If NONE of those files exists, ask:
|
|
92
115
|
|
|
93
|
-
|
|
94
|
-
|
|
116
|
+
```
|
|
117
|
+
No CLAUDE.md / AGENTS.md found in this project.
|
|
118
|
+
Create a minimal CLAUDE.md with Forge KB links? [Y/n]: ___
|
|
119
|
+
```
|
|
95
120
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Read `"$FORGE_ROOT/meta/workflows/meta-migrate.md"` and follow it.
|
|
99
|
-
- If absent, run the standard store schema migration (Steps 1–7 of the former `migrate.md`):
|
|
100
|
-
Read `"$FORGE_ROOT/meta/workflows/meta-migrate.md"` and follow it, passing
|
|
101
|
-
`--store-schema` so it runs the schema migration path (Steps 2–7).
|
|
121
|
+
Set `createClaudeMd = true` if user answers Y (or presses Enter); `false` otherwise.
|
|
122
|
+
If any of those files already exists, set `createClaudeMd = false` (silently skip the offer).
|
|
102
123
|
|
|
103
|
-
|
|
104
|
-
only (no writes).
|
|
124
|
+
### c. Timestamp
|
|
105
125
|
|
|
106
|
-
|
|
126
|
+
Mint the ISO timestamp now (before workflow dispatch, in this command wrapper context):
|
|
107
127
|
|
|
108
|
-
|
|
109
|
-
|
|
128
|
+
```js
|
|
129
|
+
isoTimestamp = new Date().toISOString()
|
|
130
|
+
```
|
|
110
131
|
|
|
111
|
-
|
|
132
|
+
## Pre-flight Plan
|
|
112
133
|
|
|
113
|
-
Before
|
|
114
|
-
or specify a start phase.
|
|
134
|
+
Before dispatching, emit a summary and wait for confirmation:
|
|
115
135
|
|
|
116
136
|
```
|
|
117
137
|
## Forge Init — <project-name if discoverable, otherwise current directory name>
|
|
118
138
|
|
|
119
|
-
4 phases will run
|
|
139
|
+
4 phases will run via the wfl:init workflow:
|
|
120
140
|
|
|
121
141
|
1 Collect — 5 parallel discovery scans → config.json
|
|
122
|
-
KB folder prompt
|
|
142
|
+
KB folder prompt already answered above
|
|
123
143
|
2 Discover — KB doc generation (LLM fan-out) + project-context.json
|
|
124
144
|
3 Materialize — substitute-placeholders.cjs → fully functional workflows
|
|
125
145
|
4 Register — versioning, manifest, cache, store entries, Tomoshibi
|
|
126
146
|
|
|
127
|
-
|
|
128
|
-
|
|
147
|
+
Starting from Phase {startPhase}.
|
|
148
|
+
|
|
149
|
+
Proceed? [Y/n]: ___
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
If the user declines, stop and advise them to run `/forge:init` again when ready.
|
|
153
|
+
|
|
154
|
+
## Workflow Dispatch
|
|
155
|
+
|
|
156
|
+
Execute the workflow:
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
workflow('wfl:init', {
|
|
160
|
+
forgeRoot,
|
|
161
|
+
kbFolder,
|
|
162
|
+
startPhase,
|
|
163
|
+
createClaudeMd,
|
|
164
|
+
isoTimestamp,
|
|
165
|
+
rawArguments: $ARGUMENTS
|
|
166
|
+
})
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Where `forgeRoot` is resolved from `.forge/config.json`'s `paths.forgeRoot` field.
|
|
129
170
|
|
|
130
|
-
|
|
171
|
+
**Workflow-tool-missing error** — if the Workflow tool is unavailable, halt immediately
|
|
172
|
+
with this message:
|
|
173
|
+
|
|
174
|
+
> The Workflow tool is required to run `/forge:init`. This Claude Code build does not
|
|
175
|
+
> support the Workflow tool. Upgrade Claude Code and try again.
|
|
176
|
+
>
|
|
177
|
+
> (Alternatively, run `4ge init claude .` again to re-scaffold, then upgrade Claude Code.)
|
|
178
|
+
|
|
179
|
+
Do NOT fall back to reading any other document — halt with the above message only.
|
|
180
|
+
|
|
181
|
+
## Post-Workflow (on success)
|
|
182
|
+
|
|
183
|
+
When `workflow('wfl:init', ...)` returns with `result.ok === true`:
|
|
184
|
+
|
|
185
|
+
### Closing Banner
|
|
186
|
+
|
|
187
|
+
```sh
|
|
188
|
+
node .forge/tools/banners.cjs forge
|
|
189
|
+
node .forge/tools/banners.cjs --subtitle "灯 SDLC ready — welcome to your Forge SDLC"
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Welcome Block
|
|
193
|
+
|
|
194
|
+
Emit the welcome summary:
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
✓ Forge SDLC initialised
|
|
198
|
+
|
|
199
|
+
Your project is now configured with:
|
|
200
|
+
· Knowledge base in {kbFolder}/
|
|
201
|
+
· Workflows, personas, and skills in .forge/
|
|
202
|
+
· Sprint-ready store in .forge/store/
|
|
203
|
+
|
|
204
|
+
Next steps:
|
|
205
|
+
· /forge:new-sprint — plan your first sprint
|
|
206
|
+
· /forge:health — verify store health
|
|
207
|
+
· /forge:plan — plan a single task
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Marketplace Skills Offer
|
|
211
|
+
|
|
212
|
+
If `result.skillMatches` is present and non-empty, present skill buckets by
|
|
213
|
+
confidence (High → Medium → Low). For each bucket, list skill IDs and descriptions.
|
|
214
|
+
Ask: `Install recommended skills? [Y/n]` (per bucket or all at once — your call).
|
|
215
|
+
|
|
216
|
+
For each skill the user accepts:
|
|
217
|
+
|
|
218
|
+
```sh
|
|
219
|
+
node .forge/tools/manage-config.cjs set installedSkills.{skillId} true
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Track accepted/skipped counts for the final report. **If the user skips the
|
|
223
|
+
entire offer, proceed without blocking.**
|
|
224
|
+
|
|
225
|
+
### KB Links Refresh
|
|
226
|
+
|
|
227
|
+
Invoke the `forge:refresh-kb-links` skill via the Skill tool:
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
Skill('forge:refresh-kb-links')
|
|
131
231
|
```
|
|
132
232
|
|
|
133
|
-
If the
|
|
134
|
-
Any other input (including 0, 5+, or non-numeric text) re-prompts with the same table.
|
|
233
|
+
If the Skill tool is unavailable or the skill fails, emit:
|
|
135
234
|
|
|
136
|
-
|
|
137
|
-
|
|
235
|
+
```
|
|
236
|
+
△ Could not auto-refresh KB links — run /forge:refresh-kb-links manually
|
|
237
|
+
to wire your CLAUDE.md to your new KB docs.
|
|
238
|
+
```
|
|
138
239
|
|
|
139
|
-
|
|
140
|
-
Follow it exactly. It defines 4 phases:
|
|
240
|
+
### Final Report
|
|
141
241
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
3. **Materialize** — `substitute-placeholders.cjs` + `build-overlay.cjs` smoke test
|
|
145
|
-
4. **Register** — tools, versioning, manifest, cache, store seed, Tomoshibi, `.gitignore` update (unconditional), CLAUDE.md KB-link offer
|
|
242
|
+
```
|
|
243
|
+
Forge init complete.
|
|
146
244
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
245
|
+
KB docs generated: {count from result.kbDocCount or "see .forge/"}
|
|
246
|
+
Workflows installed: {count from result.workflowCount or "see .forge/workflows/"}
|
|
247
|
+
Commands installed: {count from result.commandCount or "see .claude/commands/"}
|
|
248
|
+
Skills accepted: {acceptedCount}
|
|
249
|
+
Skills skipped: {skippedCount}
|
|
250
|
+
|
|
251
|
+
Run `/forge:health` to verify the installation.
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
## Post-Workflow (on failure)
|
|
255
|
+
|
|
256
|
+
When `workflow('wfl:init', ...)` returns with `result.ok === false`, surface the
|
|
257
|
+
failure as structured JSON and offer a bug report:
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
✗ Forge init failed.
|
|
261
|
+
|
|
262
|
+
Failure details:
|
|
263
|
+
{result.failure as formatted JSON}
|
|
264
|
+
|
|
265
|
+
This looks like a Forge bug. Would you like to file a report?
|
|
266
|
+
Run `/forge:report-bug` — I'll pre-fill the report from this conversation.
|
|
267
|
+
```
|
|
150
268
|
|
|
151
269
|
## Arguments
|
|
152
270
|
|
|
153
271
|
$ARGUMENTS
|
|
154
272
|
|
|
155
|
-
## On
|
|
273
|
+
## On Error
|
|
156
274
|
|
|
157
275
|
If any step above fails unexpectedly, describe what went wrong and ask:
|
|
158
276
|
|
|
159
|
-
> "This looks like a Forge bug. Would you like to file a report to help improve it?
|
|
277
|
+
> "This looks like a Forge bug. Would you like to file a report to help improve it?
|
|
278
|
+
> Run `/forge:report-bug` — I'll pre-fill the report from this conversation."
|
|
@@ -3,14 +3,14 @@ name: new-sprint
|
|
|
3
3
|
description: Elicit and structure requirements for a new sprint
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /
|
|
6
|
+
# /forge:new-sprint
|
|
7
7
|
|
|
8
8
|
Read the new-sprint workflow and follow it.
|
|
9
9
|
|
|
10
10
|
## Locate the Forge plugin
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
13
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Execute
|
|
@@ -3,14 +3,14 @@ name: plan-sprint
|
|
|
3
3
|
description: Decompose sprint requirements into tasks with dependencies
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /
|
|
6
|
+
# /forge:plan-sprint
|
|
7
7
|
|
|
8
8
|
Read the plan-sprint workflow and follow it.
|
|
9
9
|
|
|
10
10
|
## Locate the Forge plugin
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
13
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Execute
|
|
@@ -3,14 +3,14 @@ name: plan
|
|
|
3
3
|
description: Design and document the implementation plan for a task
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /
|
|
6
|
+
# /forge:plan
|
|
7
7
|
|
|
8
8
|
Read the plan workflow and follow it.
|
|
9
9
|
|
|
10
10
|
## Locate the Forge plugin
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
13
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Execute
|
|
@@ -10,7 +10,7 @@ Re-run generation phases using the current state of the project. Use `--enrich`
|
|
|
10
10
|
## Locate the Forge plugin
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
13
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Read `.forge/config.json`. If it does not exist, stop and tell the user to run
|
|
@@ -18,7 +18,7 @@ Read `.forge/config.json`. If it does not exist, stop and tell the user to run
|
|
|
18
18
|
|
|
19
19
|
Resolve tools from the plugin:
|
|
20
20
|
```
|
|
21
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
21
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
All tool invocations in this command use `node "$FORGE_ROOT/tools/<tool>.cjs"`.
|
|
@@ -709,7 +709,7 @@ When `$ARGUMENTS` contains `--enrich`, run the enhancement workflow instead of r
|
|
|
709
709
|
This is the v1.0 replacement for the removed `/forge:enhance` command.
|
|
710
710
|
|
|
711
711
|
```
|
|
712
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
712
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
713
713
|
```
|
|
714
714
|
|
|
715
715
|
1. Check that `$FORGE_ROOT/meta/workflows/meta-enhance.md` exists. If absent:
|
|
@@ -21,7 +21,7 @@ nothing is deleted until you confirm explicitly.
|
|
|
21
21
|
Read the configured KB path and project prefix from config:
|
|
22
22
|
|
|
23
23
|
```sh
|
|
24
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
24
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
25
25
|
KB_PATH: !`node -e "try{console.log(require('./.forge/config.json').paths.engineering)}catch{console.log('engineering')}"`
|
|
26
26
|
PREFIX: !`node -e "try{console.log(require('./.forge/config.json').project.prefix.toLowerCase())}catch{console.log('')}"`
|
|
27
27
|
```
|
|
@@ -30,7 +30,7 @@ gh is not installed or not authenticated.
|
|
|
30
30
|
Collect the following in parallel:
|
|
31
31
|
|
|
32
32
|
```
|
|
33
|
-
forge_version: !`cat "${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json" 2>/dev/null | grep '"version"' | head -1 | sed 's/.*: *"\(.*\)".*/\1/'`
|
|
33
|
+
forge_version: !`cat "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}/.claude-plugin/plugin.json" 2>/dev/null | grep '"version"' | head -1 | sed 's/.*: *"\(.*\)".*/\1/'`
|
|
34
34
|
node_version: !`node --version 2>/dev/null || echo "N/A"`
|
|
35
35
|
os_info: !`uname -srm 2>/dev/null || echo "N/A"`
|
|
36
36
|
forge_config: !`cat ".forge/config.json" 2>/dev/null | head -30 || echo "No .forge/config.json found"`
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reset
|
|
3
|
+
description: Rewind a halted/blocked task, bug, or sprint to an earlier pipeline phase — a guardrailed, integrity-checked state reset. Use when a pipeline halted and you need to resume from a chosen phase, or to reopen committed work for rework.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /forge:reset
|
|
9
|
+
|
|
10
|
+
Guardrailed, natural-language **pipeline-state reset**. Rewinds a task, bug, or
|
|
11
|
+
sprint to an earlier phase so its pipeline can be resumed — after computing and
|
|
12
|
+
**confirming the cross-entity referential-integrity implications**. This never
|
|
13
|
+
mutates the store until you explicitly confirm the proposed plan.
|
|
14
|
+
|
|
15
|
+
> Deterministic counterpart: `4ge reset <id> --to <phase>` (forge-cli) does a
|
|
16
|
+
> single-entity task/bug reset without the NLP/integrity layer. This command
|
|
17
|
+
> adds intent parsing, sprint cascades, and the integrity gate.
|
|
18
|
+
|
|
19
|
+
## Arguments
|
|
20
|
+
|
|
21
|
+
`$ARGUMENTS` is a free-text request, e.g.:
|
|
22
|
+
- "put FORGE-S32-T03 back to implement"
|
|
23
|
+
- "redo the fix for FORGE-BUG-046 from triage"
|
|
24
|
+
- "reopen sprint FORGE-S32 from task T03"
|
|
25
|
+
|
|
26
|
+
## Resolve plugin root
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
FORGE_ROOT: !`node -e "console.log(require('./.forge/config.json').paths.forgeRoot)"`
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Step 1 — Interpret the request
|
|
33
|
+
|
|
34
|
+
From `$ARGUMENTS`, determine:
|
|
35
|
+
- **entity kind**: `task` (`*-S##-T##`), `bug` (`*-BUG-###`), or `sprint`
|
|
36
|
+
(`*-S##`). A `-BUG-` segment ⇒ bug.
|
|
37
|
+
- **id**: the canonical record id. If the id is partial or ambiguous, resolve it
|
|
38
|
+
first with `node "$FORGE_ROOT/tools/store-cli.cjs" query <text>` (or
|
|
39
|
+
`store-query-nlp`) and pick the unambiguous match; if ambiguous, ask the user.
|
|
40
|
+
- **target phase** (`--to`):
|
|
41
|
+
- task: `plan | review-plan | implement | review-code | validate | approve | writeback | commit`
|
|
42
|
+
- bug: `triage | plan-fix | review-plan | implement | review-code | approve | commit`
|
|
43
|
+
- sprint: requires a **from-task** (the member task to rewind from); the
|
|
44
|
+
cascade is computed for you.
|
|
45
|
+
|
|
46
|
+
If the target phase is missing or not valid for the entity kind, ask the user
|
|
47
|
+
rather than guessing.
|
|
48
|
+
|
|
49
|
+
## Step 2 — Compute the plan + integrity implications (READ-ONLY)
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
# task / bug
|
|
53
|
+
node "$FORGE_ROOT/tools/reset-plan.cjs" --entity <kind> --id <id> --to <phase> --json
|
|
54
|
+
# sprint
|
|
55
|
+
node "$FORGE_ROOT/tools/reset-plan.cjs" --entity sprint --id <sprintId> --from-task <taskId> --json
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`reset-plan.cjs` is a **pure planner** — it reads the store and computes the
|
|
59
|
+
transitions + warnings, and writes nothing. Parse its JSON:
|
|
60
|
+
|
|
61
|
+
- `entity` — kind, id, currentStatus, targetStatus/targetPhase.
|
|
62
|
+
- `rewind` / `forceRequired` — whether this is a backward transition (needs
|
|
63
|
+
`--force`).
|
|
64
|
+
- `transitions[]` — the exact `{id, kind, from, to}` status changes a confirmed
|
|
65
|
+
reset would apply (for a sprint: the sprint reopen + each cascade task).
|
|
66
|
+
- `cascade[]` — (sprint) the member task ids that rewind.
|
|
67
|
+
- `warnings[]` — referential-integrity implications, each with a `code`:
|
|
68
|
+
- `committed-work` — the entity is committed/fixed; **its git commit is NOT
|
|
69
|
+
reverted** by the reset. The working tree may diverge.
|
|
70
|
+
- `sprint-incoherent` / `sprint-reopen` — the parent sprint is completed; it
|
|
71
|
+
must reopen to `active` (sprint resets do this automatically).
|
|
72
|
+
- `dependents-affected` — other tasks depend on this id and are past planning;
|
|
73
|
+
they now rest on rewound work and may need re-validation. (`ids` lists them.)
|
|
74
|
+
|
|
75
|
+
If `reset-plan.cjs` exits non-zero, surface its `error` and stop.
|
|
76
|
+
|
|
77
|
+
## Step 3 — Present the plan and REQUIRE confirmation
|
|
78
|
+
|
|
79
|
+
Show the user, in plain language:
|
|
80
|
+
1. The transition(s) that will be applied (`from → to` for each id).
|
|
81
|
+
2. Every warning, especially `committed-work` and `dependents-affected` — these
|
|
82
|
+
are the referential-integrity risks they are accepting.
|
|
83
|
+
3. The note that this does **not** revert git commits or re-run anything; it
|
|
84
|
+
only rewinds store status + (for `4ge` users) the resume-state cache.
|
|
85
|
+
|
|
86
|
+
**Do not proceed without an explicit "yes".** This is a destructive,
|
|
87
|
+
hard-to-reverse store mutation. If the user hesitates, stop.
|
|
88
|
+
|
|
89
|
+
## Step 4 — Apply (only after confirmation)
|
|
90
|
+
|
|
91
|
+
Apply each transition in `transitions[]` in order, via store-cli. Backward
|
|
92
|
+
transitions and terminal states (`blocked`, `committed`, `fixed`) require the
|
|
93
|
+
operator-gated force flag:
|
|
94
|
+
|
|
95
|
+
```sh
|
|
96
|
+
FORGE_ALLOW_FORCE=1 node "$FORGE_ROOT/tools/store-cli.cjs" \
|
|
97
|
+
update-status <kind> <id> status <to> --force
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
For a **sprint** reset, apply the sprint reopen first, then each cascade task.
|
|
101
|
+
|
|
102
|
+
After the status transitions land:
|
|
103
|
+
- Tell the user the reset is complete and how to resume:
|
|
104
|
+
- task → `/forge:run-task <id>` (or `/forge:implement <id>`)
|
|
105
|
+
- bug → `/forge:fix-bug <id>`
|
|
106
|
+
- sprint → `/forge:run-sprint <id>`
|
|
107
|
+
- If they drive Forge through **forge-cli** (`4ge`), the resume-state cache
|
|
108
|
+
(`.forge/cache/*-state.json`) is rewound by `4ge reset <id> --to <phase>` —
|
|
109
|
+
the LLM route here only owns the store side. Mention this so a `4ge` user runs
|
|
110
|
+
`4ge reset` (or deletes the stale cache) before resuming.
|
|
111
|
+
|
|
112
|
+
## Iron rule
|
|
113
|
+
|
|
114
|
+
Never apply a transition `reset-plan.cjs` did not propose, and never skip the
|
|
115
|
+
confirmation gate. The planner is the single source of truth for what a reset
|
|
116
|
+
touches; this command's only job is to explain it and, on a clear yes, apply
|
|
117
|
+
exactly that.
|
|
@@ -3,14 +3,14 @@ name: retro
|
|
|
3
3
|
description: Produce sprint retrospective and lessons-learned document
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /
|
|
6
|
+
# /forge:retro
|
|
7
7
|
|
|
8
8
|
Read the retro workflow and follow it.
|
|
9
9
|
|
|
10
10
|
## Locate the Forge plugin
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
13
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Execute
|
|
@@ -3,14 +3,14 @@ name: review-code
|
|
|
3
3
|
description: Code quality review of a completed task implementation
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /
|
|
6
|
+
# /forge:review-code
|
|
7
7
|
|
|
8
8
|
Read the review-code workflow and follow it.
|
|
9
9
|
|
|
10
10
|
## Locate the Forge plugin
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
13
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Execute
|
|
@@ -3,14 +3,14 @@ name: review-plan
|
|
|
3
3
|
description: Architectural review of a task implementation plan
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /
|
|
6
|
+
# /forge:review-plan
|
|
7
7
|
|
|
8
8
|
Read the review-plan workflow and follow it.
|
|
9
9
|
|
|
10
10
|
## Locate the Forge plugin
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
13
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Execute
|
|
@@ -3,14 +3,14 @@ name: run-sprint
|
|
|
3
3
|
description: Execute all tasks in a sprint (sequential or parallel)
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /
|
|
6
|
+
# /forge:run-sprint
|
|
7
7
|
|
|
8
8
|
Read the run-sprint workflow and follow it.
|
|
9
9
|
|
|
10
10
|
## Locate the Forge plugin
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
13
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Execute
|
|
@@ -3,14 +3,14 @@ name: run-task
|
|
|
3
3
|
description: Orchestrate the full plan→implement→review→approve pipeline for a task
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /
|
|
6
|
+
# /forge:run-task
|
|
7
7
|
|
|
8
8
|
Read the run-task workflow and follow it.
|
|
9
9
|
|
|
10
10
|
## Locate the Forge plugin
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT}"`
|
|
13
|
+
FORGE_ROOT: !`echo "${CLAUDE_PLUGIN_ROOT:-$(pwd)/.forge}"`
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Execute
|