@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,231 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oat-review-provide
|
|
3
|
+
version: 1.2.0
|
|
4
|
+
description: Use when you need an ad-hoc review outside an active OAT project lifecycle. Reviews code or artifacts without project phase state, unlike oat-project-review-provide.
|
|
5
|
+
argument-hint: '[unstaged|staged|base_branch=<branch>|base_sha=<sha>|<sha1>..<sha2>|--files <path1,path2,...>] [--output <path>] [--mode auto|local|tracked|inline]'
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
user-invocable: true
|
|
8
|
+
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Ad-Hoc Review
|
|
12
|
+
|
|
13
|
+
Request and execute a code/file review that is not tied to an OAT project lifecycle.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
- Git repository with changes/files to review.
|
|
18
|
+
- User wants a code/diff review without requiring an `activeProject` entry in `.oat/config.local.json` or project artifacts.
|
|
19
|
+
|
|
20
|
+
## Mode Assertion
|
|
21
|
+
|
|
22
|
+
**OAT MODE: Ad-Hoc Review**
|
|
23
|
+
|
|
24
|
+
**Purpose:** Review commit ranges, working-tree diffs, or explicit files and write an optional review artifact even when no project state exists.
|
|
25
|
+
|
|
26
|
+
**BLOCKED Activities:**
|
|
27
|
+
|
|
28
|
+
- No implementation/code changes.
|
|
29
|
+
- No project state mutations unless user explicitly requests conversion into an OAT project flow.
|
|
30
|
+
|
|
31
|
+
**ALLOWED Activities:**
|
|
32
|
+
|
|
33
|
+
- Range-based code review.
|
|
34
|
+
- Optional review artifact generation (tracked active, local active, or inline).
|
|
35
|
+
- Inline review output when requested.
|
|
36
|
+
|
|
37
|
+
**Self-Correction Protocol:**
|
|
38
|
+
If you catch yourself:
|
|
39
|
+
|
|
40
|
+
- Expecting project artifacts (`state.md`, `plan.md`) for this review → STOP and continue in ad-hoc mode.
|
|
41
|
+
- Auto-committing tracked artifacts without user approval → STOP and ask.
|
|
42
|
+
|
|
43
|
+
**Recovery:**
|
|
44
|
+
|
|
45
|
+
1. Re-resolve review range directly from git.
|
|
46
|
+
2. Re-resolve artifact destination policy (tracked active, local active, or inline).
|
|
47
|
+
|
|
48
|
+
## Progress Indicators (User-Facing)
|
|
49
|
+
|
|
50
|
+
When executing this skill, provide lightweight progress feedback so the user can tell what’s happening after they confirm.
|
|
51
|
+
|
|
52
|
+
- Print a phase banner once at start using horizontal separators, e.g.:
|
|
53
|
+
|
|
54
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
55
|
+
OAT ▸ PROVIDE AD-HOC REVIEW
|
|
56
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
57
|
+
|
|
58
|
+
- Before multi-step work, print step indicators, e.g.:
|
|
59
|
+
- `[1/4] Resolving review scope…`
|
|
60
|
+
- `[2/4] Gathering files + context…`
|
|
61
|
+
- `[3/4] Running review analysis…`
|
|
62
|
+
- `[4/4] Writing review artifact…`
|
|
63
|
+
|
|
64
|
+
## Process
|
|
65
|
+
|
|
66
|
+
### Step 0: Resolve Review Scope
|
|
67
|
+
|
|
68
|
+
Parse `$ARGUMENTS` and resolve one scope mode:
|
|
69
|
+
|
|
70
|
+
- `--files <path1,path2,...>` → explicit file review (works for old/pre-existing files)
|
|
71
|
+
- `unstaged` → review current unstaged working tree changes
|
|
72
|
+
- `staged` → review staged changes (`--cached`)
|
|
73
|
+
- `base_branch=<branch>` → review current branch against merge-base with branch (e.g., `base_branch=main`)
|
|
74
|
+
- `base_sha=<sha>` → `{sha}..HEAD`
|
|
75
|
+
- `<sha1>..<sha2>` → exact range
|
|
76
|
+
- If omitted, ask user to choose one of the above and recommend `unstaged` for in-progress local review.
|
|
77
|
+
|
|
78
|
+
Recommended fallback:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
MERGE_BASE=$(git merge-base origin/main HEAD 2>/dev/null || git merge-base main HEAD 2>/dev/null)
|
|
82
|
+
SCOPE_RANGE="$MERGE_BASE..HEAD"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Branch-based range example:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
BASE_BRANCH="main"
|
|
89
|
+
MERGE_BASE=$(git merge-base "origin/$BASE_BRANCH" HEAD 2>/dev/null || git merge-base "$BASE_BRANCH" HEAD 2>/dev/null)
|
|
90
|
+
SCOPE_RANGE="$MERGE_BASE..HEAD"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Step 1: Gather Scope Evidence (Mode-Aware)
|
|
94
|
+
|
|
95
|
+
For `--files` mode:
|
|
96
|
+
|
|
97
|
+
- Split comma-separated list
|
|
98
|
+
- Validate each file exists
|
|
99
|
+
- Set `FILES_CHANGED` to explicit files
|
|
100
|
+
- Set `SCOPE_RANGE=""` and `COMMITS=""`
|
|
101
|
+
|
|
102
|
+
For `unstaged` mode:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
FILES_CHANGED=$(git diff --name-only 2>/dev/null || true)
|
|
106
|
+
FILE_COUNT=$(echo "$FILES_CHANGED" | sed '/^$/d' | wc -l | awk '{print $1}')
|
|
107
|
+
COMMITS=""
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
For `staged` mode:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
FILES_CHANGED=$(git diff --cached --name-only 2>/dev/null || true)
|
|
114
|
+
FILE_COUNT=$(echo "$FILES_CHANGED" | sed '/^$/d' | wc -l | awk '{print $1}')
|
|
115
|
+
COMMITS=""
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
For commit-range modes:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
FILES_CHANGED=$(git diff --name-only "$SCOPE_RANGE" 2>/dev/null || true)
|
|
122
|
+
FILE_COUNT=$(echo "$FILES_CHANGED" | sed '/^$/d' | wc -l | awk '{print $1}')
|
|
123
|
+
COMMITS=$(git log --oneline "$SCOPE_RANGE" 2>/dev/null || true)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Show the resolved scope and ask for confirmation before review.
|
|
127
|
+
|
|
128
|
+
### Step 2: Resolve Artifact Destination Policy
|
|
129
|
+
|
|
130
|
+
If user requested inline review explicitly, skip file output.
|
|
131
|
+
|
|
132
|
+
Otherwise resolve destination via helper script:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
bash .agents/skills/oat-review-provide/scripts/resolve-review-output.sh --mode auto
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Policy:
|
|
139
|
+
|
|
140
|
+
- If `.oat/repo/reviews` exists and is not gitignored, assume user wants tracked active artifacts there.
|
|
141
|
+
- Otherwise default to active local `.oat/projects/local/orphan-reviews`.
|
|
142
|
+
- Do **not** write new review artifacts directly into any `archived/` directory; those are historical locations used after `oat-review-receive` processes a review.
|
|
143
|
+
- If user preference is unclear, ask and recommend local-only.
|
|
144
|
+
|
|
145
|
+
If user asks for tracked `.oat/repo/reviews` and it is gitignored, warn and ask whether to:
|
|
146
|
+
|
|
147
|
+
- choose a different tracked destination, or
|
|
148
|
+
- use local-only/inline.
|
|
149
|
+
|
|
150
|
+
### Step 3: Determine Output Path (File Mode)
|
|
151
|
+
|
|
152
|
+
Derive a **scope slug** from the resolved scope mode so that the filename indicates what was reviewed:
|
|
153
|
+
|
|
154
|
+
| Scope mode | Slug derivation | Example filename |
|
|
155
|
+
| ---------------------- | ------------------------------------ | --------------------------------------------- |
|
|
156
|
+
| `base_branch=<branch>` | Current branch name | `ad-hoc-review-2026-02-16-oat-repo.md` |
|
|
157
|
+
| `unstaged` | Literal `unstaged` | `ad-hoc-review-2026-02-16-unstaged.md` |
|
|
158
|
+
| `staged` | Literal `staged` | `ad-hoc-review-2026-02-16-staged.md` |
|
|
159
|
+
| `--files <paths>` | First 2–3 basenames, joined with `-` | `ad-hoc-review-2026-02-16-auth-login.md` |
|
|
160
|
+
| `base_sha=<sha>` | Short SHA (7 chars) | `ad-hoc-review-2026-02-16-abc1234.md` |
|
|
161
|
+
| `<sha1>..<sha2>` | Both short SHAs joined with `-` | `ad-hoc-review-2026-02-16-abc1234-def5678.md` |
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
mkdir -p "$OUTPUT_DIR"
|
|
165
|
+
TODAY=$(date +%Y-%m-%d)
|
|
166
|
+
|
|
167
|
+
# Derive SCOPE_SLUG based on scope mode (examples):
|
|
168
|
+
# base_branch → SCOPE_SLUG=$(git branch --show-current | tr '/' '-')
|
|
169
|
+
# unstaged → SCOPE_SLUG="unstaged"
|
|
170
|
+
# staged → SCOPE_SLUG="staged"
|
|
171
|
+
# --files → SCOPE_SLUG from first 2-3 basenames, stripped of extensions, joined with '-'
|
|
172
|
+
# sha range → SCOPE_SLUG from short SHAs
|
|
173
|
+
|
|
174
|
+
# Sanitize: lowercase, replace non-alphanumeric with '-', collapse runs, trim to 40 chars
|
|
175
|
+
SCOPE_SLUG=$(echo "$SCOPE_SLUG" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9-]/-/g; s/--*/-/g; s/^-//; s/-$//' | cut -c1-40)
|
|
176
|
+
|
|
177
|
+
OUT_FILE="$OUTPUT_DIR/ad-hoc-review-${TODAY}-${SCOPE_SLUG}.md"
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
If the file already exists (same scope reviewed twice in one day), suffix with `-v2`, `-v3`, etc.
|
|
181
|
+
|
|
182
|
+
### Step 4: Run Review
|
|
183
|
+
|
|
184
|
+
Use the same severity model and checklist as project reviews:
|
|
185
|
+
|
|
186
|
+
- Critical / Important / Minor findings
|
|
187
|
+
- file:line references
|
|
188
|
+
- actionable fix guidance
|
|
189
|
+
- verification commands
|
|
190
|
+
|
|
191
|
+
Template source of truth:
|
|
192
|
+
|
|
193
|
+
- `.agents/skills/oat-review-provide/references/review-artifact-template.md`
|
|
194
|
+
|
|
195
|
+
### Step 5: Write Artifact or Return Inline
|
|
196
|
+
|
|
197
|
+
- If file mode: write review artifact to `OUT_FILE`.
|
|
198
|
+
- If inline mode: return the same sections directly in session output.
|
|
199
|
+
|
|
200
|
+
### Step 6: Commit Bookkeeping (Tracked Destinations Only)
|
|
201
|
+
|
|
202
|
+
If artifact is in tracked storage (e.g., `.oat/repo/reviews`), ask whether to commit bookkeeping.
|
|
203
|
+
|
|
204
|
+
Suggested commit (when approved):
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
git add "{artifact-path}"
|
|
208
|
+
git commit -m "chore(oat): record ad-hoc review artifact"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
For local-active or inline modes, do not commit unless user explicitly requests.
|
|
212
|
+
|
|
213
|
+
### Step 7: Output Summary
|
|
214
|
+
|
|
215
|
+
Report (required):
|
|
216
|
+
|
|
217
|
+
- scope/range reviewed
|
|
218
|
+
- files reviewed
|
|
219
|
+
- findings counts by severity
|
|
220
|
+
- `Review artifact: {absolute-or-repo-relative path}` (or explicitly `inline-only`)
|
|
221
|
+
- whether bookkeeping commit was created/deferred
|
|
222
|
+
|
|
223
|
+
## Success Criteria
|
|
224
|
+
|
|
225
|
+
- ✅ Scope mode resolved and confirmed (`--files`, `unstaged`, `staged`, or commit range).
|
|
226
|
+
- ✅ Files in scope collected.
|
|
227
|
+
- ✅ Output policy resolved (local-only, tracked, or inline).
|
|
228
|
+
- ✅ Review findings produced with severity + file references.
|
|
229
|
+
- ✅ Review artifact written (or inline review returned).
|
|
230
|
+
- ✅ Artifact location explicitly reported after write.
|
|
231
|
+
- ✅ Tracked bookkeeping commit is explicit (created or intentionally deferred).
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Ad-Hoc Review Artifact Template
|
|
2
|
+
|
|
3
|
+
Use this template for non-project commit-range reviews.
|
|
4
|
+
|
|
5
|
+
````markdown
|
|
6
|
+
---
|
|
7
|
+
oat_generated: true
|
|
8
|
+
oat_generated_at: YYYY-MM-DD
|
|
9
|
+
oat_review_type: code
|
|
10
|
+
oat_review_scope: { scope }
|
|
11
|
+
oat_review_scope_mode: { files|unstaged|staged|range }
|
|
12
|
+
oat_project: null
|
|
13
|
+
oat_review_mode: ad_hoc
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Code Review: {scope}
|
|
17
|
+
|
|
18
|
+
**Reviewed:** YYYY-MM-DD
|
|
19
|
+
**Range:** {SCOPE_RANGE}
|
|
20
|
+
**Files reviewed:** {N}
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
|
|
24
|
+
{2-3 sentence summary}
|
|
25
|
+
|
|
26
|
+
## Findings
|
|
27
|
+
|
|
28
|
+
### Critical
|
|
29
|
+
|
|
30
|
+
{None or list}
|
|
31
|
+
|
|
32
|
+
### Important
|
|
33
|
+
|
|
34
|
+
{None or list}
|
|
35
|
+
|
|
36
|
+
### Minor
|
|
37
|
+
|
|
38
|
+
{None or list}
|
|
39
|
+
|
|
40
|
+
## Verification Commands
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
{command 1}
|
|
44
|
+
{command 2}
|
|
45
|
+
```
|
|
46
|
+
````
|
|
47
|
+
|
|
48
|
+
## Next Step
|
|
49
|
+
|
|
50
|
+
- If this review should feed an OAT project lifecycle, import/attach it to that project and run `oat-project-review-receive`.
|
|
51
|
+
- Otherwise, apply fixes directly and re-run `oat-review-provide` for a follow-up pass.
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# resolve-review-output.sh - resolve default output destination for non-project reviews
|
|
3
|
+
# Usage:
|
|
4
|
+
# resolve-review-output.sh [--mode auto|local|tracked|inline] [--output <path>]
|
|
5
|
+
|
|
6
|
+
set -eu
|
|
7
|
+
|
|
8
|
+
MODE="auto"
|
|
9
|
+
OUTPUT=""
|
|
10
|
+
|
|
11
|
+
usage() {
|
|
12
|
+
cat <<USAGE
|
|
13
|
+
Usage: resolve-review-output.sh [--mode auto|local|tracked|inline] [--output <path>]
|
|
14
|
+
|
|
15
|
+
Resolves output destination for ad-hoc (non-project) review artifacts.
|
|
16
|
+
|
|
17
|
+
Policy:
|
|
18
|
+
- If --output is provided, use it directly.
|
|
19
|
+
- If mode=inline, no artifact file is written.
|
|
20
|
+
- In auto mode:
|
|
21
|
+
- If .oat/repo/reviews exists and is NOT gitignored, use it (tracked convention).
|
|
22
|
+
- Otherwise, use .oat/projects/local/orphan-reviews (local-only default).
|
|
23
|
+
USAGE
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
while [[ $# -gt 0 ]]; do
|
|
27
|
+
case "$1" in
|
|
28
|
+
--mode)
|
|
29
|
+
MODE="$2"
|
|
30
|
+
shift 2
|
|
31
|
+
;;
|
|
32
|
+
--output)
|
|
33
|
+
OUTPUT="$2"
|
|
34
|
+
shift 2
|
|
35
|
+
;;
|
|
36
|
+
-h|--help)
|
|
37
|
+
usage
|
|
38
|
+
exit 0
|
|
39
|
+
;;
|
|
40
|
+
*)
|
|
41
|
+
echo "Unknown argument: $1" >&2
|
|
42
|
+
usage >&2
|
|
43
|
+
exit 1
|
|
44
|
+
;;
|
|
45
|
+
esac
|
|
46
|
+
done
|
|
47
|
+
|
|
48
|
+
case "$MODE" in
|
|
49
|
+
auto|local|tracked|inline) ;;
|
|
50
|
+
*)
|
|
51
|
+
echo "Invalid --mode: $MODE" >&2
|
|
52
|
+
exit 1
|
|
53
|
+
;;
|
|
54
|
+
esac
|
|
55
|
+
|
|
56
|
+
if ! git rev-parse --git-dir > /dev/null 2>&1; then
|
|
57
|
+
echo "Error: Must be run from a git repository" >&2
|
|
58
|
+
exit 1
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
is_gitignored() {
|
|
62
|
+
local path="$1"
|
|
63
|
+
if git check-ignore -q "$path" 2>/dev/null; then
|
|
64
|
+
echo "true"
|
|
65
|
+
else
|
|
66
|
+
echo "false"
|
|
67
|
+
fi
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
# Resolve explicit output first
|
|
71
|
+
if [[ -n "$OUTPUT" ]]; then
|
|
72
|
+
echo "review_mode=file"
|
|
73
|
+
echo "output_dir=$OUTPUT"
|
|
74
|
+
echo "output_kind=custom"
|
|
75
|
+
echo "output_gitignored=$(is_gitignored "$OUTPUT")"
|
|
76
|
+
echo "reason=explicit_output"
|
|
77
|
+
exit 0
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
if [[ "$MODE" == "inline" ]]; then
|
|
81
|
+
echo "review_mode=inline"
|
|
82
|
+
echo "output_dir="
|
|
83
|
+
echo "output_kind=inline"
|
|
84
|
+
echo "output_gitignored=n/a"
|
|
85
|
+
echo "reason=inline_mode"
|
|
86
|
+
exit 0
|
|
87
|
+
fi
|
|
88
|
+
|
|
89
|
+
TRACKED_DIR=".oat/repo/reviews"
|
|
90
|
+
LOCAL_DIR=".oat/projects/local/orphan-reviews"
|
|
91
|
+
|
|
92
|
+
if [[ "$MODE" == "tracked" ]]; then
|
|
93
|
+
echo "review_mode=file"
|
|
94
|
+
echo "output_dir=$TRACKED_DIR"
|
|
95
|
+
echo "output_kind=tracked"
|
|
96
|
+
echo "output_gitignored=$(is_gitignored "$TRACKED_DIR")"
|
|
97
|
+
echo "reason=forced_tracked"
|
|
98
|
+
exit 0
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
if [[ "$MODE" == "local" ]]; then
|
|
102
|
+
echo "review_mode=file"
|
|
103
|
+
echo "output_dir=$LOCAL_DIR"
|
|
104
|
+
echo "output_kind=local"
|
|
105
|
+
echo "output_gitignored=$(is_gitignored "$LOCAL_DIR")"
|
|
106
|
+
echo "reason=forced_local"
|
|
107
|
+
exit 0
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
# auto mode
|
|
111
|
+
if [[ -d "$TRACKED_DIR" ]] && [[ "$(is_gitignored "$TRACKED_DIR")" == "false" ]]; then
|
|
112
|
+
echo "review_mode=file"
|
|
113
|
+
echo "output_dir=$TRACKED_DIR"
|
|
114
|
+
echo "output_kind=tracked"
|
|
115
|
+
echo "output_gitignored=false"
|
|
116
|
+
echo "reason=existing_tracked_dir"
|
|
117
|
+
exit 0
|
|
118
|
+
fi
|
|
119
|
+
|
|
120
|
+
echo "review_mode=file"
|
|
121
|
+
echo "output_dir=$LOCAL_DIR"
|
|
122
|
+
echo "output_kind=local"
|
|
123
|
+
echo "output_gitignored=$(is_gitignored "$LOCAL_DIR")"
|
|
124
|
+
echo "reason=default_local_only"
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oat-review-receive
|
|
3
|
+
version: 1.2.0
|
|
4
|
+
description: Use when processing review findings outside project context. Converts local review artifacts into actionable task lists.
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
user-invocable: true
|
|
7
|
+
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Review Receive (Ad-hoc Local)
|
|
11
|
+
|
|
12
|
+
Process local review artifacts into a normalized findings register and generate actionable standalone tasks.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
- A review artifact exists locally (`.md`).
|
|
17
|
+
- User wants ad-hoc triage without mutating OAT project lifecycle artifacts.
|
|
18
|
+
|
|
19
|
+
## Mode Assertion
|
|
20
|
+
|
|
21
|
+
**OAT MODE: Review Receive**
|
|
22
|
+
|
|
23
|
+
**Purpose:** Parse local review findings, classify severity consistently, triage disposition with user input, and generate a task list.
|
|
24
|
+
|
|
25
|
+
**BLOCKED Activities:**
|
|
26
|
+
|
|
27
|
+
- No implementation/code changes.
|
|
28
|
+
- No `plan.md`, `state.md`, or `implementation.md` lifecycle mutations.
|
|
29
|
+
- No silent dismissal/defer decisions.
|
|
30
|
+
|
|
31
|
+
**ALLOWED Activities:**
|
|
32
|
+
|
|
33
|
+
- Locating review artifacts.
|
|
34
|
+
- Parsing markdown findings into normalized records.
|
|
35
|
+
- Presenting findings counts and summaries.
|
|
36
|
+
- Interactive triage (`convert`, `defer`, `dismiss`).
|
|
37
|
+
- Writing standalone task-list output.
|
|
38
|
+
|
|
39
|
+
**Self-Correction Protocol:**
|
|
40
|
+
If you catch yourself:
|
|
41
|
+
|
|
42
|
+
- Editing project lifecycle docs in ad-hoc mode -> STOP and revert to task-list output only.
|
|
43
|
+
- Triaging without presenting a findings overview first -> STOP and show overview before disposition prompts.
|
|
44
|
+
- Skipping Medium finding rationale when proposing deferral -> STOP and collect explicit rationale.
|
|
45
|
+
|
|
46
|
+
**Recovery:**
|
|
47
|
+
|
|
48
|
+
1. Re-locate review artifact from the path provided or last known location.
|
|
49
|
+
2. Re-parse findings from the artifact (idempotent — no state mutation in ad-hoc mode).
|
|
50
|
+
3. Resume triage from the first un-dispositioned finding.
|
|
51
|
+
|
|
52
|
+
## Progress Indicators (User-Facing)
|
|
53
|
+
|
|
54
|
+
Print this banner once at start:
|
|
55
|
+
|
|
56
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
57
|
+
OAT ▸ REVIEW RECEIVE
|
|
58
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
59
|
+
|
|
60
|
+
Use these step indicators:
|
|
61
|
+
|
|
62
|
+
- `[1/4] Locating review artifact...`
|
|
63
|
+
- `[2/4] Parsing findings...`
|
|
64
|
+
- `[3/4] Triaging findings...`
|
|
65
|
+
- `[4/4] Generating task list...`
|
|
66
|
+
|
|
67
|
+
## Findings Model
|
|
68
|
+
|
|
69
|
+
Normalize every finding to this shape:
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
finding:
|
|
73
|
+
id: "C1" | "I1" | "M1" | "m1"
|
|
74
|
+
severity: critical | important | medium | minor
|
|
75
|
+
title: string
|
|
76
|
+
file: string | null
|
|
77
|
+
line: number | null
|
|
78
|
+
body: string
|
|
79
|
+
fix_guidance: string | null
|
|
80
|
+
source: local_artifact
|
|
81
|
+
source_ref: string
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Severity conventions:
|
|
85
|
+
|
|
86
|
+
- `critical`: Missing P0 requirements, security vulnerabilities, broken behavior.
|
|
87
|
+
- `important`: Missing P1 requirements, major error-handling or maintainability gaps.
|
|
88
|
+
- `medium`: P2 issues with meaningful impact.
|
|
89
|
+
- `minor`: Low-impact polish/documentation/style issues.
|
|
90
|
+
|
|
91
|
+
ID conventions:
|
|
92
|
+
|
|
93
|
+
- Critical: `C1`, `C2`, ...
|
|
94
|
+
- Important: `I1`, `I2`, ...
|
|
95
|
+
- Medium: `M1`, `M2`, ...
|
|
96
|
+
- Minor: `m1`, `m2`, ...
|
|
97
|
+
|
|
98
|
+
## Process
|
|
99
|
+
|
|
100
|
+
### Step 1: Locate Active Review Artifact
|
|
101
|
+
|
|
102
|
+
Artifact source priority:
|
|
103
|
+
|
|
104
|
+
1. Explicit path from `$ARGUMENTS`
|
|
105
|
+
2. Most recent top-level file under `.oat/repo/reviews/`
|
|
106
|
+
3. Most recent top-level file under `.oat/projects/local/orphan-reviews/`
|
|
107
|
+
|
|
108
|
+
Discovery command example:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
ls -t .oat/repo/reviews/*.md .oat/projects/local/orphan-reviews/*.md 2>/dev/null | head -20
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Selection rules:
|
|
115
|
+
|
|
116
|
+
- Ignore `.oat/repo/reviews/archived/` and `.oat/projects/local/orphan-reviews/archived/`.
|
|
117
|
+
- Treat archived review artifacts as history; do not re-triage them by default.
|
|
118
|
+
- If an explicit path points into an `archived/` directory, stop and ask for an active review artifact instead.
|
|
119
|
+
|
|
120
|
+
If multiple candidates exist, auto-select the most recent by `oat_generated_at` frontmatter date (not filesystem mtime, which is unreliable across branches). Inform the user which artifact was selected and list any others for awareness. Do not prompt for selection.
|
|
121
|
+
|
|
122
|
+
Validation:
|
|
123
|
+
|
|
124
|
+
- File exists and is readable.
|
|
125
|
+
- Extension is `.md` (or confirm nonstandard markdown extension).
|
|
126
|
+
- Content is non-empty.
|
|
127
|
+
|
|
128
|
+
### Step 2: Parse Findings
|
|
129
|
+
|
|
130
|
+
Parse by severity sections/headings using case-insensitive matching:
|
|
131
|
+
|
|
132
|
+
- `Critical`
|
|
133
|
+
- `Important`
|
|
134
|
+
- `Medium`
|
|
135
|
+
- `Minor`
|
|
136
|
+
|
|
137
|
+
Compatibility rule:
|
|
138
|
+
|
|
139
|
+
- If artifact uses a 3-tier model (no Medium section), treat Medium as zero findings.
|
|
140
|
+
|
|
141
|
+
Extraction guidance per finding item:
|
|
142
|
+
|
|
143
|
+
- Derive `title` from first concise clause/line.
|
|
144
|
+
- Extract `file` + `line` if present in common patterns (`path:line`, fenced diff context, inline references).
|
|
145
|
+
- Populate `body` with the finding detail.
|
|
146
|
+
- Populate `fix_guidance` when explicit fix direction exists.
|
|
147
|
+
- Set `source: local_artifact`.
|
|
148
|
+
- Set `source_ref` to the artifact path.
|
|
149
|
+
|
|
150
|
+
### Step 3: Present Findings Overview
|
|
151
|
+
|
|
152
|
+
Before asking for dispositions, print:
|
|
153
|
+
|
|
154
|
+
- Total counts per severity.
|
|
155
|
+
- A compact finding register grouped by severity, each showing:
|
|
156
|
+
- `id`
|
|
157
|
+
- `title`
|
|
158
|
+
- `file:line` (or `-`)
|
|
159
|
+
|
|
160
|
+
Example summary:
|
|
161
|
+
|
|
162
|
+
```text
|
|
163
|
+
Critical: 1
|
|
164
|
+
Important: 2
|
|
165
|
+
Medium: 1
|
|
166
|
+
Minor: 3
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
If there are zero findings across all severities, output a clean result and stop.
|
|
170
|
+
|
|
171
|
+
### Step 4: Interactive Triage
|
|
172
|
+
|
|
173
|
+
For each finding, ask for disposition:
|
|
174
|
+
|
|
175
|
+
- `convert` -> create standalone task entry
|
|
176
|
+
- `defer` -> keep out of current task list, record reason
|
|
177
|
+
- `dismiss` -> close without task, record reason
|
|
178
|
+
|
|
179
|
+
Default suggestions:
|
|
180
|
+
|
|
181
|
+
- Critical -> `convert`
|
|
182
|
+
- Important -> `convert`
|
|
183
|
+
- Medium -> `convert` (propose `defer` only with concrete rationale)
|
|
184
|
+
- Minor -> `defer`
|
|
185
|
+
|
|
186
|
+
Rules:
|
|
187
|
+
|
|
188
|
+
- Require explicit rationale for `defer` or `dismiss`.
|
|
189
|
+
- Do not silently skip findings.
|
|
190
|
+
|
|
191
|
+
### Step 5: Generate Task List Output
|
|
192
|
+
|
|
193
|
+
Generate standalone markdown tasks (no plan task IDs):
|
|
194
|
+
|
|
195
|
+
```markdown
|
|
196
|
+
- [ ] [critical] Fix auth bypass in token validator (`src/auth/token.ts:91`) - Enforce issuer/audience validation.
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Output modes:
|
|
200
|
+
|
|
201
|
+
- Inline (default)
|
|
202
|
+
- File output path (if user requests), for example:
|
|
203
|
+
- `.oat/projects/local/orphan-reviews/review-tasks-YYYY-MM-DD.md`
|
|
204
|
+
|
|
205
|
+
Also output deferred and dismissed findings with reasons.
|
|
206
|
+
|
|
207
|
+
### Step 6: Archive the Consumed Review Artifact
|
|
208
|
+
|
|
209
|
+
After triage is complete, move the processed review artifact into a sibling `archived/` directory and report the archived path:
|
|
210
|
+
|
|
211
|
+
- `.oat/repo/reviews/{file}.md` -> `.oat/repo/reviews/archived/{file}.md`
|
|
212
|
+
- `.oat/projects/local/orphan-reviews/{file}.md` -> `.oat/projects/local/orphan-reviews/archived/{file}.md`
|
|
213
|
+
|
|
214
|
+
Rules:
|
|
215
|
+
|
|
216
|
+
- Create the `archived/` directory if needed.
|
|
217
|
+
- If the archive target already exists, append a timestamp suffix before moving so prior history is not overwritten.
|
|
218
|
+
- Keep the archived path in the final output contract.
|
|
219
|
+
|
|
220
|
+
## Output Contract
|
|
221
|
+
|
|
222
|
+
At completion, report:
|
|
223
|
+
|
|
224
|
+
- Artifact path used
|
|
225
|
+
- Archived artifact path
|
|
226
|
+
- Counts by severity
|
|
227
|
+
- Number converted/deferred/dismissed
|
|
228
|
+
- Task list location (`inline` or file path)
|
|
229
|
+
|
|
230
|
+
## Success Criteria
|
|
231
|
+
|
|
232
|
+
- Local artifact resolved and validated.
|
|
233
|
+
- Findings parsed into 4-tier normalized structure.
|
|
234
|
+
- Findings overview displayed before triage.
|
|
235
|
+
- Every finding dispositioned with rationale where needed.
|
|
236
|
+
- Standalone task list generated in requested output mode.
|
|
237
|
+
- Consumed review artifact archived in the matching `archived/` directory.
|
|
238
|
+
- Skill remains within content budget (`<=500` lines).
|