@open-agent-toolkit/cli 0.0.10
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/README.md +50 -0
- package/assets/agents/oat-codebase-mapper.md +275 -0
- package/assets/agents/oat-reviewer.md +350 -0
- package/assets/agents/skeptical-evaluator.md +126 -0
- package/assets/docs/contributing/code.md +95 -0
- package/assets/docs/contributing/commit-conventions.md +41 -0
- package/assets/docs/contributing/design-principles.md +124 -0
- package/assets/docs/contributing/documentation.md +69 -0
- package/assets/docs/contributing/hooks-and-safety.md +31 -0
- package/assets/docs/contributing/index.md +18 -0
- package/assets/docs/contributing/markdown-features.md +117 -0
- package/assets/docs/contributing/skills.md +68 -0
- package/assets/docs/guide/cli-reference.md +211 -0
- package/assets/docs/guide/concepts.md +88 -0
- package/assets/docs/guide/configuration.md +130 -0
- package/assets/docs/guide/documentation/commands.md +157 -0
- package/assets/docs/guide/documentation/index.md +27 -0
- package/assets/docs/guide/documentation/quickstart.md +164 -0
- package/assets/docs/guide/documentation/workflows.md +67 -0
- package/assets/docs/guide/getting-started.md +63 -0
- package/assets/docs/guide/ideas/index.md +34 -0
- package/assets/docs/guide/ideas/lifecycle.md +106 -0
- package/assets/docs/guide/index.md +20 -0
- package/assets/docs/guide/provider-sync/commands.md +100 -0
- package/assets/docs/guide/provider-sync/config.md +77 -0
- package/assets/docs/guide/provider-sync/index.md +65 -0
- package/assets/docs/guide/provider-sync/manifest-and-drift.md +55 -0
- package/assets/docs/guide/provider-sync/providers.md +67 -0
- package/assets/docs/guide/provider-sync/scope-and-surface.md +64 -0
- package/assets/docs/guide/skills/index.md +115 -0
- package/assets/docs/guide/tool-packs.md +167 -0
- package/assets/docs/guide/workflow/artifacts.md +44 -0
- package/assets/docs/guide/workflow/hill-checkpoints.md +53 -0
- package/assets/docs/guide/workflow/index.md +34 -0
- package/assets/docs/guide/workflow/lifecycle.md +207 -0
- package/assets/docs/guide/workflow/pr-flow.md +55 -0
- package/assets/docs/guide/workflow/repo-analysis.md +96 -0
- package/assets/docs/guide/workflow/reviews.md +98 -0
- package/assets/docs/guide/workflow/state-machine.md +74 -0
- package/assets/docs/index.md +45 -0
- package/assets/docs/quickstart.md +162 -0
- package/assets/docs/reference/docs-index-contract.md +53 -0
- package/assets/docs/reference/file-locations.md +109 -0
- package/assets/docs/reference/index.md +29 -0
- package/assets/docs/reference/oat-directory-structure.md +236 -0
- package/assets/docs/reference/troubleshooting.md +63 -0
- package/assets/public-package-versions.json +6 -0
- package/assets/scripts/resolve-tracking.sh +233 -0
- package/assets/skills/analyze/SKILL.md +358 -0
- package/assets/skills/compare/SKILL.md +276 -0
- package/assets/skills/create-agnostic-skill/SKILL.md +410 -0
- package/assets/skills/create-agnostic-skill/references/skill-template.md +195 -0
- package/assets/skills/deep-research/SKILL.md +350 -0
- package/assets/skills/deep-research/references/schema-analysis.md +93 -0
- package/assets/skills/deep-research/references/schema-architectural.md +75 -0
- package/assets/skills/deep-research/references/schema-base.md +70 -0
- package/assets/skills/deep-research/references/schema-comparative.md +72 -0
- package/assets/skills/deep-research/references/schema-conceptual.md +68 -0
- package/assets/skills/deep-research/references/schema-technical.md +64 -0
- package/assets/skills/oat-agent-instructions-analyze/SKILL.md +500 -0
- package/assets/skills/oat-agent-instructions-analyze/references/analysis-artifact-template.md +248 -0
- package/assets/skills/oat-agent-instructions-analyze/references/bundle-summary-template.md +31 -0
- package/assets/skills/oat-agent-instructions-analyze/references/directory-assessment-criteria.md +93 -0
- package/assets/skills/oat-agent-instructions-analyze/references/docs/agent-instruction.md +575 -0
- package/assets/skills/oat-agent-instructions-analyze/references/docs/cursor-rules-files.md +510 -0
- package/assets/skills/oat-agent-instructions-analyze/references/docs/provider-reference.md +429 -0
- package/assets/skills/oat-agent-instructions-analyze/references/docs/rules-files.md +594 -0
- package/assets/skills/oat-agent-instructions-analyze/references/file-type-discovery-checklist.md +273 -0
- package/assets/skills/oat-agent-instructions-analyze/references/quality-checklist.md +125 -0
- package/assets/skills/oat-agent-instructions-analyze/references/recommendation-pack-template.md +45 -0
- package/assets/skills/oat-agent-instructions-analyze/references/recommendations-manifest-template.yaml +27 -0
- package/assets/skills/oat-agent-instructions-analyze/scripts/resolve-instruction-files.sh +120 -0
- package/assets/skills/oat-agent-instructions-analyze/scripts/resolve-providers.sh +135 -0
- package/assets/skills/oat-agent-instructions-apply/SKILL.md +507 -0
- package/assets/skills/oat-agent-instructions-apply/references/apply-plan-template.md +80 -0
- package/assets/skills/oat-agent-instructions-apply/references/docs/agent-instruction.md +575 -0
- package/assets/skills/oat-agent-instructions-apply/references/docs/cursor-rules-files.md +510 -0
- package/assets/skills/oat-agent-instructions-apply/references/docs/provider-reference.md +429 -0
- package/assets/skills/oat-agent-instructions-apply/references/docs/rules-files.md +594 -0
- package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/agents-md-root.md +85 -0
- package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/agents-md-scoped.md +62 -0
- package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/claude-rule.md +67 -0
- package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/copilot-instruction.md +70 -0
- package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/copilot-shim.md +35 -0
- package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/cursor-rule.md +84 -0
- package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/glob-scoped-rule.md +59 -0
- package/assets/skills/oat-docs/SKILL.md +214 -0
- package/assets/skills/oat-docs-analyze/SKILL.md +355 -0
- package/assets/skills/oat-docs-analyze/references/analysis-artifact-template.md +192 -0
- package/assets/skills/oat-docs-analyze/references/directory-assessment-criteria.md +46 -0
- package/assets/skills/oat-docs-analyze/references/quality-checklist.md +48 -0
- package/assets/skills/oat-docs-apply/SKILL.md +339 -0
- package/assets/skills/oat-docs-apply/references/apply-plan-template.md +69 -0
- package/assets/skills/oat-doctor/SKILL.md +293 -0
- package/assets/skills/oat-idea-ideate/SKILL.md +187 -0
- package/assets/skills/oat-idea-new/SKILL.md +152 -0
- package/assets/skills/oat-idea-scratchpad/SKILL.md +115 -0
- package/assets/skills/oat-idea-summarize/SKILL.md +172 -0
- package/assets/skills/oat-pjm-add-backlog-item/SKILL.md +155 -0
- package/assets/skills/oat-pjm-review-backlog/SKILL.md +171 -0
- package/assets/skills/oat-pjm-review-backlog/references/backlog-review-template.md +172 -0
- package/assets/skills/oat-pjm-update-repo-reference/SKILL.md +128 -0
- package/assets/skills/oat-project-capture/SKILL.md +306 -0
- package/assets/skills/oat-project-clear-active/SKILL.md +50 -0
- package/assets/skills/oat-project-complete/SKILL.md +461 -0
- package/assets/skills/oat-project-design/SKILL.md +461 -0
- package/assets/skills/oat-project-discover/SKILL.md +395 -0
- package/assets/skills/oat-project-document/SKILL.md +468 -0
- package/assets/skills/oat-project-implement/SKILL.md +736 -0
- package/assets/skills/oat-project-import-plan/SKILL.md +228 -0
- package/assets/skills/oat-project-import-plan/scripts/find-recent-provider-plans.sh +149 -0
- package/assets/skills/oat-project-new/SKILL.md +74 -0
- package/assets/skills/oat-project-next/SKILL.md +345 -0
- package/assets/skills/oat-project-open/SKILL.md +47 -0
- package/assets/skills/oat-project-plan/SKILL.md +415 -0
- package/assets/skills/oat-project-plan-writing/SKILL.md +116 -0
- package/assets/skills/oat-project-pr-final/SKILL.md +391 -0
- package/assets/skills/oat-project-pr-progress/SKILL.md +354 -0
- package/assets/skills/oat-project-progress/SKILL.md +342 -0
- package/assets/skills/oat-project-promote-spec-driven/SKILL.md +155 -0
- package/assets/skills/oat-project-quick-start/SKILL.md +363 -0
- package/assets/skills/oat-project-reconcile/SKILL.md +738 -0
- package/assets/skills/oat-project-review-provide/SKILL.md +728 -0
- package/assets/skills/oat-project-review-receive/SKILL.md +641 -0
- package/assets/skills/oat-project-review-receive-remote/SKILL.md +235 -0
- package/assets/skills/oat-project-revise/SKILL.md +316 -0
- package/assets/skills/oat-project-spec/SKILL.md +471 -0
- package/assets/skills/oat-project-subagent-implement/SKILL.md +549 -0
- package/assets/skills/oat-project-subagent-implement/examples/pattern-hill-checkpoint.md +110 -0
- package/assets/skills/oat-project-subagent-implement/examples/pattern-parallel-phases.md +118 -0
- package/assets/skills/oat-project-subagent-implement/scripts/dispatch.sh +133 -0
- package/assets/skills/oat-project-subagent-implement/scripts/reconcile.sh +182 -0
- package/assets/skills/oat-project-subagent-implement/scripts/review-gate.sh +187 -0
- package/assets/skills/oat-project-subagent-implement/tests/fixtures/sample-plan.md +234 -0
- package/assets/skills/oat-project-subagent-implement/tests/test-dry-run.sh +126 -0
- package/assets/skills/oat-project-subagent-implement/tests/test-hill-checkpoint.sh +127 -0
- package/assets/skills/oat-project-subagent-implement/tests/test-reconcile.sh +254 -0
- package/assets/skills/oat-project-subagent-implement/tests/test-review-gate.sh +220 -0
- package/assets/skills/oat-project-summary/SKILL.md +227 -0
- package/assets/skills/oat-repo-knowledge-index/SKILL.md +724 -0
- package/assets/skills/oat-repo-knowledge-index/references/templates/architecture.md +83 -0
- package/assets/skills/oat-repo-knowledge-index/references/templates/concerns.md +97 -0
- package/assets/skills/oat-repo-knowledge-index/references/templates/conventions.md +100 -0
- package/assets/skills/oat-repo-knowledge-index/references/templates/integrations.md +91 -0
- package/assets/skills/oat-repo-knowledge-index/references/templates/stack.md +86 -0
- package/assets/skills/oat-repo-knowledge-index/references/templates/structure.md +88 -0
- package/assets/skills/oat-repo-knowledge-index/references/templates/testing.md +137 -0
- package/assets/skills/oat-repo-maintainability-review/SKILL.md +198 -0
- package/assets/skills/oat-repo-maintainability-review/references/dx-checklist.md +33 -0
- package/assets/skills/oat-repo-maintainability-review/references/repo-review-artifact-template.md +72 -0
- package/assets/skills/oat-repo-maintainability-review/references/repo-review-rubric.md +66 -0
- package/assets/skills/oat-repo-maintainability-review/scripts/resolve-analysis-output.sh +162 -0
- package/assets/skills/oat-review-provide/SKILL.md +231 -0
- package/assets/skills/oat-review-provide/references/review-artifact-template.md +55 -0
- package/assets/skills/oat-review-provide/scripts/resolve-review-output.sh +124 -0
- package/assets/skills/oat-review-receive/SKILL.md +238 -0
- package/assets/skills/oat-review-receive-remote/SKILL.md +250 -0
- package/assets/skills/oat-worktree-bootstrap/SKILL.md +208 -0
- package/assets/skills/oat-worktree-bootstrap/references/worktree-conventions.md +58 -0
- package/assets/skills/oat-worktree-bootstrap-auto/SKILL.md +245 -0
- package/assets/skills/oat-worktree-bootstrap-auto/scripts/bootstrap.sh +194 -0
- package/assets/skills/skeptic/SKILL.md +261 -0
- package/assets/skills/synthesize/SKILL.md +361 -0
- package/assets/templates/backlog-item.md +24 -0
- package/assets/templates/design.md +315 -0
- package/assets/templates/discovery.md +135 -0
- package/assets/templates/docs-app-fuma/app/[[...slug]]/page.tsx +30 -0
- package/assets/templates/docs-app-fuma/app/api/search/route.ts +8 -0
- package/assets/templates/docs-app-fuma/app/globals.css +69 -0
- package/assets/templates/docs-app-fuma/app/layout.tsx +26 -0
- package/assets/templates/docs-app-fuma/docs/contributing.md +71 -0
- package/assets/templates/docs-app-fuma/docs/getting-started.md +40 -0
- package/assets/templates/docs-app-fuma/docs/index.md +13 -0
- package/assets/templates/docs-app-fuma/lib/source.ts +8 -0
- package/assets/templates/docs-app-fuma/next.config.js +6 -0
- package/assets/templates/docs-app-fuma/package.json.template +38 -0
- package/assets/templates/docs-app-fuma/postcss.config.mjs +7 -0
- package/assets/templates/docs-app-fuma/source.config.ts +14 -0
- package/assets/templates/docs-app-fuma/tsconfig.json +25 -0
- package/assets/templates/docs-app-mkdocs/docs/contributing.md +122 -0
- package/assets/templates/docs-app-mkdocs/docs/getting-started.md +28 -0
- package/assets/templates/docs-app-mkdocs/docs/index.md +8 -0
- package/assets/templates/docs-app-mkdocs/mkdocs.yml +47 -0
- package/assets/templates/docs-app-mkdocs/package.json.template +19 -0
- package/assets/templates/docs-app-mkdocs/requirements.txt +6 -0
- package/assets/templates/docs-app-mkdocs/setup-docs.sh +18 -0
- package/assets/templates/ideas/idea-discovery.md +39 -0
- package/assets/templates/ideas/idea-summary.md +42 -0
- package/assets/templates/ideas/ideas-backlog.md +21 -0
- package/assets/templates/ideas/ideas-scratchpad.md +10 -0
- package/assets/templates/implementation.md +207 -0
- package/assets/templates/plan.md +171 -0
- package/assets/templates/roadmap.md +24 -0
- package/assets/templates/spec.md +138 -0
- package/assets/templates/state.md +49 -0
- package/assets/templates/summary.md +82 -0
- package/dist/agents/canonical/index.d.ts +4 -0
- package/dist/agents/canonical/index.d.ts.map +1 -0
- package/dist/agents/canonical/index.js +2 -0
- package/dist/agents/canonical/parse.d.ts +4 -0
- package/dist/agents/canonical/parse.d.ts.map +1 -0
- package/dist/agents/canonical/parse.js +97 -0
- package/dist/agents/canonical/render.d.ts +3 -0
- package/dist/agents/canonical/render.d.ts.map +1 -0
- package/dist/agents/canonical/render.js +17 -0
- package/dist/agents/canonical/types.d.ts +22 -0
- package/dist/agents/canonical/types.d.ts.map +1 -0
- package/dist/agents/canonical/types.js +1 -0
- package/dist/app/command-context.d.ts +21 -0
- package/dist/app/command-context.d.ts.map +1 -0
- package/dist/app/command-context.js +18 -0
- package/dist/app/create-program.d.ts +3 -0
- package/dist/app/create-program.d.ts.map +1 -0
- package/dist/app/create-program.js +17 -0
- package/dist/commands/__tests__/helpers.d.ts +12 -0
- package/dist/commands/__tests__/helpers.d.ts.map +1 -0
- package/dist/commands/__tests__/helpers.js +36 -0
- package/dist/commands/backlog/index.d.ts +14 -0
- package/dist/commands/backlog/index.d.ts.map +1 -0
- package/dist/commands/backlog/index.js +80 -0
- package/dist/commands/backlog/init.d.ts +2 -0
- package/dist/commands/backlog/init.d.ts.map +1 -0
- package/dist/commands/backlog/init.js +66 -0
- package/dist/commands/backlog/regenerate-index.d.ts +2 -0
- package/dist/commands/backlog/regenerate-index.d.ts.map +1 -0
- package/dist/commands/backlog/regenerate-index.js +78 -0
- package/dist/commands/backlog/shared/generate-id.d.ts +4 -0
- package/dist/commands/backlog/shared/generate-id.d.ts.map +1 -0
- package/dist/commands/backlog/shared/generate-id.js +65 -0
- package/dist/commands/cleanup/artifacts/artifacts.d.ts +44 -0
- package/dist/commands/cleanup/artifacts/artifacts.d.ts.map +1 -0
- package/dist/commands/cleanup/artifacts/artifacts.js +381 -0
- package/dist/commands/cleanup/artifacts/artifacts.types.d.ts +13 -0
- package/dist/commands/cleanup/artifacts/artifacts.types.d.ts.map +1 -0
- package/dist/commands/cleanup/artifacts/artifacts.types.js +1 -0
- package/dist/commands/cleanup/artifacts/artifacts.utils.d.ts +14 -0
- package/dist/commands/cleanup/artifacts/artifacts.utils.d.ts.map +1 -0
- package/dist/commands/cleanup/artifacts/artifacts.utils.js +74 -0
- package/dist/commands/cleanup/cleanup.types.d.ts +26 -0
- package/dist/commands/cleanup/cleanup.types.d.ts.map +1 -0
- package/dist/commands/cleanup/cleanup.types.js +1 -0
- package/dist/commands/cleanup/cleanup.utils.d.ts +17 -0
- package/dist/commands/cleanup/cleanup.utils.d.ts.map +1 -0
- package/dist/commands/cleanup/cleanup.utils.js +44 -0
- package/dist/commands/cleanup/index.d.ts +3 -0
- package/dist/commands/cleanup/index.d.ts.map +1 -0
- package/dist/commands/cleanup/index.js +9 -0
- package/dist/commands/cleanup/project/project.d.ts +20 -0
- package/dist/commands/cleanup/project/project.d.ts.map +1 -0
- package/dist/commands/cleanup/project/project.js +263 -0
- package/dist/commands/cleanup/project/project.utils.d.ts +8 -0
- package/dist/commands/cleanup/project/project.utils.d.ts.map +1 -0
- package/dist/commands/cleanup/project/project.utils.js +48 -0
- package/dist/commands/config/index.d.ts +16 -0
- package/dist/commands/config/index.d.ts.map +1 -0
- package/dist/commands/config/index.js +700 -0
- package/dist/commands/docs/analyze.d.ts +8 -0
- package/dist/commands/docs/analyze.d.ts.map +1 -0
- package/dist/commands/docs/analyze.js +45 -0
- package/dist/commands/docs/apply.d.ts +8 -0
- package/dist/commands/docs/apply.d.ts.map +1 -0
- package/dist/commands/docs/apply.js +45 -0
- package/dist/commands/docs/index-generate/generator.d.ts +9 -0
- package/dist/commands/docs/index-generate/generator.d.ts.map +1 -0
- package/dist/commands/docs/index-generate/generator.js +114 -0
- package/dist/commands/docs/index-generate/index.d.ts +16 -0
- package/dist/commands/docs/index-generate/index.d.ts.map +1 -0
- package/dist/commands/docs/index-generate/index.js +72 -0
- package/dist/commands/docs/index.d.ts +3 -0
- package/dist/commands/docs/index.d.ts.map +1 -0
- package/dist/commands/docs/index.js +17 -0
- package/dist/commands/docs/init/index.d.ts +18 -0
- package/dist/commands/docs/init/index.d.ts.map +1 -0
- package/dist/commands/docs/init/index.js +129 -0
- package/dist/commands/docs/init/resolve-options.d.ts +41 -0
- package/dist/commands/docs/init/resolve-options.d.ts.map +1 -0
- package/dist/commands/docs/init/resolve-options.js +120 -0
- package/dist/commands/docs/init/scaffold.d.ts +18 -0
- package/dist/commands/docs/init/scaffold.d.ts.map +1 -0
- package/dist/commands/docs/init/scaffold.js +233 -0
- package/dist/commands/docs/migrate/codemod.d.ts +6 -0
- package/dist/commands/docs/migrate/codemod.d.ts.map +1 -0
- package/dist/commands/docs/migrate/codemod.js +62 -0
- package/dist/commands/docs/migrate/frontmatter.d.ts +12 -0
- package/dist/commands/docs/migrate/frontmatter.d.ts.map +1 -0
- package/dist/commands/docs/migrate/frontmatter.js +55 -0
- package/dist/commands/docs/migrate/index.d.ts +18 -0
- package/dist/commands/docs/migrate/index.d.ts.map +1 -0
- package/dist/commands/docs/migrate/index.js +138 -0
- package/dist/commands/docs/nav/contents.d.ts +14 -0
- package/dist/commands/docs/nav/contents.d.ts.map +1 -0
- package/dist/commands/docs/nav/contents.js +106 -0
- package/dist/commands/docs/nav/index.d.ts +3 -0
- package/dist/commands/docs/nav/index.d.ts.map +1 -0
- package/dist/commands/docs/nav/index.js +7 -0
- package/dist/commands/docs/nav/sync.d.ts +20 -0
- package/dist/commands/docs/nav/sync.d.ts.map +1 -0
- package/dist/commands/docs/nav/sync.js +92 -0
- package/dist/commands/doctor/index.d.ts +32 -0
- package/dist/commands/doctor/index.d.ts.map +1 -0
- package/dist/commands/doctor/index.js +373 -0
- package/dist/commands/index-cmd/index.d.ts +11 -0
- package/dist/commands/index-cmd/index.d.ts.map +1 -0
- package/dist/commands/index-cmd/index.js +62 -0
- package/dist/commands/index-cmd/thin-index.d.ts +19 -0
- package/dist/commands/index-cmd/thin-index.d.ts.map +1 -0
- package/dist/commands/index-cmd/thin-index.js +330 -0
- package/dist/commands/index.d.ts +3 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +38 -0
- package/dist/commands/init/detect-docs.d.ts +11 -0
- package/dist/commands/init/detect-docs.d.ts.map +1 -0
- package/dist/commands/init/detect-docs.js +51 -0
- package/dist/commands/init/gitignore.d.ts +6 -0
- package/dist/commands/init/gitignore.d.ts.map +1 -0
- package/dist/commands/init/gitignore.js +41 -0
- package/dist/commands/init/index.d.ts +70 -0
- package/dist/commands/init/index.d.ts.map +1 -0
- package/dist/commands/init/index.js +570 -0
- package/dist/commands/init/tools/core/index.d.ts +12 -0
- package/dist/commands/init/tools/core/index.d.ts.map +1 -0
- package/dist/commands/init/tools/core/index.js +67 -0
- package/dist/commands/init/tools/core/install-core.d.ts +30 -0
- package/dist/commands/init/tools/core/install-core.d.ts.map +1 -0
- package/dist/commands/init/tools/core/install-core.js +50 -0
- package/dist/commands/init/tools/docs/index.d.ts +17 -0
- package/dist/commands/init/tools/docs/index.d.ts.map +1 -0
- package/dist/commands/init/tools/docs/index.js +110 -0
- package/dist/commands/init/tools/docs/install-docs.d.ts +23 -0
- package/dist/commands/init/tools/docs/install-docs.d.ts.map +1 -0
- package/dist/commands/init/tools/docs/install-docs.js +58 -0
- package/dist/commands/init/tools/ideas/index.d.ts +16 -0
- package/dist/commands/init/tools/ideas/index.d.ts.map +1 -0
- package/dist/commands/init/tools/ideas/index.js +94 -0
- package/dist/commands/init/tools/ideas/install-ideas.d.ts +25 -0
- package/dist/commands/init/tools/ideas/install-ideas.d.ts.map +1 -0
- package/dist/commands/init/tools/ideas/install-ideas.js +78 -0
- package/dist/commands/init/tools/index.d.ts +51 -0
- package/dist/commands/init/tools/index.d.ts.map +1 -0
- package/dist/commands/init/tools/index.js +387 -0
- package/dist/commands/init/tools/project-management/index.d.ts +12 -0
- package/dist/commands/init/tools/project-management/index.d.ts.map +1 -0
- package/dist/commands/init/tools/project-management/index.js +61 -0
- package/dist/commands/init/tools/project-management/install-project-management.d.ts +22 -0
- package/dist/commands/init/tools/project-management/install-project-management.d.ts.map +1 -0
- package/dist/commands/init/tools/project-management/install-project-management.js +52 -0
- package/dist/commands/init/tools/research/index.d.ts +17 -0
- package/dist/commands/init/tools/research/index.d.ts.map +1 -0
- package/dist/commands/init/tools/research/index.js +110 -0
- package/dist/commands/init/tools/research/install-research.d.ts +23 -0
- package/dist/commands/init/tools/research/install-research.d.ts.map +1 -0
- package/dist/commands/init/tools/research/install-research.js +52 -0
- package/dist/commands/init/tools/shared/copy-helpers.d.ts +12 -0
- package/dist/commands/init/tools/shared/copy-helpers.d.ts.map +1 -0
- package/dist/commands/init/tools/shared/copy-helpers.js +52 -0
- package/dist/commands/init/tools/shared/skill-manifest.d.ts +22 -0
- package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -0
- package/dist/commands/init/tools/shared/skill-manifest.js +102 -0
- package/dist/commands/init/tools/shared/version.d.ts +3 -0
- package/dist/commands/init/tools/shared/version.d.ts.map +1 -0
- package/dist/commands/init/tools/shared/version.js +27 -0
- package/dist/commands/init/tools/utility/index.d.ts +17 -0
- package/dist/commands/init/tools/utility/index.d.ts.map +1 -0
- package/dist/commands/init/tools/utility/index.js +109 -0
- package/dist/commands/init/tools/utility/install-utility.d.ts +20 -0
- package/dist/commands/init/tools/utility/install-utility.d.ts.map +1 -0
- package/dist/commands/init/tools/utility/install-utility.js +35 -0
- package/dist/commands/init/tools/workflows/index.d.ts +14 -0
- package/dist/commands/init/tools/workflows/index.d.ts.map +1 -0
- package/dist/commands/init/tools/workflows/index.js +84 -0
- package/dist/commands/init/tools/workflows/install-workflows.d.ts +32 -0
- package/dist/commands/init/tools/workflows/install-workflows.d.ts.map +1 -0
- package/dist/commands/init/tools/workflows/install-workflows.js +135 -0
- package/dist/commands/instructions/index.d.ts +3 -0
- package/dist/commands/instructions/index.d.ts.map +1 -0
- package/dist/commands/instructions/index.js +9 -0
- package/dist/commands/instructions/instructions.types.d.ts +52 -0
- package/dist/commands/instructions/instructions.types.d.ts.map +1 -0
- package/dist/commands/instructions/instructions.types.js +1 -0
- package/dist/commands/instructions/instructions.utils.d.ts +13 -0
- package/dist/commands/instructions/instructions.utils.d.ts.map +1 -0
- package/dist/commands/instructions/instructions.utils.js +211 -0
- package/dist/commands/instructions/sync/sync.d.ts +4 -0
- package/dist/commands/instructions/sync/sync.d.ts.map +1 -0
- package/dist/commands/instructions/sync/sync.js +142 -0
- package/dist/commands/instructions/validate/validate.d.ts +4 -0
- package/dist/commands/instructions/validate/validate.d.ts.map +1 -0
- package/dist/commands/instructions/validate/validate.js +53 -0
- package/dist/commands/internal/index.d.ts +3 -0
- package/dist/commands/internal/index.d.ts.map +1 -0
- package/dist/commands/internal/index.js +7 -0
- package/dist/commands/internal/validate-oat-skills.d.ts +10 -0
- package/dist/commands/internal/validate-oat-skills.d.ts.map +1 -0
- package/dist/commands/internal/validate-oat-skills.js +66 -0
- package/dist/commands/local/apply.d.ts +6 -0
- package/dist/commands/local/apply.d.ts.map +1 -0
- package/dist/commands/local/apply.js +56 -0
- package/dist/commands/local/expand.d.ts +8 -0
- package/dist/commands/local/expand.d.ts.map +1 -0
- package/dist/commands/local/expand.js +83 -0
- package/dist/commands/local/index.d.ts +3 -0
- package/dist/commands/local/index.d.ts.map +1 -0
- package/dist/commands/local/index.js +248 -0
- package/dist/commands/local/manage.d.ts +18 -0
- package/dist/commands/local/manage.d.ts.map +1 -0
- package/dist/commands/local/manage.js +66 -0
- package/dist/commands/local/status.d.ts +7 -0
- package/dist/commands/local/status.d.ts.map +1 -0
- package/dist/commands/local/status.js +46 -0
- package/dist/commands/local/sync.d.ts +20 -0
- package/dist/commands/local/sync.d.ts.map +1 -0
- package/dist/commands/local/sync.js +40 -0
- package/dist/commands/project/archive/archive-utils.d.ts +70 -0
- package/dist/commands/project/archive/archive-utils.d.ts.map +1 -0
- package/dist/commands/project/archive/archive-utils.js +236 -0
- package/dist/commands/project/archive/index.d.ts +20 -0
- package/dist/commands/project/archive/index.d.ts.map +1 -0
- package/dist/commands/project/archive/index.js +217 -0
- package/dist/commands/project/index.d.ts +3 -0
- package/dist/commands/project/index.d.ts.map +1 -0
- package/dist/commands/project/index.js +15 -0
- package/dist/commands/project/new/index.d.ts +17 -0
- package/dist/commands/project/new/index.d.ts.map +1 -0
- package/dist/commands/project/new/index.js +76 -0
- package/dist/commands/project/new/scaffold.d.ts +24 -0
- package/dist/commands/project/new/scaffold.d.ts.map +1 -0
- package/dist/commands/project/new/scaffold.js +177 -0
- package/dist/commands/project/open/index.d.ts +26 -0
- package/dist/commands/project/open/index.d.ts.map +1 -0
- package/dist/commands/project/open/index.js +139 -0
- package/dist/commands/project/pause/index.d.ts +27 -0
- package/dist/commands/project/pause/index.d.ts.map +1 -0
- package/dist/commands/project/pause/index.js +120 -0
- package/dist/commands/project/set-mode/index.d.ts +14 -0
- package/dist/commands/project/set-mode/index.d.ts.map +1 -0
- package/dist/commands/project/set-mode/index.js +115 -0
- package/dist/commands/providers/index.d.ts +4 -0
- package/dist/commands/providers/index.d.ts.map +1 -0
- package/dist/commands/providers/index.js +11 -0
- package/dist/commands/providers/inspect/inspect.d.ts +4 -0
- package/dist/commands/providers/inspect/inspect.d.ts.map +1 -0
- package/dist/commands/providers/inspect/inspect.js +156 -0
- package/dist/commands/providers/list/list.d.ts +4 -0
- package/dist/commands/providers/list/list.d.ts.map +1 -0
- package/dist/commands/providers/list/list.js +163 -0
- package/dist/commands/providers/providers.types.d.ts +63 -0
- package/dist/commands/providers/providers.types.d.ts.map +1 -0
- package/dist/commands/providers/providers.types.js +1 -0
- package/dist/commands/providers/set/index.d.ts +4 -0
- package/dist/commands/providers/set/index.d.ts.map +1 -0
- package/dist/commands/providers/set/index.js +138 -0
- package/dist/commands/remove/index.d.ts +3 -0
- package/dist/commands/remove/index.d.ts.map +1 -0
- package/dist/commands/remove/index.js +9 -0
- package/dist/commands/remove/skill/index.d.ts +2 -0
- package/dist/commands/remove/skill/index.d.ts.map +1 -0
- package/dist/commands/remove/skill/index.js +1 -0
- package/dist/commands/remove/skill/remove-skill.d.ts +23 -0
- package/dist/commands/remove/skill/remove-skill.d.ts.map +1 -0
- package/dist/commands/remove/skill/remove-skill.js +231 -0
- package/dist/commands/remove/skills/index.d.ts +2 -0
- package/dist/commands/remove/skills/index.d.ts.map +1 -0
- package/dist/commands/remove/skills/index.js +1 -0
- package/dist/commands/remove/skills/remove-skills.d.ts +14 -0
- package/dist/commands/remove/skills/remove-skills.d.ts.map +1 -0
- package/dist/commands/remove/skills/remove-skills.js +98 -0
- package/dist/commands/repo/index.d.ts +3 -0
- package/dist/commands/repo/index.d.ts.map +1 -0
- package/dist/commands/repo/index.js +7 -0
- package/dist/commands/repo/pr-comments/collect/collect-comments.d.ts +9 -0
- package/dist/commands/repo/pr-comments/collect/collect-comments.d.ts.map +1 -0
- package/dist/commands/repo/pr-comments/collect/collect-comments.js +284 -0
- package/dist/commands/repo/pr-comments/collect/graphql-queries.d.ts +3 -0
- package/dist/commands/repo/pr-comments/collect/graphql-queries.d.ts.map +1 -0
- package/dist/commands/repo/pr-comments/collect/graphql-queries.js +56 -0
- package/dist/commands/repo/pr-comments/collect/index.d.ts +4 -0
- package/dist/commands/repo/pr-comments/collect/index.d.ts.map +1 -0
- package/dist/commands/repo/pr-comments/collect/index.js +25 -0
- package/dist/commands/repo/pr-comments/collect/pr-comments.types.d.ts +62 -0
- package/dist/commands/repo/pr-comments/collect/pr-comments.types.d.ts.map +1 -0
- package/dist/commands/repo/pr-comments/collect/pr-comments.types.js +1 -0
- package/dist/commands/repo/pr-comments/index.d.ts +3 -0
- package/dist/commands/repo/pr-comments/index.d.ts.map +1 -0
- package/dist/commands/repo/pr-comments/index.js +9 -0
- package/dist/commands/repo/pr-comments/triage-collection/index.d.ts +4 -0
- package/dist/commands/repo/pr-comments/triage-collection/index.d.ts.map +1 -0
- package/dist/commands/repo/pr-comments/triage-collection/index.js +21 -0
- package/dist/commands/repo/pr-comments/triage-collection/triage-comments.d.ts +13 -0
- package/dist/commands/repo/pr-comments/triage-collection/triage-comments.d.ts.map +1 -0
- package/dist/commands/repo/pr-comments/triage-collection/triage-comments.js +81 -0
- package/dist/commands/shared/adopt-stray.d.ts +22 -0
- package/dist/commands/shared/adopt-stray.d.ts.map +1 -0
- package/dist/commands/shared/adopt-stray.js +135 -0
- package/dist/commands/shared/agents-md.d.ts +18 -0
- package/dist/commands/shared/agents-md.d.ts.map +1 -0
- package/dist/commands/shared/agents-md.js +81 -0
- package/dist/commands/shared/codex-strays.d.ts +16 -0
- package/dist/commands/shared/codex-strays.d.ts.map +1 -0
- package/dist/commands/shared/codex-strays.js +116 -0
- package/dist/commands/shared/frontmatter-write.d.ts +8 -0
- package/dist/commands/shared/frontmatter-write.d.ts.map +1 -0
- package/dist/commands/shared/frontmatter-write.js +27 -0
- package/dist/commands/shared/frontmatter.d.ts +6 -0
- package/dist/commands/shared/frontmatter.d.ts.map +1 -0
- package/dist/commands/shared/frontmatter.js +35 -0
- package/dist/commands/shared/messages.d.ts +2 -0
- package/dist/commands/shared/messages.d.ts.map +1 -0
- package/dist/commands/shared/messages.js +1 -0
- package/dist/commands/shared/oat-paths.d.ts +2 -0
- package/dist/commands/shared/oat-paths.d.ts.map +1 -0
- package/dist/commands/shared/oat-paths.js +13 -0
- package/dist/commands/shared/shared.prompts.d.ts +21 -0
- package/dist/commands/shared/shared.prompts.d.ts.map +1 -0
- package/dist/commands/shared/shared.prompts.js +107 -0
- package/dist/commands/shared/shared.utils.d.ts +6 -0
- package/dist/commands/shared/shared.utils.d.ts.map +1 -0
- package/dist/commands/shared/shared.utils.js +9 -0
- package/dist/commands/state/generate.d.ts +21 -0
- package/dist/commands/state/generate.d.ts.map +1 -0
- package/dist/commands/state/generate.js +440 -0
- package/dist/commands/state/index.d.ts +11 -0
- package/dist/commands/state/index.d.ts.map +1 -0
- package/dist/commands/state/index.js +58 -0
- package/dist/commands/status/index.d.ts +44 -0
- package/dist/commands/status/index.d.ts.map +1 -0
- package/dist/commands/status/index.js +340 -0
- package/dist/commands/sync/apply.d.ts +4 -0
- package/dist/commands/sync/apply.d.ts.map +1 -0
- package/dist/commands/sync/apply.js +100 -0
- package/dist/commands/sync/dry-run.d.ts +4 -0
- package/dist/commands/sync/dry-run.d.ts.map +1 -0
- package/dist/commands/sync/dry-run.js +74 -0
- package/dist/commands/sync/index.d.ts +4 -0
- package/dist/commands/sync/index.d.ts.map +1 -0
- package/dist/commands/sync/index.js +225 -0
- package/dist/commands/sync/sync.types.d.ts +80 -0
- package/dist/commands/sync/sync.types.d.ts.map +1 -0
- package/dist/commands/sync/sync.types.js +1 -0
- package/dist/commands/sync/sync.utils.d.ts +3 -0
- package/dist/commands/sync/sync.utils.d.ts.map +1 -0
- package/dist/commands/sync/sync.utils.js +8 -0
- package/dist/commands/tools/index.d.ts +3 -0
- package/dist/commands/tools/index.d.ts.map +1 -0
- package/dist/commands/tools/index.js +17 -0
- package/dist/commands/tools/info/index.d.ts +4 -0
- package/dist/commands/tools/info/index.d.ts.map +1 -0
- package/dist/commands/tools/info/index.js +74 -0
- package/dist/commands/tools/info/info-tool.d.ts +21 -0
- package/dist/commands/tools/info/info-tool.d.ts.map +1 -0
- package/dist/commands/tools/info/info-tool.js +52 -0
- package/dist/commands/tools/install/index.d.ts +4 -0
- package/dist/commands/tools/install/index.d.ts.map +1 -0
- package/dist/commands/tools/install/index.js +34 -0
- package/dist/commands/tools/list/index.d.ts +4 -0
- package/dist/commands/tools/list/index.d.ts.map +1 -0
- package/dist/commands/tools/list/index.js +25 -0
- package/dist/commands/tools/list/list-tools.d.ts +13 -0
- package/dist/commands/tools/list/list-tools.d.ts.map +1 -0
- package/dist/commands/tools/list/list-tools.js +43 -0
- package/dist/commands/tools/outdated/index.d.ts +4 -0
- package/dist/commands/tools/outdated/index.d.ts.map +1 -0
- package/dist/commands/tools/outdated/index.js +25 -0
- package/dist/commands/tools/outdated/outdated-tools.d.ts +13 -0
- package/dist/commands/tools/outdated/outdated-tools.d.ts.map +1 -0
- package/dist/commands/tools/outdated/outdated-tools.js +43 -0
- package/dist/commands/tools/remove/index.d.ts +5 -0
- package/dist/commands/tools/remove/index.d.ts.map +1 -0
- package/dist/commands/tools/remove/index.js +122 -0
- package/dist/commands/tools/remove/remove-tools.d.ts +31 -0
- package/dist/commands/tools/remove/remove-tools.d.ts.map +1 -0
- package/dist/commands/tools/remove/remove-tools.js +41 -0
- package/dist/commands/tools/shared/auto-sync.d.ts +16 -0
- package/dist/commands/tools/shared/auto-sync.d.ts.map +1 -0
- package/dist/commands/tools/shared/auto-sync.js +17 -0
- package/dist/commands/tools/shared/scan-tools.d.ts +18 -0
- package/dist/commands/tools/shared/scan-tools.d.ts.map +1 -0
- package/dist/commands/tools/shared/scan-tools.js +128 -0
- package/dist/commands/tools/shared/types.d.ts +12 -0
- package/dist/commands/tools/shared/types.d.ts.map +1 -0
- package/dist/commands/tools/shared/types.js +1 -0
- package/dist/commands/tools/update/index.d.ts +8 -0
- package/dist/commands/tools/update/index.d.ts.map +1 -0
- package/dist/commands/tools/update/index.js +149 -0
- package/dist/commands/tools/update/update-tools.d.ts +29 -0
- package/dist/commands/tools/update/update-tools.d.ts.map +1 -0
- package/dist/commands/tools/update/update-tools.js +148 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +2 -0
- package/dist/config/oat-config.d.ts +61 -0
- package/dist/config/oat-config.d.ts.map +1 -0
- package/dist/config/oat-config.js +319 -0
- package/dist/config/runtime.d.ts +2 -0
- package/dist/config/runtime.d.ts.map +1 -0
- package/dist/config/runtime.js +3 -0
- package/dist/config/sync-config.d.ts +49 -0
- package/dist/config/sync-config.d.ts.map +1 -0
- package/dist/config/sync-config.js +94 -0
- package/dist/drift/detector.d.ts +4 -0
- package/dist/drift/detector.d.ts.map +1 -0
- package/dist/drift/detector.js +69 -0
- package/dist/drift/drift.types.d.ts +17 -0
- package/dist/drift/drift.types.d.ts.map +1 -0
- package/dist/drift/drift.types.js +1 -0
- package/dist/drift/index.d.ts +4 -0
- package/dist/drift/index.d.ts.map +1 -0
- package/dist/drift/index.js +2 -0
- package/dist/drift/strays.d.ts +7 -0
- package/dist/drift/strays.d.ts.map +1 -0
- package/dist/drift/strays.js +153 -0
- package/dist/engine/compute-plan.d.ts +16 -0
- package/dist/engine/compute-plan.d.ts.map +1 -0
- package/dist/engine/compute-plan.js +234 -0
- package/dist/engine/engine.types.d.ts +28 -0
- package/dist/engine/engine.types.d.ts.map +1 -0
- package/dist/engine/engine.types.js +8 -0
- package/dist/engine/execute-plan.d.ts +5 -0
- package/dist/engine/execute-plan.d.ts.map +1 -0
- package/dist/engine/execute-plan.js +141 -0
- package/dist/engine/hook.d.ts +23 -0
- package/dist/engine/hook.d.ts.map +1 -0
- package/dist/engine/hook.js +254 -0
- package/dist/engine/index.d.ts +9 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +6 -0
- package/dist/engine/markers.d.ts +6 -0
- package/dist/engine/markers.d.ts.map +1 -0
- package/dist/engine/markers.js +24 -0
- package/dist/engine/scanner.d.ts +11 -0
- package/dist/engine/scanner.d.ts.map +1 -0
- package/dist/engine/scanner.js +65 -0
- package/dist/engine/test-helpers.d.ts +3 -0
- package/dist/engine/test-helpers.d.ts.map +1 -0
- package/dist/engine/test-helpers.js +31 -0
- package/dist/errors/cli-error.d.ts +5 -0
- package/dist/errors/cli-error.d.ts.map +1 -0
- package/dist/errors/cli-error.js +8 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/fs/assets.d.ts +2 -0
- package/dist/fs/assets.d.ts.map +1 -0
- package/dist/fs/assets.js +22 -0
- package/dist/fs/index.d.ts +4 -0
- package/dist/fs/index.d.ts.map +1 -0
- package/dist/fs/index.js +3 -0
- package/dist/fs/io.d.ts +9 -0
- package/dist/fs/io.d.ts.map +1 -0
- package/dist/fs/io.js +74 -0
- package/dist/fs/paths.d.ts +9 -0
- package/dist/fs/paths.d.ts.map +1 -0
- package/dist/fs/paths.js +42 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +48 -0
- package/dist/manifest/hash.d.ts +5 -0
- package/dist/manifest/hash.d.ts.map +1 -0
- package/dist/manifest/hash.js +75 -0
- package/dist/manifest/index.d.ts +5 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +3 -0
- package/dist/manifest/manager.d.ts +8 -0
- package/dist/manifest/manager.d.ts.map +1 -0
- package/dist/manifest/manager.js +86 -0
- package/dist/manifest/manifest.types.d.ts +157 -0
- package/dist/manifest/manifest.types.d.ts.map +1 -0
- package/dist/manifest/manifest.types.js +56 -0
- package/dist/providers/claude/adapter.d.ts +3 -0
- package/dist/providers/claude/adapter.d.ts.map +1 -0
- package/dist/providers/claude/adapter.js +20 -0
- package/dist/providers/claude/index.d.ts +3 -0
- package/dist/providers/claude/index.d.ts.map +1 -0
- package/dist/providers/claude/index.js +2 -0
- package/dist/providers/claude/paths.d.ts +4 -0
- package/dist/providers/claude/paths.d.ts.map +1 -0
- package/dist/providers/claude/paths.js +38 -0
- package/dist/providers/claude/rule-transform.d.ts +3 -0
- package/dist/providers/claude/rule-transform.d.ts.map +1 -0
- package/dist/providers/claude/rule-transform.js +22 -0
- package/dist/providers/codex/adapter.d.ts +3 -0
- package/dist/providers/codex/adapter.d.ts.map +1 -0
- package/dist/providers/codex/adapter.js +20 -0
- package/dist/providers/codex/codec/config-merge.d.ts +17 -0
- package/dist/providers/codex/codec/config-merge.d.ts.map +1 -0
- package/dist/providers/codex/codec/config-merge.js +61 -0
- package/dist/providers/codex/codec/export-to-codex.d.ts +9 -0
- package/dist/providers/codex/codec/export-to-codex.d.ts.map +1 -0
- package/dist/providers/codex/codec/export-to-codex.js +45 -0
- package/dist/providers/codex/codec/import-from-codex.d.ts +9 -0
- package/dist/providers/codex/codec/import-from-codex.d.ts.map +1 -0
- package/dist/providers/codex/codec/import-from-codex.js +52 -0
- package/dist/providers/codex/codec/shared.d.ts +7 -0
- package/dist/providers/codex/codec/shared.d.ts.map +1 -0
- package/dist/providers/codex/codec/shared.js +21 -0
- package/dist/providers/codex/codec/sync-extension.d.ts +32 -0
- package/dist/providers/codex/codec/sync-extension.d.ts.map +1 -0
- package/dist/providers/codex/codec/sync-extension.js +227 -0
- package/dist/providers/codex/index.d.ts +6 -0
- package/dist/providers/codex/index.d.ts.map +1 -0
- package/dist/providers/codex/index.js +5 -0
- package/dist/providers/codex/paths.d.ts +4 -0
- package/dist/providers/codex/paths.d.ts.map +1 -0
- package/dist/providers/codex/paths.js +28 -0
- package/dist/providers/copilot/adapter.d.ts +3 -0
- package/dist/providers/copilot/adapter.d.ts.map +1 -0
- package/dist/providers/copilot/adapter.js +30 -0
- package/dist/providers/copilot/index.d.ts +3 -0
- package/dist/providers/copilot/index.d.ts.map +1 -0
- package/dist/providers/copilot/index.js +2 -0
- package/dist/providers/copilot/paths.d.ts +4 -0
- package/dist/providers/copilot/paths.d.ts.map +1 -0
- package/dist/providers/copilot/paths.js +38 -0
- package/dist/providers/copilot/rule-transform.d.ts +3 -0
- package/dist/providers/copilot/rule-transform.d.ts.map +1 -0
- package/dist/providers/copilot/rule-transform.js +58 -0
- package/dist/providers/cursor/adapter.d.ts +3 -0
- package/dist/providers/cursor/adapter.d.ts.map +1 -0
- package/dist/providers/cursor/adapter.js +20 -0
- package/dist/providers/cursor/index.d.ts +3 -0
- package/dist/providers/cursor/index.d.ts.map +1 -0
- package/dist/providers/cursor/index.js +2 -0
- package/dist/providers/cursor/paths.d.ts +4 -0
- package/dist/providers/cursor/paths.d.ts.map +1 -0
- package/dist/providers/cursor/paths.js +38 -0
- package/dist/providers/cursor/rule-transform.d.ts +3 -0
- package/dist/providers/cursor/rule-transform.d.ts.map +1 -0
- package/dist/providers/cursor/rule-transform.js +48 -0
- package/dist/providers/gemini/adapter.d.ts +3 -0
- package/dist/providers/gemini/adapter.d.ts.map +1 -0
- package/dist/providers/gemini/adapter.js +20 -0
- package/dist/providers/gemini/index.d.ts +3 -0
- package/dist/providers/gemini/index.d.ts.map +1 -0
- package/dist/providers/gemini/index.js +2 -0
- package/dist/providers/gemini/paths.d.ts +4 -0
- package/dist/providers/gemini/paths.d.ts.map +1 -0
- package/dist/providers/gemini/paths.js +28 -0
- package/dist/providers/shared/adapter.types.d.ts +21 -0
- package/dist/providers/shared/adapter.types.d.ts.map +1 -0
- package/dist/providers/shared/adapter.types.js +1 -0
- package/dist/providers/shared/adapter.utils.d.ts +12 -0
- package/dist/providers/shared/adapter.utils.d.ts.map +1 -0
- package/dist/providers/shared/adapter.utils.js +57 -0
- package/dist/providers/shared/agent-codec.types.d.ts +13 -0
- package/dist/providers/shared/agent-codec.types.d.ts.map +1 -0
- package/dist/providers/shared/agent-codec.types.js +1 -0
- package/dist/providers/shared/index.d.ts +6 -0
- package/dist/providers/shared/index.d.ts.map +1 -0
- package/dist/providers/shared/index.js +2 -0
- package/dist/providers/shared/markdown-agent-codec.d.ts +5 -0
- package/dist/providers/shared/markdown-agent-codec.d.ts.map +1 -0
- package/dist/providers/shared/markdown-agent-codec.js +12 -0
- package/dist/release/public-package-contract.d.ts +14 -0
- package/dist/release/public-package-contract.d.ts.map +1 -0
- package/dist/release/public-package-contract.js +97 -0
- package/dist/rules/canonical/index.d.ts +6 -0
- package/dist/rules/canonical/index.d.ts.map +1 -0
- package/dist/rules/canonical/index.js +4 -0
- package/dist/rules/canonical/parse.d.ts +9 -0
- package/dist/rules/canonical/parse.d.ts.map +1 -0
- package/dist/rules/canonical/parse.js +103 -0
- package/dist/rules/canonical/provider-filenames.d.ts +3 -0
- package/dist/rules/canonical/provider-filenames.d.ts.map +1 -0
- package/dist/rules/canonical/provider-filenames.js +13 -0
- package/dist/rules/canonical/render.d.ts +5 -0
- package/dist/rules/canonical/render.d.ts.map +1 -0
- package/dist/rules/canonical/render.js +32 -0
- package/dist/rules/canonical/types.d.ts +16 -0
- package/dist/rules/canonical/types.d.ts.map +1 -0
- package/dist/rules/canonical/types.js +6 -0
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/types.d.ts +10 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +14 -0
- package/dist/ui/ansi.d.ts +2 -0
- package/dist/ui/ansi.d.ts.map +1 -0
- package/dist/ui/ansi.js +19 -0
- package/dist/ui/index.d.ts +7 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/logger.d.ts +15 -0
- package/dist/ui/logger.d.ts.map +1 -0
- package/dist/ui/logger.js +52 -0
- package/dist/ui/output.d.ts +16 -0
- package/dist/ui/output.d.ts.map +1 -0
- package/dist/ui/output.js +135 -0
- package/dist/ui/spinner.d.ts +16 -0
- package/dist/ui/spinner.d.ts.map +1 -0
- package/dist/ui/spinner.js +46 -0
- package/dist/validation/index.d.ts +3 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +1 -0
- package/dist/validation/skills.d.ts +10 -0
- package/dist/validation/skills.d.ts.map +1 -0
- package/dist/validation/skills.js +166 -0
- package/package.json +62 -0
|
@@ -0,0 +1,736 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oat-project-implement
|
|
3
|
+
version: 1.2.2
|
|
4
|
+
description: Use when plan.md is ready for execution. Implements plan tasks sequentially with TDD discipline and state tracking.
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
user-invocable: true
|
|
7
|
+
allowed-tools: Read, Write, Bash(git:*), Glob, Grep, AskUserQuestion
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Implementation Phase
|
|
11
|
+
|
|
12
|
+
Execute the implementation plan task-by-task with full state tracking.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
**Required:** Complete implementation plan. If missing, run the `oat-project-plan` skill first.
|
|
17
|
+
|
|
18
|
+
## Mode Assertion
|
|
19
|
+
|
|
20
|
+
**OAT MODE: Implementation**
|
|
21
|
+
|
|
22
|
+
**Purpose:** Execute plan tasks with TDD discipline, track progress, handle blockers.
|
|
23
|
+
|
|
24
|
+
## Progress Indicators (User-Facing)
|
|
25
|
+
|
|
26
|
+
When executing this skill, provide lightweight progress feedback so the user can tell what’s happening after they confirm.
|
|
27
|
+
|
|
28
|
+
- Print a phase banner once at start using horizontal separators, e.g.:
|
|
29
|
+
|
|
30
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
31
|
+
OAT ▸ IMPLEMENT
|
|
32
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
33
|
+
|
|
34
|
+
- For each task, announce a compact header before doing work:
|
|
35
|
+
- `OAT ▸ IMPLEMENT {task_id}: {task_name}`
|
|
36
|
+
- Before multi-step “bookkeeping” work (updating artifacts/state, verification, committing, dashboard refresh), print 2–5 short step indicators, e.g.:
|
|
37
|
+
- `[1/4] Updating implementation.md + state.md…`
|
|
38
|
+
- `[2/4] Running verification…`
|
|
39
|
+
- `[3/4] Committing…`
|
|
40
|
+
- `[4/4] Refreshing dashboard…`
|
|
41
|
+
- For long-running operations (tests/lint/type-check/build, reviews, large diffs), print a start line and a completion line (duration optional).
|
|
42
|
+
- Keep it concise; don’t print a line for every shell command.
|
|
43
|
+
|
|
44
|
+
**BLOCKED Activities:**
|
|
45
|
+
|
|
46
|
+
- No skipping tasks
|
|
47
|
+
- No changing plan structure
|
|
48
|
+
- No scope expansion
|
|
49
|
+
|
|
50
|
+
**ALLOWED Activities:**
|
|
51
|
+
|
|
52
|
+
- Executing tasks in order
|
|
53
|
+
- Making minor adaptations within task scope
|
|
54
|
+
- Logging decisions and issues
|
|
55
|
+
- Marking blockers for user review
|
|
56
|
+
|
|
57
|
+
**Self-Correction Protocol:**
|
|
58
|
+
If you catch yourself:
|
|
59
|
+
|
|
60
|
+
- Skipping ahead in tasks → STOP (execute in order)
|
|
61
|
+
- Expanding scope → STOP (log as "deferred")
|
|
62
|
+
- Changing plan structure → STOP (update plan.md first)
|
|
63
|
+
|
|
64
|
+
**Recovery:**
|
|
65
|
+
|
|
66
|
+
1. Acknowledge the deviation
|
|
67
|
+
2. Return to current task
|
|
68
|
+
3. Document in implementation.md
|
|
69
|
+
|
|
70
|
+
## Process
|
|
71
|
+
|
|
72
|
+
### Step 0: Resolve Active Project
|
|
73
|
+
|
|
74
|
+
OAT stores active project context in `.oat/config.local.json` (`activeProject`, local-only).
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
PROJECT_PATH=$(oat config get activeProject 2>/dev/null || true)
|
|
78
|
+
PROJECTS_ROOT="${OAT_PROJECTS_ROOT:-$(oat config get projects.root 2>/dev/null || echo ".oat/projects/shared")}"
|
|
79
|
+
PROJECTS_ROOT="${PROJECTS_ROOT%/}"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**If `PROJECT_PATH` is missing/invalid:**
|
|
83
|
+
|
|
84
|
+
- Ask the user for `{project-name}`
|
|
85
|
+
- Set `PROJECT_PATH` to `${PROJECTS_ROOT}/{project-name}`
|
|
86
|
+
- Write it for future phases:
|
|
87
|
+
```bash
|
|
88
|
+
mkdir -p .oat
|
|
89
|
+
oat config set activeProject "$PROJECT_PATH"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**If `PROJECT_PATH` is valid:** derive `{project-name}` as the directory name (basename of the path).
|
|
93
|
+
|
|
94
|
+
### Step 0.5: Execution Mode Redirect Guard
|
|
95
|
+
|
|
96
|
+
Read execution mode from `"$PROJECT_PATH/state.md"` frontmatter:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
EXEC_MODE=$(grep "^oat_execution_mode:" "$PROJECT_PATH/state.md" 2>/dev/null | awk '{print $2}')
|
|
100
|
+
EXEC_MODE="${EXEC_MODE:-single-thread}"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
If `EXEC_MODE` is `subagent-driven`:
|
|
104
|
+
|
|
105
|
+
- Tell the user: `Execution mode is subagent-driven. Use oat-project-subagent-implement instead.`
|
|
106
|
+
- STOP (do not proceed with sequential implementation)
|
|
107
|
+
|
|
108
|
+
### Step 1: Check Plan Complete
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
cat "$PROJECT_PATH/plan.md" | head -10 | grep "oat_status:"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Required frontmatter:**
|
|
115
|
+
|
|
116
|
+
- `oat_status: complete`
|
|
117
|
+
- `oat_ready_for: oat-project-implement`
|
|
118
|
+
|
|
119
|
+
**If not complete:** Block and ask user to finish plan first.
|
|
120
|
+
|
|
121
|
+
### Step 2: Read Plan Document
|
|
122
|
+
|
|
123
|
+
Read `"$PROJECT_PATH/plan.md"` completely to understand:
|
|
124
|
+
|
|
125
|
+
- All phases and tasks
|
|
126
|
+
- File changes per task
|
|
127
|
+
- Verification commands
|
|
128
|
+
- Commit messages
|
|
129
|
+
|
|
130
|
+
### Step 2.5: Confirm Plan HiLL Checkpoints
|
|
131
|
+
|
|
132
|
+
Read `oat_plan_hill_phases` from `"$PROJECT_PATH/plan.md"` frontmatter when present and validate it.
|
|
133
|
+
|
|
134
|
+
- **Valid format:** JSON-like array of phase IDs (e.g., `["p01","p03"]`)
|
|
135
|
+
- **Allowed pre-confirmation state:** field missing entirely on the first implementation run
|
|
136
|
+
- **Invalid format examples:** scalar string, malformed array, unknown phase IDs
|
|
137
|
+
|
|
138
|
+
Determine whether this is a first implementation run:
|
|
139
|
+
|
|
140
|
+
- If `"$PROJECT_PATH/implementation.md"` does not exist, treat as first run.
|
|
141
|
+
- If it exists but still has template placeholders and no completed task evidence, treat as first run.
|
|
142
|
+
|
|
143
|
+
Prompt behavior:
|
|
144
|
+
|
|
145
|
+
- **If first run:** always present a complete phase-by-phase summary and confirm checkpoint phases before any task execution. A missing `oat_plan_hill_phases` value is the normal unconfirmed state; if a value is already present, treat it as a provisional value to confirm rather than as final.
|
|
146
|
+
- **If resuming and `oat_plan_hill_phases` is valid:** do not re-ask; print active checkpoint config and continue.
|
|
147
|
+
- **If resuming and `oat_plan_hill_phases` is missing/invalid:** treat this as bookkeeping drift, because implementation should already have written the confirmed value before prior task execution. Ask the user to repair the checkpoint configuration before continuing.
|
|
148
|
+
|
|
149
|
+
Required prompt shape for first-run confirmation:
|
|
150
|
+
|
|
151
|
+
1. Open with plan framing:
|
|
152
|
+
- `This plan has {phase_count} phases. Final phase: {final_phase_id}.`
|
|
153
|
+
2. Briefly summarize every plan phase in order:
|
|
154
|
+
- `p01 — {short phase summary}`
|
|
155
|
+
- `p02 — {short phase summary}`
|
|
156
|
+
- ...
|
|
157
|
+
- Never omit this summary, even if the plan has only one phase or `oat_plan_hill_phases` already contains a provisional value.
|
|
158
|
+
3. Ask the checkpoint question using exactly three options:
|
|
159
|
+
- `Which checkpoint behavior do you want?`
|
|
160
|
+
- `1. Stop after each phase (default)`
|
|
161
|
+
- `2. Stop after specific phases, e.g. p02, p05`
|
|
162
|
+
- `3. Stop only after the final phase is completed`
|
|
163
|
+
4. Map the options to stored values:
|
|
164
|
+
- `1` -> `[]`
|
|
165
|
+
- `2` -> user-specified array such as `["p02","p05"]`
|
|
166
|
+
- `3` -> `["p07"]` (replace `p07` with the actual final phase ID for this plan)
|
|
167
|
+
5. If a provisional `oat_plan_hill_phases` value already exists, mention it after presenting the three options, but still require the user to choose or confirm one of them.
|
|
168
|
+
|
|
169
|
+
When user confirms/changes:
|
|
170
|
+
|
|
171
|
+
- Update `"$PROJECT_PATH/plan.md"` frontmatter `oat_plan_hill_phases` to the confirmed value before executing tasks.
|
|
172
|
+
- Keep the value stable for the rest of the run unless the user explicitly requests a change.
|
|
173
|
+
|
|
174
|
+
#### Auto-Review at Checkpoints (Touchpoint A)
|
|
175
|
+
|
|
176
|
+
After checkpoint behavior is confirmed, resolve auto-review preference:
|
|
177
|
+
|
|
178
|
+
1. Read `.oat/config.json` `autoReviewAtCheckpoints` (default: `false`)
|
|
179
|
+
2. **If config explicitly `true`:** Skip the prompt. Write `oat_auto_review_at_checkpoints: true` to plan.md frontmatter. Print: "Auto-review at checkpoints: enabled (from config)."
|
|
180
|
+
3. **If config `false` or absent:** Add one question after the checkpoint choice:
|
|
181
|
+
```
|
|
182
|
+
4. Auto-review at checkpoints?
|
|
183
|
+
- yes: automatically spawn a subagent code review when a checkpoint phase completes
|
|
184
|
+
- no (default): manual review triggering (current behavior)
|
|
185
|
+
```
|
|
186
|
+
4. Write `oat_auto_review_at_checkpoints: true|false` to plan.md frontmatter alongside `oat_plan_hill_phases`.
|
|
187
|
+
|
|
188
|
+
**On resume:** If `oat_auto_review_at_checkpoints` is already present in plan.md frontmatter, skip Touchpoint A entirely — do not re-ask, do not re-read config, do not print the auto-review note. The stored value is authoritative.
|
|
189
|
+
|
|
190
|
+
### Step 3: Check Implementation State
|
|
191
|
+
|
|
192
|
+
Check if implementation already started:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
cat "$PROJECT_PATH/implementation.md" 2>/dev/null | head -20
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**If exists and has progress:**
|
|
199
|
+
|
|
200
|
+
- Read `oat_current_task_id` from frontmatter (e.g., "p01-t03" or "prev1-t01")
|
|
201
|
+
- **Revision task recognition:** `p-revN` phases and `prevN-tNN` task IDs are treated identically to standard `pNN` phases and `pNN-tNN` tasks for execution purposes. The implement skill does not need special handling — it just follows the plan sequentially.
|
|
202
|
+
- Validate the task pointer:
|
|
203
|
+
- If `oat_current_task_id` points at a task already marked `completed` in the body, advance to the **next incomplete** task (first `pending` / `in_progress` / `blocked` entry).
|
|
204
|
+
- If all tasks are completed, skip ahead to finalization (Step 11+).
|
|
205
|
+
- Resume from the resolved task
|
|
206
|
+
- Ask user: "Resume from {task_id}, or start fresh (overwrite implementation.md)?"
|
|
207
|
+
|
|
208
|
+
**Stale-state reconciliation (approval required):**
|
|
209
|
+
|
|
210
|
+
- Before executing tasks, cross-check `plan.md` Reviews status with `implementation.md` + `state.md`.
|
|
211
|
+
- If `plan.md` shows a scope as `passed` but `implementation.md` / `state.md` still says "awaiting re-review" (or leaves `oat_current_task_id` / `oat_current_task` as `null` while future plan tasks are still incomplete), treat this as bookkeeping drift.
|
|
212
|
+
- Resolve the next task from plan order (first incomplete non-review task after the passed scope), then ask:
|
|
213
|
+
- "Detected bookkeeping drift: review is passed in plan.md, but state artifacts still show awaiting re-review. Update artifacts and continue from {next_task_id}?"
|
|
214
|
+
- Only if the user approves:
|
|
215
|
+
- Update `implementation.md` frontmatter `oat_current_task_id: {next_task_id}`
|
|
216
|
+
- Update `state.md` frontmatter `oat_current_task: {next_task_id}` and refresh stale "awaiting re-review" wording
|
|
217
|
+
- Update implementation review notes "Next" guidance to continue implementation (not re-review)
|
|
218
|
+
- If the user declines:
|
|
219
|
+
- Do not auto-edit bookkeeping; pause and ask whether to proceed manually or stop.
|
|
220
|
+
|
|
221
|
+
**If doesn't exist:**
|
|
222
|
+
|
|
223
|
+
- Initialize from template (Step 4)
|
|
224
|
+
|
|
225
|
+
**Important:** Never overwrite an existing `implementation.md` without explicit user confirmation (and warn that draft logs will be lost).
|
|
226
|
+
|
|
227
|
+
### Step 4: Initialize Implementation Document
|
|
228
|
+
|
|
229
|
+
Copy template: `.oat/templates/implementation.md` → `"$PROJECT_PATH/implementation.md"`
|
|
230
|
+
|
|
231
|
+
Update frontmatter:
|
|
232
|
+
|
|
233
|
+
```yaml
|
|
234
|
+
---
|
|
235
|
+
oat_status: in_progress
|
|
236
|
+
oat_ready_for: null
|
|
237
|
+
oat_blockers: []
|
|
238
|
+
oat_last_updated: { today }
|
|
239
|
+
oat_current_task_id: p01-t01 # Stable task ID from plan
|
|
240
|
+
---
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Initialize project state so other skills (e.g., `oat-project-progress`) reflect that implementation has started:
|
|
244
|
+
|
|
245
|
+
- In `"$PROJECT_PATH/state.md"` frontmatter:
|
|
246
|
+
- `oat_phase: implement`
|
|
247
|
+
- `oat_phase_status: in_progress`
|
|
248
|
+
- `oat_current_task: p01-t01`
|
|
249
|
+
- `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
|
|
250
|
+
|
|
251
|
+
### Step 5: Execute Current Task
|
|
252
|
+
|
|
253
|
+
For the current task in plan.md:
|
|
254
|
+
|
|
255
|
+
**5a. Announce task:**
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
Starting {task_id}: {Task Name}
|
|
259
|
+
Files: {file list}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**5b. Follow steps exactly:**
|
|
263
|
+
|
|
264
|
+
- Read each step from plan
|
|
265
|
+
- Execute as specified
|
|
266
|
+
- Run verification commands
|
|
267
|
+
|
|
268
|
+
**5c. Apply TDD discipline:**
|
|
269
|
+
|
|
270
|
+
1. Write test first (if applicable)
|
|
271
|
+
2. Run tests → expect red
|
|
272
|
+
3. Write implementation
|
|
273
|
+
4. Run tests → expect green
|
|
274
|
+
5. Refactor if needed
|
|
275
|
+
|
|
276
|
+
**5d. Handle issues:**
|
|
277
|
+
|
|
278
|
+
- If step unclear → ask user
|
|
279
|
+
- If verification fails → debug and retry
|
|
280
|
+
- If blocked → mark task as blocked, note reason
|
|
281
|
+
|
|
282
|
+
### Step 6: Commit Task
|
|
283
|
+
|
|
284
|
+
After task verification passes:
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
git add {files from plan}
|
|
288
|
+
git commit -m "{commit message from plan}"
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Store commit SHA for implementation.md.
|
|
292
|
+
|
|
293
|
+
### Step 7: Update Implementation State
|
|
294
|
+
|
|
295
|
+
After each task:
|
|
296
|
+
|
|
297
|
+
**Update frontmatter:**
|
|
298
|
+
|
|
299
|
+
```yaml
|
|
300
|
+
oat_current_task_id: { next_task_id } # e.g., p01-t02
|
|
301
|
+
oat_last_updated: { today }
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
**Update task entry:**
|
|
305
|
+
|
|
306
|
+
```markdown
|
|
307
|
+
### Task {task_id}: {Task Name}
|
|
308
|
+
|
|
309
|
+
**Status:** completed
|
|
310
|
+
**Commit:** {sha}
|
|
311
|
+
|
|
312
|
+
**Outcome (required):**
|
|
313
|
+
|
|
314
|
+
- {2-5 bullets describing what materially changed}
|
|
315
|
+
|
|
316
|
+
**Files changed:**
|
|
317
|
+
|
|
318
|
+
- `{path}` - {why}
|
|
319
|
+
|
|
320
|
+
**Verification:**
|
|
321
|
+
|
|
322
|
+
- Run: `{command(s)}`
|
|
323
|
+
- Result: {pass/fail + notes}
|
|
324
|
+
|
|
325
|
+
**Notes / Decisions:**
|
|
326
|
+
|
|
327
|
+
- {gotchas, trade-offs, design deltas}
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**Update progress overview table.**
|
|
331
|
+
|
|
332
|
+
Keep project state in sync after each task (recommended source of truth for “where are we?” across sessions):
|
|
333
|
+
|
|
334
|
+
- Update `"$PROJECT_PATH/state.md"` frontmatter:
|
|
335
|
+
- `oat_phase: implement`
|
|
336
|
+
- `oat_phase_status: in_progress`
|
|
337
|
+
- `oat_current_task: {next_task_id}`
|
|
338
|
+
- `oat_last_commit: {sha}`
|
|
339
|
+
- `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
|
|
340
|
+
|
|
341
|
+
**Bookkeeping commit (required):**
|
|
342
|
+
After the code commit (Step 6) and state updates above, commit all modified OAT tracking files:
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md"
|
|
346
|
+
git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for {task_id}"
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
Do not use `git add -A` or glob patterns. Only commit the three OAT project files listed above.
|
|
350
|
+
|
|
351
|
+
**If executing review-generated tasks** (task title prefixed with `(review)`):
|
|
352
|
+
|
|
353
|
+
- Ensure `implementation.md` stays accurate:
|
|
354
|
+
- The “Review Received” section reflects whether findings were deferred vs converted to tasks
|
|
355
|
+
- The “Next” line is updated once review fix tasks are complete (don’t leave “Next: execute fix tasks” after they’re done)
|
|
356
|
+
- Keep `plan.md` internally consistent:
|
|
357
|
+
- If `## Implementation Complete` contains phase/task totals, update totals when review fix tasks are added (via `oat-project-review-receive`) or removed.
|
|
358
|
+
- Review status lifecycle:
|
|
359
|
+
- When review-generated fix tasks are added, the Reviews table should be `fixes_added`.
|
|
360
|
+
- After all fix tasks are implemented, update the Reviews table to `fixes_completed` (not `passed`).
|
|
361
|
+
- Only set `passed` after a re-review is run and processed via `oat-project-review-receive` with no Critical/Important findings.
|
|
362
|
+
|
|
363
|
+
**Review-fix completion bookkeeping (required):**
|
|
364
|
+
|
|
365
|
+
- When you complete the last outstanding review-fix task:
|
|
366
|
+
1. Update the relevant `plan.md` `## Reviews` row from `fixes_added` → `fixes_completed` and set Date to `{today}`.
|
|
367
|
+
- If multiple rows are `fixes_added`, ask the user which scope you just addressed (or choose the matching phase if obvious).
|
|
368
|
+
2. Update `plan.md` `## Implementation Complete` totals (phase counts + total tasks) so summaries reflect the additional fix work.
|
|
369
|
+
3. Update `implementation.md` so it’s unambiguous that tasks are complete and the project is awaiting re-review:
|
|
370
|
+
- `oat_current_task_id: null` (reviews are not tasks)
|
|
371
|
+
- “Next” guidance should say “request re-review” (not “execute fix tasks”).
|
|
372
|
+
4. Update `{PROJECT_PATH}/state.md` to reflect the correct “awaiting re-review” posture:
|
|
373
|
+
- `oat_phase: implement`
|
|
374
|
+
- `oat_phase_status: in_progress` (until the re-review passes)
|
|
375
|
+
- `oat_current_task: null`
|
|
376
|
+
- `oat_project_state_updated: “{ISO 8601 UTC timestamp}”`
|
|
377
|
+
|
|
378
|
+
**Bookkeeping commit (required):**
|
|
379
|
+
After completing the review-fix checklist above, commit all modified OAT tracking files:
|
|
380
|
+
|
|
381
|
+
```bash
|
|
382
|
+
git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md"
|
|
383
|
+
git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for {task_id}"
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Do not use `git add -A` or glob patterns. Only commit the three OAT project files listed above.
|
|
387
|
+
|
|
388
|
+
### Step 8: Check Plan Phase Completion
|
|
389
|
+
|
|
390
|
+
When all tasks in current plan phase complete (e.g., all p01-\* tasks done):
|
|
391
|
+
|
|
392
|
+
**Update frontmatter:**
|
|
393
|
+
|
|
394
|
+
```yaml
|
|
395
|
+
oat_current_task_id: { first_task_of_next_phase } # e.g., p02-t01
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
**Plan phase checkpoint:**
|
|
399
|
+
At the end of each plan phase (p01, p02, etc.), check `oat_plan_hill_phases` in plan.md to decide whether to pause:
|
|
400
|
+
|
|
401
|
+
- **If `oat_plan_hill_phases` is empty (`[]`):** Pause after every phase (default behavior after confirmation).
|
|
402
|
+
- **If `oat_plan_hill_phases` has values:** Pause only after completing a listed phase.
|
|
403
|
+
- Example: `["p01", "p04"]` → pause after p01 completes and after p04 completes; skip p02, p03.
|
|
404
|
+
- Example: `["p03"]` where p03 is the last phase → run all phases without pausing, then pause after p03 (end of implementation).
|
|
405
|
+
- **If `oat_plan_hill_phases` is missing at a phase boundary:** treat this as bookkeeping drift and stop to repair it before continuing, because the confirmation should already have been written during the first implementation run.
|
|
406
|
+
|
|
407
|
+
**Key semantic: listed phases are where you stop AFTER completing them, not before.** `["p03"]` means "complete p03, then pause" — not "pause before starting p03."
|
|
408
|
+
|
|
409
|
+
**Auto-review at checkpoints (Touchpoint B):**
|
|
410
|
+
|
|
411
|
+
Before pausing at a checkpoint, check if auto-review is enabled:
|
|
412
|
+
|
|
413
|
+
1. Read `oat_auto_review_at_checkpoints` from plan.md frontmatter. If not present, fall back to `.oat/config.json` `autoReviewAtCheckpoints` (default: `false`).
|
|
414
|
+
|
|
415
|
+
2. If enabled and this is a checkpoint phase:
|
|
416
|
+
a. **Determine review scope:** Find the highest completed implementation phase already covered by a **`passed`** code-review row in plan.md Reviews table. Count only whole-phase scopes: `pNN` or `pNN-pMM`. Ignore task scopes (`pNN-tNN`) and rows with `fixes_added` or `fixes_completed` because those reviews did not pass and must be re-covered. Scope = every implementation phase after that passed coverage through the current phase, inclusive. If no earlier passed whole-phase review exists, start from the first implementation phase. Use `pNN-pMM` when the scope spans multiple phases. If this is the final implementation phase checkpoint, use scope `final`.
|
|
417
|
+
- Example: prior passed row `p01`, current checkpoint `p03` → review `p02-p03`
|
|
418
|
+
- Example: no prior passed whole-phase review, current checkpoint `p03` → review `p01-p03`
|
|
419
|
+
- Example: current checkpoint is the last implementation phase → review `final`
|
|
420
|
+
b. **Spawn subagent review:** `oat-project-review-provide code {scope}` — instruct it to include `oat_review_invocation: auto` in the review artifact frontmatter.
|
|
421
|
+
c. **Auto-invoke review-receive:** `oat-project-review-receive` — operates in auto-disposition mode when `oat_review_invocation: auto` is present:
|
|
422
|
+
- Critical/Important/Medium: convert to fix tasks (same as manual)
|
|
423
|
+
- Minor: auto-convert to fix tasks unless clearly out of scope
|
|
424
|
+
- No user prompts for disposition
|
|
425
|
+
d. **If fix tasks added:** continue implementing automatically (no checkpoint pause — return to Step 5 for the new fix tasks)
|
|
426
|
+
e. **If scope passed:** proceed to the checkpoint pause below
|
|
427
|
+
|
|
428
|
+
3. If disabled: skip directly to the checkpoint pause.
|
|
429
|
+
|
|
430
|
+
When pausing:
|
|
431
|
+
|
|
432
|
+
- Output phase summary (tasks completed, commits made)
|
|
433
|
+
- Ask user: "Phase {N} ({phase_name}) complete. Continue to next phase?"
|
|
434
|
+
- Wait for user approval before proceeding to next plan phase
|
|
435
|
+
|
|
436
|
+
**Restart safety (required):**
|
|
437
|
+
|
|
438
|
+
- At the end of each task and at each phase boundary, ensure `implementation.md` is persisted and internally consistent:
|
|
439
|
+
- `oat_current_task_id` points at the next task to do (or `null` when complete)
|
|
440
|
+
- Phase status sections match the progress overview table
|
|
441
|
+
- The implementation log reflects what was actually completed
|
|
442
|
+
|
|
443
|
+
**Phase summaries (required):**
|
|
444
|
+
|
|
445
|
+
- When a plan phase completes (p01, p02, etc.), update the “Phase Summary” section in `implementation.md` for that phase:
|
|
446
|
+
- Outcome (behavior-level)
|
|
447
|
+
- Key files touched (paths)
|
|
448
|
+
- Verification run
|
|
449
|
+
- Notable decisions/deviations
|
|
450
|
+
|
|
451
|
+
**Bookkeeping commit (required):**
|
|
452
|
+
After phase summary and task pointer advancement, commit all modified OAT tracking files:
|
|
453
|
+
|
|
454
|
+
```bash
|
|
455
|
+
git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md"
|
|
456
|
+
git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for {phase} completion"
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
Do not use `git add -A` or glob patterns. Only commit the three OAT project files listed above.
|
|
460
|
+
|
|
461
|
+
**Note on HiLL types:**
|
|
462
|
+
|
|
463
|
+
- **Workflow HiLL** (`oat_hill_checkpoints` in state.md): Gates between workflow phases (discovery → spec → design → plan → implement). Checked by oat-project-progress router.
|
|
464
|
+
- **Plan phase checkpoints** (`oat_plan_hill_phases` in plan.md): Gates at plan phase boundaries during implementation. `[]` means pause after every phase; a populated array pauses only after listed phases. The field may be absent only before the first implementation-run confirmation. Listed phases are where you stop AFTER completing them.
|
|
465
|
+
|
|
466
|
+
**Revision phase completion handling:**
|
|
467
|
+
|
|
468
|
+
When all tasks in a `p-revN` phase complete (revision phases created by `oat-project-revise`):
|
|
469
|
+
|
|
470
|
+
1. Set `oat_phase_status: pr_open` (not `complete` — the PR is still open for further review)
|
|
471
|
+
2. Set `oat_current_task: null`
|
|
472
|
+
3. Invoke `oat-project-summary` to update summary.md if it exists (implement owns summary re-generation at revision phase completion, not the revise skill)
|
|
473
|
+
4. Update next milestone: "Revision complete. Push changes to update PR. Run `oat-project-revise` for more feedback or `oat-project-complete` when approved."
|
|
474
|
+
5. Push changes to update the PR branch
|
|
475
|
+
|
|
476
|
+
This is different from regular phase completion — revision phases return to `pr_open` instead of continuing to the next phase, because the user needs to decide whether more revisions are needed.
|
|
477
|
+
|
|
478
|
+
### Step 9: Repeat Until Complete
|
|
479
|
+
|
|
480
|
+
Continue Steps 5-8 until all plan phases complete.
|
|
481
|
+
|
|
482
|
+
**Batch execution:**
|
|
483
|
+
|
|
484
|
+
- Default: Execute tasks one at a time
|
|
485
|
+
- If user requests: Execute N tasks before checking in
|
|
486
|
+
- Stop at configured plan phase boundaries for review
|
|
487
|
+
|
|
488
|
+
### Step 10: Handle Blockers
|
|
489
|
+
|
|
490
|
+
If a task cannot be completed:
|
|
491
|
+
|
|
492
|
+
**Mark as blocked:**
|
|
493
|
+
|
|
494
|
+
```yaml
|
|
495
|
+
oat_blockers:
|
|
496
|
+
- task_id: { task_id } # e.g., p01-t03
|
|
497
|
+
reason: '{description}'
|
|
498
|
+
since: { date }
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
**Update task status:**
|
|
502
|
+
|
|
503
|
+
```markdown
|
|
504
|
+
### Task {task_id}: {Task Name}
|
|
505
|
+
|
|
506
|
+
**Status:** blocked
|
|
507
|
+
**Blocker:** {description}
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
**Notify user:**
|
|
511
|
+
|
|
512
|
+
```
|
|
513
|
+
Task {task_id} blocked: {reason}
|
|
514
|
+
|
|
515
|
+
Options:
|
|
516
|
+
1. Resolve blocker and continue
|
|
517
|
+
2. Skip task (mark as deferred)
|
|
518
|
+
3. Modify plan to address blocker
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
### Step 11: Mark Implementation Complete
|
|
522
|
+
|
|
523
|
+
When all plan tasks are complete (i.e., there is no next incomplete `pNN-tNN` task):
|
|
524
|
+
|
|
525
|
+
**Update “Final Summary” (required):**
|
|
526
|
+
|
|
527
|
+
- Before requesting final review / running `oat-project-pr-final`, update the `## Final Summary (for PR/docs)` section in `"$PROJECT_PATH/implementation.md"`:
|
|
528
|
+
- What shipped (capabilities, behavior-level)
|
|
529
|
+
- Key files/modules touched
|
|
530
|
+
- Verification performed (tests/lint/typecheck/build/manual)
|
|
531
|
+
- Design deltas (if any)
|
|
532
|
+
- This should reflect **what was actually implemented**, including any deviations from design and any review-fix work.
|
|
533
|
+
|
|
534
|
+
Update frontmatter:
|
|
535
|
+
|
|
536
|
+
```yaml
|
|
537
|
+
---
|
|
538
|
+
oat_status: complete
|
|
539
|
+
oat_ready_for: null
|
|
540
|
+
oat_blockers: []
|
|
541
|
+
oat_last_updated: { today }
|
|
542
|
+
oat_current_task_id: null
|
|
543
|
+
---
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
**Important:** `oat_current_task_id` should never point at an already-completed task. If all tasks are done, set it to `null` and proceed to the final review gate.
|
|
547
|
+
|
|
548
|
+
### Step 12: Update Project State
|
|
549
|
+
|
|
550
|
+
Update `"$PROJECT_PATH/state.md"` so other skills reflect task completion and review gating:
|
|
551
|
+
|
|
552
|
+
**Frontmatter updates:**
|
|
553
|
+
|
|
554
|
+
- `oat_current_task: null`
|
|
555
|
+
- `oat_last_commit: {final_commit_sha}`
|
|
556
|
+
- `oat_blockers: []`
|
|
557
|
+
- `oat_phase: implement`
|
|
558
|
+
- `oat_phase_status: in_progress` (until final review passes)
|
|
559
|
+
- `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
|
|
560
|
+
- **If** `"implement"` is in `oat_hill_checkpoints`: append `"implement"` to `oat_hill_completed` array
|
|
561
|
+
|
|
562
|
+
**Note:** Only append to `oat_hill_completed` when the phase is configured as a HiLL gate.
|
|
563
|
+
|
|
564
|
+
Update content:
|
|
565
|
+
|
|
566
|
+
```markdown
|
|
567
|
+
## Current Phase
|
|
568
|
+
|
|
569
|
+
Implementation - Tasks complete; awaiting final review.
|
|
570
|
+
|
|
571
|
+
## Progress
|
|
572
|
+
|
|
573
|
+
- ✓ Discovery complete
|
|
574
|
+
- ✓ Specification complete
|
|
575
|
+
- ✓ Design complete
|
|
576
|
+
- ✓ Plan complete
|
|
577
|
+
- ✓ Implementation tasks complete
|
|
578
|
+
- ⧗ Awaiting final review
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
**Bookkeeping commit (required):**
|
|
582
|
+
After updating state.md to reflect implementation completion, commit all modified OAT tracking files:
|
|
583
|
+
|
|
584
|
+
```bash
|
|
585
|
+
git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md"
|
|
586
|
+
git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for implementation complete"
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
Do not use `git add -A` or glob patterns. Only commit the three OAT project files listed above.
|
|
590
|
+
|
|
591
|
+
### Step 13: Final Verification
|
|
592
|
+
|
|
593
|
+
Run project-wide verification:
|
|
594
|
+
|
|
595
|
+
```bash
|
|
596
|
+
# Run tests
|
|
597
|
+
pnpm test
|
|
598
|
+
|
|
599
|
+
# Run lint
|
|
600
|
+
pnpm lint
|
|
601
|
+
|
|
602
|
+
# Run type check
|
|
603
|
+
pnpm type-check
|
|
604
|
+
|
|
605
|
+
# Run build
|
|
606
|
+
pnpm build
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
All must pass before proceeding.
|
|
610
|
+
|
|
611
|
+
### Step 14: Trigger Final Review
|
|
612
|
+
|
|
613
|
+
**At the final plan phase boundary, a code review is required before PR.**
|
|
614
|
+
|
|
615
|
+
Check if final review already completed (preferred source of truth: plan.md Reviews table):
|
|
616
|
+
|
|
617
|
+
```bash
|
|
618
|
+
FINAL_ROW=$(grep -E "^\\|\\s*final\\s*\\|" "$PROJECT_PATH/plan.md" 2>/dev/null | head -1)
|
|
619
|
+
echo "$FINAL_ROW"
|
|
620
|
+
```
|
|
621
|
+
|
|
622
|
+
**If final review row exists and status is `passed`:**
|
|
623
|
+
|
|
624
|
+
- Example row:
|
|
625
|
+
- `| final | code | passed | 2026-01-28 | reviews/final-review-2026-01-28.md |`
|
|
626
|
+
- Check:
|
|
627
|
+
```bash
|
|
628
|
+
echo "$FINAL_ROW" | grep -qE "^\\|\\s*final\\s*\\|.*\\|\\s*passed\\s*\\|" && echo "passed"
|
|
629
|
+
```
|
|
630
|
+
- Skip to Step 15 (PR prompt)
|
|
631
|
+
|
|
632
|
+
**If final review is not marked `passed`:**
|
|
633
|
+
|
|
634
|
+
- Tell user: "All tasks complete. Final review required before PR."
|
|
635
|
+
- Offer review options (3-tier capability model):
|
|
636
|
+
|
|
637
|
+
```
|
|
638
|
+
Implementation complete. Final review required.
|
|
639
|
+
|
|
640
|
+
Review options:
|
|
641
|
+
1. Run review in this session via a subagent (recommended if provider supported)
|
|
642
|
+
2. Run review in a fresh session and return to this session to receive review
|
|
643
|
+
3. Run review inline
|
|
644
|
+
|
|
645
|
+
To run in a separate session use: oat-project-review-provide code final
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
**After user chooses:**
|
|
649
|
+
|
|
650
|
+
- If subagent (option 1): Agent spawns the review via Task tool — no command needed from user
|
|
651
|
+
- If fresh session (option 2): User runs `oat-project-review-provide code final` in a separate session, then returns here
|
|
652
|
+
- If inline (option 3): Agent executes the review directly per oat-project-review-provide skill
|
|
653
|
+
- After review: User runs `oat-project-review-receive` to process findings
|
|
654
|
+
- If Critical/Important findings: Fix tasks added, re-run the `oat-project-implement` skill
|
|
655
|
+
- Loop until final review passes (max 3 cycles per oat-project-review-receive)
|
|
656
|
+
|
|
657
|
+
**After final review is marked `passed`:**
|
|
658
|
+
|
|
659
|
+
- Update `"$PROJECT_PATH/state.md"` frontmatter:
|
|
660
|
+
- `oat_phase: implement`
|
|
661
|
+
- `oat_phase_status: complete`
|
|
662
|
+
- `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
|
|
663
|
+
- Append `"implement"` to `oat_hill_completed` (only if configured as a HiLL gate)
|
|
664
|
+
- Update state content to “Implementation complete”.
|
|
665
|
+
- Update `"$PROJECT_PATH/plan.md"`:
|
|
666
|
+
- Set the `final` review row status to `passed` (if not already)
|
|
667
|
+
- Ensure `## Implementation Complete` totals reflect any review fix tasks that were added
|
|
668
|
+
- Update `"$PROJECT_PATH/implementation.md"`:
|
|
669
|
+
- Ensure `oat_current_task_id: null`
|
|
670
|
+
- Ensure the “Review Received” section reflects completed fixes and points to the next action (PR) rather than “execute fix tasks”
|
|
671
|
+
|
|
672
|
+
### Step 15: Prompt for Next Steps
|
|
673
|
+
|
|
674
|
+
After final review passes (no Critical/Important findings):
|
|
675
|
+
|
|
676
|
+
```
|
|
677
|
+
Final review passed for {project-name}.
|
|
678
|
+
|
|
679
|
+
All tasks complete and verified. Next steps:
|
|
680
|
+
|
|
681
|
+
1. Generate project summary (oat-project-summary)
|
|
682
|
+
2. Sync documentation (oat-project-document) — if applicable
|
|
683
|
+
3. Create final PR (oat-project-pr-final)
|
|
684
|
+
|
|
685
|
+
Options:
|
|
686
|
+
a. Run all three in sequence now
|
|
687
|
+
b. Run summary + PR only (skip docs)
|
|
688
|
+
c. Exit (run individually later)
|
|
689
|
+
|
|
690
|
+
Choose:
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
**If user chooses sequence (a or b):**
|
|
694
|
+
|
|
695
|
+
1. Invoke `oat-project-summary` to generate summary.md
|
|
696
|
+
2. If docs selected: invoke `oat-project-document`
|
|
697
|
+
3. Invoke `oat-project-pr-final` — this sets `oat_phase_status: pr_open` and guides to revise/complete
|
|
698
|
+
|
|
699
|
+
Do not route directly to `oat-project-complete`. The `pr_open` status set by pr-final is the proper entry to the revision/completion flow.
|
|
700
|
+
|
|
701
|
+
**If user chooses exit (c):**
|
|
702
|
+
|
|
703
|
+
Tell user: "Run the skills individually when ready: oat-project-summary → oat-project-document → oat-project-pr-final"
|
|
704
|
+
|
|
705
|
+
### Step 16: Output Summary
|
|
706
|
+
|
|
707
|
+
```
|
|
708
|
+
Implementation complete for {project-name}.
|
|
709
|
+
|
|
710
|
+
Summary:
|
|
711
|
+
- Phases: {N} completed
|
|
712
|
+
- Tasks: {N} completed
|
|
713
|
+
- Commits: {N} created
|
|
714
|
+
|
|
715
|
+
Final verification:
|
|
716
|
+
- Tests: ✓ passing
|
|
717
|
+
- Lint: ✓ clean
|
|
718
|
+
- Types: ✓ valid
|
|
719
|
+
- Build: ✓ success
|
|
720
|
+
|
|
721
|
+
Final review:
|
|
722
|
+
- Status: ✓ passed
|
|
723
|
+
- Artifact: reviews/final-review-{date}.md
|
|
724
|
+
|
|
725
|
+
Next: Create PR or run the oat-project-pr-final skill (when available)
|
|
726
|
+
```
|
|
727
|
+
|
|
728
|
+
## Success Criteria
|
|
729
|
+
|
|
730
|
+
- All tasks executed in order
|
|
731
|
+
- TDD discipline followed
|
|
732
|
+
- Each task has a commit
|
|
733
|
+
- Implementation.md tracks all progress
|
|
734
|
+
- Final verification passes
|
|
735
|
+
- Final review passes (no Critical/Important findings)
|
|
736
|
+
- No unresolved blockers
|