@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,354 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oat-project-pr-progress
|
|
3
|
+
version: 1.2.0
|
|
4
|
+
description: Use when an active OAT project needs a mid-project PR for a completed phase (pNN). Generates a phase-scoped progress PR description from OAT artifacts and commit history, with optional PR creation.
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
user-invocable: true
|
|
7
|
+
allowed-tools: Read, Write, Bash(git:*), Glob, Grep, AskUserQuestion
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Progress PR
|
|
11
|
+
|
|
12
|
+
Create a progress PR description (typically at a plan phase boundary) and write it to disk.
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
Generate a PR-ready summary that is:
|
|
17
|
+
|
|
18
|
+
- grounded in OAT artifacts (mode-aware: spec-driven uses spec/design; quick/import may use discovery/import reference)
|
|
19
|
+
- scoped to a specific phase (pNN) or an explicit git range
|
|
20
|
+
- easy to paste into GitHub (or used with `gh pr create` if desired)
|
|
21
|
+
|
|
22
|
+
## Prerequisites
|
|
23
|
+
|
|
24
|
+
**Required:**
|
|
25
|
+
|
|
26
|
+
- `activeProject` in `.oat/config.local.json` points at an active project directory (or you can provide project name when prompted)
|
|
27
|
+
- `{PROJECT_PATH}/plan.md` exists
|
|
28
|
+
|
|
29
|
+
**Recommended:**
|
|
30
|
+
|
|
31
|
+
- Phase code review is `passed` in `plan.md` `## Reviews` before opening a progress PR.
|
|
32
|
+
|
|
33
|
+
## Mode Assertion
|
|
34
|
+
|
|
35
|
+
**OAT MODE: PR (Progress)**
|
|
36
|
+
|
|
37
|
+
**Purpose:** Create PR description and (optionally) open a PR.
|
|
38
|
+
|
|
39
|
+
## Progress Indicators (User-Facing)
|
|
40
|
+
|
|
41
|
+
When executing this skill, provide lightweight progress feedback so the user can tell what’s happening after they confirm.
|
|
42
|
+
|
|
43
|
+
- Print a phase banner once at start using horizontal separators, e.g.:
|
|
44
|
+
|
|
45
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
+
OAT ▸ PR PROGRESS
|
|
47
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
48
|
+
|
|
49
|
+
- Before multi-step work (scoping, reading artifacts, writing output), print 2–5 short step indicators, e.g.:
|
|
50
|
+
- `[1/5] Preflighting review artifacts…`
|
|
51
|
+
- `[2/5] Resolving scope…`
|
|
52
|
+
- `[3/5] Reading OAT artifacts…`
|
|
53
|
+
- `[4/5] Collecting git context…`
|
|
54
|
+
- `[5/5] Writing PR description…`
|
|
55
|
+
- For long-running operations (git logs/diffs on large ranges), print a start line and a completion line (duration optional).
|
|
56
|
+
- Keep it concise; don’t print a line for every shell command.
|
|
57
|
+
|
|
58
|
+
**BLOCKED Activities:**
|
|
59
|
+
|
|
60
|
+
- No implementation work
|
|
61
|
+
- No changing requirements/design/plan
|
|
62
|
+
|
|
63
|
+
**ALLOWED Activities:**
|
|
64
|
+
|
|
65
|
+
- Reading artifacts and git history
|
|
66
|
+
- Writing PR description file
|
|
67
|
+
- Running `gh pr create` (optional, user-confirmed)
|
|
68
|
+
|
|
69
|
+
## Usage
|
|
70
|
+
|
|
71
|
+
### With arguments (if supported)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
oat-project-pr-progress p02 # progress PR for phase p02
|
|
75
|
+
oat-project-pr-progress range=abc..def # progress PR for explicit range
|
|
76
|
+
oat-project-pr-progress base_sha=abc123 # progress PR for abc123..HEAD
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Without arguments
|
|
80
|
+
|
|
81
|
+
Run the `oat-project-pr-progress` skill and it will ask:
|
|
82
|
+
|
|
83
|
+
- which phase (pNN) or range to scope to
|
|
84
|
+
- PR title + base branch (resolved from: explicit `base=` arg → `git.defaultBranch` in `.oat/config.json` → `git rev-parse --abbrev-ref origin/HEAD` → fallback `main`)
|
|
85
|
+
|
|
86
|
+
## Process
|
|
87
|
+
|
|
88
|
+
### Step 0: Resolve Active Project
|
|
89
|
+
|
|
90
|
+
OAT stores active project context in `.oat/config.local.json` (`activeProject`, local-only).
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
PROJECT_PATH=$(oat config get activeProject 2>/dev/null || true)
|
|
94
|
+
PROJECTS_ROOT="${OAT_PROJECTS_ROOT:-$(oat config get projects.root 2>/dev/null || echo ".oat/projects/shared")}"
|
|
95
|
+
PROJECTS_ROOT="${PROJECTS_ROOT%/}"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
If missing/invalid:
|
|
99
|
+
|
|
100
|
+
- Ask the user for `{project-name}`
|
|
101
|
+
- Set `PROJECT_PATH` to `${PROJECTS_ROOT}/{project-name}`
|
|
102
|
+
- Write it:
|
|
103
|
+
```bash
|
|
104
|
+
mkdir -p .oat
|
|
105
|
+
oat config set activeProject "$PROJECT_PATH"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Step 0.5: Archive Residual Active Review Artifacts
|
|
109
|
+
|
|
110
|
+
Before generating the PR, detect any leftover active review artifacts in the top level of `"$PROJECT_PATH/reviews/"`:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
find "$PROJECT_PATH/reviews" -maxdepth 1 -type f -name "*.md" 2>/dev/null
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
If any active review artifacts exist:
|
|
117
|
+
|
|
118
|
+
1. Create `"$PROJECT_PATH/reviews/archived"` if needed.
|
|
119
|
+
2. For each active review file, rewrite any references touched during this preflight so they point to `reviews/archived/{filename}.md` instead of `reviews/{filename}.md`. At minimum, check:
|
|
120
|
+
- `"$PROJECT_PATH/plan.md"`
|
|
121
|
+
- `"$PROJECT_PATH/implementation.md"`
|
|
122
|
+
- `"$PROJECT_PATH/state.md"`
|
|
123
|
+
3. Move the review artifact into `reviews/archived/`, adding a timestamp suffix if the archive target already exists.
|
|
124
|
+
4. Report the archived paths before continuing.
|
|
125
|
+
|
|
126
|
+
Rules:
|
|
127
|
+
|
|
128
|
+
- Only archive top-level active review artifacts. Leave `reviews/archived/` untouched.
|
|
129
|
+
- This preflight is bookkeeping only; do not change review statuses unless a rewritten artifact path requires it.
|
|
130
|
+
|
|
131
|
+
### Step 1: Determine Scope (Phase or Range)
|
|
132
|
+
|
|
133
|
+
Parse args if provided (otherwise prompt):
|
|
134
|
+
|
|
135
|
+
- `pNN` (preferred for progress PRs)
|
|
136
|
+
- `range=<sha1>..<sha2>`
|
|
137
|
+
- `base_sha=<sha>` (meaning `<sha>..HEAD`)
|
|
138
|
+
|
|
139
|
+
If scope is `pNN`, gather commits via commit convention grep:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
PHASE="p02" # example
|
|
143
|
+
git log --oneline --grep="\\(${PHASE}-" HEAD~500..HEAD
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
If the grep returns no commits:
|
|
147
|
+
|
|
148
|
+
- Tell user commit conventions are missing/inconsistent for this phase
|
|
149
|
+
- Ask user to provide:
|
|
150
|
+
- `base_sha=<sha>` or `range=<sha1>..<sha2>`
|
|
151
|
+
- or confirm a broad range (merge-base..HEAD)
|
|
152
|
+
|
|
153
|
+
If scope is `range`/`base_sha`, set:
|
|
154
|
+
|
|
155
|
+
- `SCOPE_RANGE` to the range string (e.g., `abc..HEAD`)
|
|
156
|
+
|
|
157
|
+
### Step 2: Load Artifacts (Mode-Aware)
|
|
158
|
+
|
|
159
|
+
Resolve workflow mode from `state.md` (default `spec-driven`):
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
WORKFLOW_MODE=$(grep "^oat_workflow_mode:" "$PROJECT_PATH/state.md" 2>/dev/null | head -1 | awk '{print $2}')
|
|
163
|
+
WORKFLOW_MODE=${WORKFLOW_MODE:-spec-driven}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Read (as available):
|
|
167
|
+
|
|
168
|
+
- `{PROJECT_PATH}/spec.md`
|
|
169
|
+
- `{PROJECT_PATH}/design.md`
|
|
170
|
+
- `{PROJECT_PATH}/plan.md`
|
|
171
|
+
- `{PROJECT_PATH}/implementation.md` (if exists)
|
|
172
|
+
- `{PROJECT_PATH}/discovery.md` (recommended for quick mode)
|
|
173
|
+
- `{PROJECT_PATH}/references/imported-plan.md` (recommended for import mode)
|
|
174
|
+
|
|
175
|
+
If `WORKFLOW_MODE != spec-driven` and spec/design are missing:
|
|
176
|
+
|
|
177
|
+
- continue (do not block)
|
|
178
|
+
- include an explicit note in PR summary that spec-driven requirements/design artifacts are absent for this scope
|
|
179
|
+
|
|
180
|
+
### Step 3: Check Review Status (Recommended)
|
|
181
|
+
|
|
182
|
+
If scope is `pNN`, check `plan.md` `## Reviews` table row:
|
|
183
|
+
|
|
184
|
+
- If `| pNN | code | passed | ...` exists: good
|
|
185
|
+
- Otherwise: warn that review has not been marked `passed` for this phase (e.g., it may be `received`, `fixes_added`, or `fixes_completed` pending re-review)
|
|
186
|
+
|
|
187
|
+
Do not block PR generation; this is a progress PR.
|
|
188
|
+
|
|
189
|
+
### Step 4: Collect Scope Data
|
|
190
|
+
|
|
191
|
+
Produce:
|
|
192
|
+
|
|
193
|
+
- commit list (for `pNN` grep or `SCOPE_RANGE`)
|
|
194
|
+
- changed files (best-effort)
|
|
195
|
+
|
|
196
|
+
For `SCOPE_RANGE`:
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
git log --oneline "$SCOPE_RANGE"
|
|
200
|
+
git diff --name-only "$SCOPE_RANGE"
|
|
201
|
+
git diff --shortstat "$SCOPE_RANGE"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
For `pNN` (no reliable contiguous range):
|
|
205
|
+
|
|
206
|
+
- include the commit list from grep
|
|
207
|
+
- optionally include file lists per commit (only if needed; can be large)
|
|
208
|
+
|
|
209
|
+
### Step 5: Write PR Description Artifact
|
|
210
|
+
|
|
211
|
+
Write to:
|
|
212
|
+
|
|
213
|
+
- `{PROJECT_PATH}/pr/progress-{scope}-YYYY-MM-DD.md`
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
mkdir -p "$PROJECT_PATH/pr"
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Frontmatter policy:
|
|
220
|
+
|
|
221
|
+
- Keep YAML frontmatter in the local artifact file for OAT metadata and traceability.
|
|
222
|
+
- Do **not** include YAML frontmatter in the PR body submitted to GitHub.
|
|
223
|
+
|
|
224
|
+
Reference links policy:
|
|
225
|
+
|
|
226
|
+
- Prefer clickable blob links to the current branch for References.
|
|
227
|
+
- Build links from `origin` + current branch when possible.
|
|
228
|
+
- If remote URL cannot be resolved into a web URL, fall back to plain relative paths.
|
|
229
|
+
|
|
230
|
+
Local path exclusion:
|
|
231
|
+
|
|
232
|
+
- Read `.oat/config.json` and extract `localPaths` (glob patterns for gitignored directories).
|
|
233
|
+
- Do **not** include References links to any path that matches a `localPaths` pattern — those paths are gitignored and will not exist on the remote.
|
|
234
|
+
- Common matches: `.oat/projects/**/reviews/archived`, `.oat/projects/**/pr`. Active `reviews/` paths remain eligible for References when they are tracked; only archived review paths should be treated as local-only by default.
|
|
235
|
+
|
|
236
|
+
Example link context:
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
ORIGIN_URL=$(git remote get-url origin 2>/dev/null || echo "")
|
|
240
|
+
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
241
|
+
PROJECT_REL="${PROJECT_PATH#./}"
|
|
242
|
+
|
|
243
|
+
REPO_WEB=""
|
|
244
|
+
case "$ORIGIN_URL" in
|
|
245
|
+
git@github.com:*) REPO_WEB="https://github.com/${ORIGIN_URL#git@github.com:}" ;;
|
|
246
|
+
https://github.com/*) REPO_WEB="$ORIGIN_URL" ;;
|
|
247
|
+
esac
|
|
248
|
+
REPO_WEB="${REPO_WEB%.git}"
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Recommended template:
|
|
252
|
+
|
|
253
|
+
```markdown
|
|
254
|
+
---
|
|
255
|
+
oat_generated: true
|
|
256
|
+
oat_generated_at: YYYY-MM-DD
|
|
257
|
+
oat_pr_type: progress
|
|
258
|
+
oat_pr_scope: { pNN|range }
|
|
259
|
+
oat_project: { PROJECT_PATH }
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
# {project-name} ({scope})
|
|
263
|
+
|
|
264
|
+
## Summary
|
|
265
|
+
|
|
266
|
+
{1-3 sentence summary of what this phase delivered}
|
|
267
|
+
|
|
268
|
+
## Goals / Non-Goals
|
|
269
|
+
|
|
270
|
+
{goals addressed by this phase, from available requirement artifacts: spec in spec-driven mode, discovery/import reference in quick/import mode}
|
|
271
|
+
|
|
272
|
+
## Changes
|
|
273
|
+
|
|
274
|
+
- Project: `{PROJECT_PATH}`
|
|
275
|
+
- Scope: `{scope}`
|
|
276
|
+
- Commits:
|
|
277
|
+
{bulleted list}
|
|
278
|
+
|
|
279
|
+
## Verification
|
|
280
|
+
|
|
281
|
+
- Tests: {what was run / expected}
|
|
282
|
+
- Lint/Types/Build: {what was run / expected}
|
|
283
|
+
|
|
284
|
+
## Reviews
|
|
285
|
+
|
|
286
|
+
{phase review row from plan.md Reviews table, if available}
|
|
287
|
+
|
|
288
|
+
## References
|
|
289
|
+
|
|
290
|
+
Only include links to artifacts that actually exist in the project. Omit any that are absent.
|
|
291
|
+
|
|
292
|
+
- Spec: `[spec.md]({REPO_WEB}/blob/{BRANCH}/{PROJECT_REL}/spec.md)`
|
|
293
|
+
- Design: `[design.md]({REPO_WEB}/blob/{BRANCH}/{PROJECT_REL}/design.md)`
|
|
294
|
+
- Plan: `[plan.md]({REPO_WEB}/blob/{BRANCH}/{PROJECT_REL}/plan.md)` (fallback: `{PROJECT_PATH}/plan.md`)
|
|
295
|
+
- Implementation: `[implementation.md]({REPO_WEB}/blob/{BRANCH}/{PROJECT_REL}/implementation.md)` (fallback: `{PROJECT_PATH}/implementation.md`)
|
|
296
|
+
- Discovery: `[discovery.md]({REPO_WEB}/blob/{BRANCH}/{PROJECT_REL}/discovery.md)`
|
|
297
|
+
- Imported Source: `[references/imported-plan.md]({REPO_WEB}/blob/{BRANCH}/{PROJECT_REL}/references/imported-plan.md)`
|
|
298
|
+
- Reviews: `[reviews/]({REPO_WEB}/tree/{BRANCH}/{PROJECT_REL}/reviews)` (fallback: `{PROJECT_PATH}/reviews/`) — include when active `reviews/` is tracked; omit archived review paths and any target that still matches a `localPaths` pattern
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### Step 6: Optional - Open PR
|
|
302
|
+
|
|
303
|
+
Ask the user:
|
|
304
|
+
|
|
305
|
+
```
|
|
306
|
+
PR description written to {path}.
|
|
307
|
+
|
|
308
|
+
Do you want to open a PR now?
|
|
309
|
+
1) Yes (use gh CLI if available)
|
|
310
|
+
2) No (I will open manually)
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
If user chooses (1), provide best-effort guidance:
|
|
314
|
+
|
|
315
|
+
- Strip YAML frontmatter from the local artifact into a temporary body file:
|
|
316
|
+
```bash
|
|
317
|
+
BODY_FILE="{path}"
|
|
318
|
+
TMP_BODY="$(mktemp -t oat-pr-body.XXXXXX.md)"
|
|
319
|
+
awk 'NR==1 && $0=="---" {infm=1; next} infm && $0=="---" {infm=0; next} !infm {print}' "$BODY_FILE" > "$TMP_BODY"
|
|
320
|
+
```
|
|
321
|
+
- Resolve the base branch:
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# Resolution chain: explicit arg > OAT config > git remote > fallback
|
|
325
|
+
BASE_BRANCH="{base_arg if provided}"
|
|
326
|
+
if [ -z "$BASE_BRANCH" ]; then
|
|
327
|
+
BASE_BRANCH=$(oat config get git.defaultBranch 2>/dev/null || true)
|
|
328
|
+
fi
|
|
329
|
+
if [ -z "$BASE_BRANCH" ]; then
|
|
330
|
+
BASE_BRANCH=$(git rev-parse --abbrev-ref origin/HEAD 2>/dev/null | sed 's|origin/||' || true)
|
|
331
|
+
fi
|
|
332
|
+
BASE_BRANCH="${BASE_BRANCH:-main}"
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
- Use the stripped body file with `gh`:
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
git push -u origin "$(git rev-parse --abbrev-ref HEAD)"
|
|
339
|
+
gh pr create --base "$BASE_BRANCH" --title "{title}" --body-file "$TMP_BODY"
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
- Optionally clean up temp file:
|
|
343
|
+
```bash
|
|
344
|
+
rm -f "$TMP_BODY"
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
Do not assume `gh` is installed; if missing, instruct manual PR creation using the file contents and note the resolved base branch.
|
|
348
|
+
|
|
349
|
+
## Success Criteria
|
|
350
|
+
|
|
351
|
+
- Residual active review artifacts are archived before PR generation continues
|
|
352
|
+
- Scope determined (phase or explicit range)
|
|
353
|
+
- PR description artifact written to `{PROJECT_PATH}/pr/`
|
|
354
|
+
- User has clear next step to open PR (manual or gh)
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oat-project-progress
|
|
3
|
+
version: 1.2.0
|
|
4
|
+
description: Use when resuming work, checking status, or unsure which OAT skill to run next. Evaluates project progress and routes to the appropriate next step.
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
user-invocable: true
|
|
7
|
+
allowed-tools: Read, Glob, Grep, Bash(git:*), AskUserQuestion
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Progress Router
|
|
11
|
+
|
|
12
|
+
Check knowledge base status, project progress, and get recommendations for next steps.
|
|
13
|
+
|
|
14
|
+
## Progress Indicators (User-Facing)
|
|
15
|
+
|
|
16
|
+
When executing this skill, provide lightweight progress feedback so the user can tell what’s happening after they confirm.
|
|
17
|
+
|
|
18
|
+
- Print a phase banner once at start using horizontal separators, e.g.:
|
|
19
|
+
|
|
20
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
21
|
+
OAT ▸ PROGRESS
|
|
22
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
23
|
+
|
|
24
|
+
- Before multi-step work, print step indicators, e.g.:
|
|
25
|
+
- `[1/4] Checking knowledge base…`
|
|
26
|
+
- `[2/4] Scanning project status…`
|
|
27
|
+
- `[3/4] Determining next steps…`
|
|
28
|
+
- `[4/4] Refreshing dashboard…`
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
Run `oat-project-progress` at any time to:
|
|
33
|
+
|
|
34
|
+
- Check if knowledge base exists and is fresh
|
|
35
|
+
- See current project status
|
|
36
|
+
- Get recommended next skill
|
|
37
|
+
|
|
38
|
+
## Process
|
|
39
|
+
|
|
40
|
+
### Step 1: Check Knowledge Base Exists
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
EXISTING_MD=$(find .oat/repo/knowledge -name "*.md" -type f 2>/dev/null | head -1)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**If `$EXISTING_MD` is empty:**
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
⚠️ No knowledge base found.
|
|
50
|
+
|
|
51
|
+
Run the oat-repo-knowledge-index skill first to generate codebase analysis.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Exit here.**
|
|
55
|
+
|
|
56
|
+
### Step 2: Check Knowledge Staleness
|
|
57
|
+
|
|
58
|
+
Extract frontmatter from `.oat/repo/knowledge/project-index.md`:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
SOURCE_MERGE_BASE_SHA=$(grep "^oat_source_main_merge_base_sha:" .oat/repo/knowledge/project-index.md | awk '{print $2}')
|
|
62
|
+
GENERATED_AT=$(grep "^oat_generated_at:" .oat/repo/knowledge/project-index.md | awk '{print $2}')
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Calculate staleness:**
|
|
66
|
+
|
|
67
|
+
1. **Age check:**
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Skip if date is missing or invalid
|
|
71
|
+
if [ -n "$GENERATED_AT" ] && echo "$GENERATED_AT" | grep -qE '^[0-9]{4}-[0-9]{2}-[0-9]{2}$'; then
|
|
72
|
+
if date -j -f "%Y-%m-%d" "$GENERATED_AT" +%s >/dev/null 2>&1; then
|
|
73
|
+
GENERATED_TS=$(date -j -f "%Y-%m-%d" "$GENERATED_AT" +%s)
|
|
74
|
+
else
|
|
75
|
+
GENERATED_TS=$(date -d "$GENERATED_AT" +%s 2>/dev/null || echo "")
|
|
76
|
+
fi
|
|
77
|
+
if [ -n "$GENERATED_TS" ]; then
|
|
78
|
+
DAYS_OLD=$(( ($(date +%s) - $GENERATED_TS) / 86400 ))
|
|
79
|
+
fi
|
|
80
|
+
fi
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
2. **Git diff check:**
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
if [ -n "$SOURCE_MERGE_BASE_SHA" ]; then
|
|
87
|
+
FILES_CHANGED=$(git diff --numstat "$SOURCE_MERGE_BASE_SHA..HEAD" 2>/dev/null | wc -l | tr -d ' ')
|
|
88
|
+
CHANGES_SUMMARY=$(git diff --shortstat "$SOURCE_MERGE_BASE_SHA..HEAD" 2>/dev/null)
|
|
89
|
+
fi
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Staleness thresholds:**
|
|
93
|
+
|
|
94
|
+
- Age: >7 days old
|
|
95
|
+
- Changes: >20 files changed
|
|
96
|
+
|
|
97
|
+
**If stale:**
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
⚠️ Knowledge base may be stale.
|
|
101
|
+
|
|
102
|
+
Generated: {GENERATED_AT} ({DAYS_OLD} days ago)
|
|
103
|
+
Changes since: {FILES_CHANGED} files changed
|
|
104
|
+
{CHANGES_SUMMARY}
|
|
105
|
+
|
|
106
|
+
Consider running the oat-repo-knowledge-index skill to refresh.
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Step 3: List Projects (Highlight Active Project)
|
|
110
|
+
|
|
111
|
+
OAT stores active project context in `.oat/config.local.json` (`activeProject`, local-only).
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
ACTIVE_PROJECT_PATH=$(oat config get activeProject 2>/dev/null || true)
|
|
115
|
+
PROJECTS_ROOT="${OAT_PROJECTS_ROOT:-$(oat config get projects.root 2>/dev/null || echo ".oat/projects/shared")}"
|
|
116
|
+
PROJECTS_ROOT="${PROJECTS_ROOT%/}"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**If `ACTIVE_PROJECT_PATH` is set and valid (directory exists):**
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
Active Project: {basename(ACTIVE_PROJECT_PATH)} ({ACTIVE_PROJECT_PATH})
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**If `ACTIVE_PROJECT_PATH` is missing/invalid:** show:
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
Active Project: (not set)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
ls -d "$PROJECTS_ROOT"/*/ 2>/dev/null
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**If no projects:**
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
No active projects.
|
|
139
|
+
|
|
140
|
+
Start a new project:
|
|
141
|
+
oat-project-new - Create a spec-driven project scaffold
|
|
142
|
+
oat-project-quick-start - Start a quick workflow project
|
|
143
|
+
oat-project-import-plan - Import an external markdown plan into OAT
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Continue to Step 6 (show available skills).**
|
|
147
|
+
|
|
148
|
+
### Step 4: For Each Project, Show Status
|
|
149
|
+
|
|
150
|
+
Read `{project}/state.md` frontmatter:
|
|
151
|
+
|
|
152
|
+
- `oat_phase` - Current phase
|
|
153
|
+
- `oat_phase_status` - in_progress or complete
|
|
154
|
+
- `oat_workflow_mode` - spec-driven | quick | import
|
|
155
|
+
- `oat_blockers` - Any blockers
|
|
156
|
+
- `oat_hill_checkpoints` - Configured gates (e.g., `["discovery", "spec", "design"]`)
|
|
157
|
+
- `oat_hill_completed` - Completed HiLL checkpoints
|
|
158
|
+
|
|
159
|
+
**Display format:**
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
📁 {project-name}
|
|
163
|
+
Active: {yes/no}
|
|
164
|
+
Mode: {oat_workflow_mode}
|
|
165
|
+
Phase: {oat_phase} ({oat_phase_status})
|
|
166
|
+
HiLL Gates: {oat_hill_checkpoints}
|
|
167
|
+
Completed: {oat_hill_completed as checkmarks}
|
|
168
|
+
HiLL Pending: {yes/no for current phase}
|
|
169
|
+
Blockers: {oat_blockers or "None"}
|
|
170
|
+
Next: {recommended_skill}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Step 5: Determine Next Skill
|
|
174
|
+
|
|
175
|
+
Based on project state, recommend next action.
|
|
176
|
+
|
|
177
|
+
Read `oat_workflow_mode` from `state.md` frontmatter:
|
|
178
|
+
|
|
179
|
+
- `spec-driven` (default if missing)
|
|
180
|
+
- `quick`
|
|
181
|
+
- `import`
|
|
182
|
+
|
|
183
|
+
Read `oat_execution_mode` from `state.md` frontmatter:
|
|
184
|
+
|
|
185
|
+
- `single-thread` (default if missing)
|
|
186
|
+
- `subagent-driven`
|
|
187
|
+
|
|
188
|
+
**HiLL override (apply before phase routing):**
|
|
189
|
+
|
|
190
|
+
- If current `oat_phase` is listed in `oat_hill_checkpoints` **and** not listed in `oat_hill_completed`, the phase's HiLL gate is still pending.
|
|
191
|
+
- In that case, do **not** advance to the next phase even if `oat_phase_status: complete`.
|
|
192
|
+
- Recommend continuing the current phase skill to capture explicit approval:
|
|
193
|
+
- discovery gate pending -> `oat-project-discover`
|
|
194
|
+
- spec gate pending -> `oat-project-spec`
|
|
195
|
+
- design gate pending -> `oat-project-design`
|
|
196
|
+
|
|
197
|
+
**Drift detection (apply before routing `implement | in_progress`):**
|
|
198
|
+
|
|
199
|
+
When `oat_phase: implement` and `oat_phase_status: in_progress`, check for artifact drift before recommending next skill:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
# Use the project path from Step 4's per-project loop (or ACTIVE_PROJECT_PATH for single-project)
|
|
203
|
+
# Count planned tasks
|
|
204
|
+
PLAN_TASKS=$(grep -cE '^### Task p[0-9]+-t[0-9]+:' "$ACTIVE_PROJECT_PATH/plan.md" 2>/dev/null || echo 0)
|
|
205
|
+
|
|
206
|
+
# Count completed tasks in implementation.md
|
|
207
|
+
IMPL_COMPLETED=$(grep -cE '^\*\*Status:\*\* completed' "$ACTIVE_PROJECT_PATH/implementation.md" 2>/dev/null || echo 0)
|
|
208
|
+
|
|
209
|
+
# Check for commits since last tracked SHA
|
|
210
|
+
LAST_SHA=$(grep "^oat_last_commit:" "$ACTIVE_PROJECT_PATH/state.md" 2>/dev/null | awk '{print $2}')
|
|
211
|
+
if [ -n "$LAST_SHA" ]; then
|
|
212
|
+
UNTRACKED_COMMITS=$(git rev-list --count "$LAST_SHA"..HEAD 2>/dev/null || echo 0)
|
|
213
|
+
else
|
|
214
|
+
UNTRACKED_COMMITS=0
|
|
215
|
+
fi
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**Drift indicators (any one is sufficient):**
|
|
219
|
+
|
|
220
|
+
- `PLAN_TASKS` > `IMPL_COMPLETED` and `UNTRACKED_COMMITS` > 0 (plan has more tasks than completed entries, and there are untracked commits — most direct signal)
|
|
221
|
+
- `IMPL_COMPLETED` < number of task-convention commits on branch (tasks implemented but not logged)
|
|
222
|
+
- `UNTRACKED_COMMITS` > 3 and `oat_current_task_id` is null or stale
|
|
223
|
+
- Commits exist that match `feat(pNN-tNN):` pattern but lack corresponding completed entries in `implementation.md`
|
|
224
|
+
|
|
225
|
+
If drift is detected, recommend `oat-project-reconcile` alongside the normal implementation skill.
|
|
226
|
+
|
|
227
|
+
Routing matrix by mode:
|
|
228
|
+
|
|
229
|
+
**Spec-Driven mode (`oat_workflow_mode: spec-driven`):**
|
|
230
|
+
|
|
231
|
+
| oat_phase | oat_phase_status | Next Skill |
|
|
232
|
+
| --------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
233
|
+
| discovery | in_progress | Continue `oat-project-discover` |
|
|
234
|
+
| discovery | complete | `oat-project-spec` |
|
|
235
|
+
| spec | in_progress | Continue `oat-project-spec` |
|
|
236
|
+
| spec | complete | `oat-project-design` |
|
|
237
|
+
| design | in_progress | Continue `oat-project-design` |
|
|
238
|
+
| design | complete | `oat-project-plan` |
|
|
239
|
+
| plan | in_progress | Continue `oat-project-plan` |
|
|
240
|
+
| plan | complete | `oat-project-subagent-implement` when `oat_execution_mode: subagent-driven`, otherwise `oat-project-implement` |
|
|
241
|
+
| implement | in_progress | Continue `oat-project-subagent-implement` when `oat_execution_mode: subagent-driven`, otherwise `oat-project-implement`. If artifacts appear out of sync with recent commits (e.g., `implementation.md` has fewer completed tasks than commits suggest), also mention `oat-project-reconcile` as an option. |
|
|
242
|
+
| implement | complete | Ready for final review / PR |
|
|
243
|
+
|
|
244
|
+
**Quick mode (`oat_workflow_mode: quick`):**
|
|
245
|
+
|
|
246
|
+
| oat_phase | oat_phase_status | Next Skill |
|
|
247
|
+
| --------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
248
|
+
| discovery | in_progress | Continue `oat-project-discover` |
|
|
249
|
+
| discovery | complete | `oat-project-plan` |
|
|
250
|
+
| plan | in_progress | Continue `oat-project-plan` |
|
|
251
|
+
| plan | complete | `oat-project-subagent-implement` when `oat_execution_mode: subagent-driven`, otherwise `oat-project-implement` |
|
|
252
|
+
| implement | in_progress | Continue `oat-project-subagent-implement` when `oat_execution_mode: subagent-driven`, otherwise `oat-project-implement`. If drift detected (see drift detection above), also mention `oat-project-reconcile` as an option. |
|
|
253
|
+
| implement | complete | Ready for final review / PR |
|
|
254
|
+
|
|
255
|
+
**Import mode (`oat_workflow_mode: import`):**
|
|
256
|
+
|
|
257
|
+
| oat_phase | oat_phase_status | Next Skill |
|
|
258
|
+
| --------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
259
|
+
| plan | in_progress | Continue `oat-project-import-plan` |
|
|
260
|
+
| plan | complete | `oat-project-subagent-implement` when `oat_execution_mode: subagent-driven`, otherwise `oat-project-implement` |
|
|
261
|
+
| implement | in_progress | Continue `oat-project-subagent-implement` when `oat_execution_mode: subagent-driven`, otherwise `oat-project-implement`. If drift detected (see drift detection above), also mention `oat-project-reconcile` as an option. |
|
|
262
|
+
| implement | complete | Ready for final review / PR |
|
|
263
|
+
|
|
264
|
+
**If blockers exist:**
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
⚠️ Blocker: {blocker description}
|
|
268
|
+
|
|
269
|
+
Address blocker before continuing.
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Execution-mode note:
|
|
273
|
+
|
|
274
|
+
- Keep `oat_ready_for` in `plan.md` canonical (`oat-project-implement`).
|
|
275
|
+
- Runtime routing at plan completion is controlled by `oat_execution_mode` in `state.md`.
|
|
276
|
+
|
|
277
|
+
### Step 6: Show Available Skills
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
OAT Workflow Skills:
|
|
281
|
+
|
|
282
|
+
Knowledge:
|
|
283
|
+
oat-repo-knowledge-index - Generate/refresh codebase knowledge base
|
|
284
|
+
|
|
285
|
+
Workflow:
|
|
286
|
+
oat-project-quick-start - Start a quick workflow (discover -> plan -> implement)
|
|
287
|
+
oat-project-import-plan - Import an external markdown plan and normalize plan.md
|
|
288
|
+
oat-project-promote-spec-driven - Promote quick/import project to spec-driven lifecycle
|
|
289
|
+
oat-project-discover - Start discovery phase (requirements gathering)
|
|
290
|
+
oat-project-spec - Create specification from discovery
|
|
291
|
+
oat-project-design - Create technical design from spec
|
|
292
|
+
oat-project-plan - Create implementation plan from design (spec-driven mode)
|
|
293
|
+
oat-project-implement - Execute implementation plan
|
|
294
|
+
oat-project-subagent-implement - Execute implementation plan with subagent orchestration
|
|
295
|
+
oat-project-reconcile - Reconcile manual/human commits with plan tasks
|
|
296
|
+
|
|
297
|
+
Status:
|
|
298
|
+
oat-project-progress - Check project progress (this skill)
|
|
299
|
+
oat-project-next - Continue working — routes to the correct next skill automatically
|
|
300
|
+
|
|
301
|
+
Reviews:
|
|
302
|
+
oat-project-review-provide - Request a fresh-context code/artifact review (writes review artifact)
|
|
303
|
+
oat-project-review-receive - Convert review findings into plan tasks (gap closure)
|
|
304
|
+
|
|
305
|
+
PRs:
|
|
306
|
+
oat-project-pr-progress - Create a progress PR description (phase-scoped)
|
|
307
|
+
oat-project-pr-final - Create the final project PR description (after final review)
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Step 7: Output Summary
|
|
311
|
+
|
|
312
|
+
Combine all information:
|
|
313
|
+
|
|
314
|
+
```
|
|
315
|
+
OAT Progress Report
|
|
316
|
+
===================
|
|
317
|
+
|
|
318
|
+
Knowledge Base:
|
|
319
|
+
Status: {✓ Fresh / ⚠️ Stale / ❌ Missing}
|
|
320
|
+
Generated: {date}
|
|
321
|
+
Changes since: {N} files
|
|
322
|
+
|
|
323
|
+
Active Projects:
|
|
324
|
+
{project summaries}
|
|
325
|
+
|
|
326
|
+
Next Step: {recommendation}
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Step 8: Regenerate Dashboard
|
|
330
|
+
|
|
331
|
+
After all progress checks, regenerate the repo state dashboard:
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
oat state refresh
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
## Success Criteria
|
|
338
|
+
|
|
339
|
+
- Knowledge base status clearly shown
|
|
340
|
+
- All active projects listed with status
|
|
341
|
+
- Clear next-step recommendations
|
|
342
|
+
- Blockers highlighted prominently
|