@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,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oat-repo-maintainability-review
|
|
3
|
+
version: 1.2.0
|
|
4
|
+
description: Use when you need a structured maintainability analysis for a repository or directory target with actionable findings.
|
|
5
|
+
argument-hint: '[--scope repo|directory] [--target <path>] [--mode auto|tracked|local|inline] [--output <path>] [--focus <areas>] [--analysis-mode full] [--fan-out]'
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
user-invocable: true
|
|
8
|
+
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Repo Maintainability Review
|
|
12
|
+
|
|
13
|
+
Analyze repository maintainability and developer experience using a deterministic rubric and output contract.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
- Active git repository with readable source files.
|
|
18
|
+
- Scope resolved as `repo` or `directory`.
|
|
19
|
+
- When using `directory`, target path must be inside repository root.
|
|
20
|
+
|
|
21
|
+
## Mode Assertion
|
|
22
|
+
|
|
23
|
+
**OAT MODE: Repo Maintainability Review**
|
|
24
|
+
|
|
25
|
+
**Purpose:** Produce evidence-backed maintainability findings and a prioritized execution plan.
|
|
26
|
+
|
|
27
|
+
**BLOCKED Activities:**
|
|
28
|
+
|
|
29
|
+
- No code modification tasks.
|
|
30
|
+
- No issue/ticket automation.
|
|
31
|
+
|
|
32
|
+
**ALLOWED Activities:**
|
|
33
|
+
|
|
34
|
+
- Repository evidence collection.
|
|
35
|
+
- Structured scoring and synthesis.
|
|
36
|
+
- Artifact generation in tracked/local/inline modes.
|
|
37
|
+
|
|
38
|
+
## Progress Indicators (User-Facing)
|
|
39
|
+
|
|
40
|
+
- Print a phase banner once at start:
|
|
41
|
+
- `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`
|
|
42
|
+
- ` OAT ▸ REPO MAINTAINABILITY REVIEW`
|
|
43
|
+
- `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`
|
|
44
|
+
- Print step indicators before major work:
|
|
45
|
+
- `[1/5] Resolving scope, arguments, and output policy...`
|
|
46
|
+
- `[2/5] Collecting repository evidence...`
|
|
47
|
+
- `[3/5] Running dimension analysis (single-agent or multi-agent)...`
|
|
48
|
+
- `[4/5] Synthesizing findings and scoring...`
|
|
49
|
+
- `[5/5] Rendering artifact and summary...`
|
|
50
|
+
- For long-running fan-out or large scans, print start + completion lines.
|
|
51
|
+
- Print a resolved run-options summary before evidence collection begins.
|
|
52
|
+
|
|
53
|
+
## Process
|
|
54
|
+
|
|
55
|
+
1. Resolve invocation args and validate scope/target.
|
|
56
|
+
2. Resolve missing/ambiguous required args using provider-aware clarification.
|
|
57
|
+
3. Resolve output policy.
|
|
58
|
+
4. Gather evidence across required dimensions.
|
|
59
|
+
5. Synthesize findings into prioritized recommendations.
|
|
60
|
+
6. Render artifact or return inline output.
|
|
61
|
+
|
|
62
|
+
### Output Policy Resolution
|
|
63
|
+
|
|
64
|
+
Use the helper script to resolve destination policy:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
bash .agents/skills/oat-repo-maintainability-review/scripts/resolve-analysis-output.sh --mode auto
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Rules:
|
|
71
|
+
|
|
72
|
+
- `--output` takes precedence over mode-derived destination.
|
|
73
|
+
- `inline` emits no file artifact.
|
|
74
|
+
- Tracked naming contract: `.oat/repo/analysis/<YYYY-MM-DD>-repo-review-analysis.md`.
|
|
75
|
+
- If the same-day filename already exists, append `-2`, `-3`, etc.
|
|
76
|
+
|
|
77
|
+
### Required Analysis Dimensions
|
|
78
|
+
|
|
79
|
+
Every run must cover all required dimensions:
|
|
80
|
+
|
|
81
|
+
- `Architecture` - module boundaries, coupling, and system organization.
|
|
82
|
+
- `Conventions` - coding patterns, consistency, and repository standards.
|
|
83
|
+
- `Documentation` - onboarding quality, runbooks, and operational docs.
|
|
84
|
+
- `DX` - developer workflows, tooling friction, and feedback loops.
|
|
85
|
+
- `Testing` - test strategy depth, reliability signals, and failure clarity.
|
|
86
|
+
- `Maintainability` - ownership clarity, change safety, and delivery risk.
|
|
87
|
+
|
|
88
|
+
### Evidence and Confidence Rules
|
|
89
|
+
|
|
90
|
+
- Every finding must include at least one concrete evidence bullet.
|
|
91
|
+
- Evidence should reference specific files, commands, or repository structures.
|
|
92
|
+
- Confidence must align with evidence depth:
|
|
93
|
+
- `High` when multiple strong signals agree.
|
|
94
|
+
- `Medium` when evidence is sufficient but incomplete.
|
|
95
|
+
- `Low` when evidence is directional and requires validation.
|
|
96
|
+
- If no issue is found for a dimension, provide a concise "no critical issues observed" note with supporting context.
|
|
97
|
+
|
|
98
|
+
### Synthesis and Dedupe Rules
|
|
99
|
+
|
|
100
|
+
- Dedupe overlap key:
|
|
101
|
+
- same `category`
|
|
102
|
+
- same normalized path token (file path, package, or module)
|
|
103
|
+
- semantically equivalent finding title
|
|
104
|
+
- Concern precedence during merge:
|
|
105
|
+
- `Critical > High > Medium > Low`
|
|
106
|
+
- merged finding keeps the strongest Concern
|
|
107
|
+
- Material disagreement threshold:
|
|
108
|
+
- Concern differs by 2+ levels, or
|
|
109
|
+
- Value differs by 2+ levels
|
|
110
|
+
- When material disagreement is detected, add a `merge note` evidence bullet explaining the reconciliation decision.
|
|
111
|
+
|
|
112
|
+
### Prioritization Output Requirements
|
|
113
|
+
|
|
114
|
+
- Split findings into:
|
|
115
|
+
- `Quick Wins (XS/S)`
|
|
116
|
+
- `Strategic Initiatives (M/L/XL)`
|
|
117
|
+
- Build an execution sequence using `Now / Next / Later`.
|
|
118
|
+
- Ensure prioritization appears in both artifact sections and final summary guidance.
|
|
119
|
+
|
|
120
|
+
### Automatic Delegation (When Supported)
|
|
121
|
+
|
|
122
|
+
- If runtime supports subagents or multi-agent execution, delegate automatically.
|
|
123
|
+
- Delegation is orchestrator-selected behavior, not a user-selected execution mode.
|
|
124
|
+
- Do not require a custom subagent role; use generic spawned workers with explicit prompts.
|
|
125
|
+
- Spawn one worker per analysis track:
|
|
126
|
+
- `Architecture`
|
|
127
|
+
- `Conventions`
|
|
128
|
+
- `Documentation`
|
|
129
|
+
- `DX`
|
|
130
|
+
- `Testing`
|
|
131
|
+
- `Maintainability`
|
|
132
|
+
- Worker prompt must include:
|
|
133
|
+
- scope and target path
|
|
134
|
+
- required finding schema
|
|
135
|
+
- evidence and confidence requirements
|
|
136
|
+
- Wait for all workers to complete, then synthesize using dedupe/merge rules.
|
|
137
|
+
- Summarize one result block per analysis track before final merged summary.
|
|
138
|
+
- Enforce schema parity between delegated outputs and single-agent baseline outputs.
|
|
139
|
+
- If delegation is unavailable, run the same tracks sequentially without behavior loss.
|
|
140
|
+
|
|
141
|
+
Provider notes:
|
|
142
|
+
|
|
143
|
+
- Claude Code: use Task/subagent dispatch when available.
|
|
144
|
+
- Codex: spawn a worker per track (generic multi-agent worker), wait for all, then merge.
|
|
145
|
+
- Cursor: invoke available subagent capability (`/name` or natural mention) per track when supported.
|
|
146
|
+
|
|
147
|
+
### Required-Argument Clarification
|
|
148
|
+
|
|
149
|
+
- Required arguments must be resolved before analysis starts.
|
|
150
|
+
- Clarification channel priority:
|
|
151
|
+
1. Use `AskUserQuestion` when running in Claude with tool availability.
|
|
152
|
+
2. Use Codex structured user-input tooling when available in the current Codex host/runtime.
|
|
153
|
+
3. Fall back to direct plain-language prompts when structured tools are unavailable.
|
|
154
|
+
- Clarification remains blocking in all modes: do not continue until answers are explicit.
|
|
155
|
+
- After clarification, print run options:
|
|
156
|
+
- `scope`
|
|
157
|
+
- `target`
|
|
158
|
+
- `mode`
|
|
159
|
+
- `analysis-mode`
|
|
160
|
+
- delegation state (`multi-agent` or `single-agent`)
|
|
161
|
+
- `focus` selection (or `none`)
|
|
162
|
+
- Clarification channel details are for internal logging only; do not expose channel identifiers in the end-user summary.
|
|
163
|
+
|
|
164
|
+
### Invalid Target Handling
|
|
165
|
+
|
|
166
|
+
- If target path is invalid, stop execution and return actionable guidance.
|
|
167
|
+
- Invalid target conditions:
|
|
168
|
+
- target does not exist
|
|
169
|
+
- target resolves outside the repository root
|
|
170
|
+
- target type is incompatible with requested scope
|
|
171
|
+
- Error output must include:
|
|
172
|
+
- resolved target path
|
|
173
|
+
- why it is invalid
|
|
174
|
+
- valid target examples
|
|
175
|
+
- Do not continue analysis until a corrected target is provided.
|
|
176
|
+
|
|
177
|
+
### Completion Summary Contract
|
|
178
|
+
|
|
179
|
+
Final user-facing summary must include:
|
|
180
|
+
|
|
181
|
+
- Findings by Concern
|
|
182
|
+
- `Critical`
|
|
183
|
+
- `High`
|
|
184
|
+
- `Medium`
|
|
185
|
+
- `Low`
|
|
186
|
+
- Findings by Value
|
|
187
|
+
- `High`
|
|
188
|
+
- `Medium`
|
|
189
|
+
- `Low`
|
|
190
|
+
- Artifact path (`inline-only` when no file is emitted)
|
|
191
|
+
- Execution mode (`single-agent` or `multi-agent`)
|
|
192
|
+
|
|
193
|
+
## Success Criteria
|
|
194
|
+
|
|
195
|
+
- Output includes required sections and metadata.
|
|
196
|
+
- Findings include scoring fields and evidence.
|
|
197
|
+
- Result includes now/next/later execution guidance.
|
|
198
|
+
- Required arguments are explicitly resolved before analysis execution.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# DX Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist during analysis. Include relevant checks in repo and directory scopes.
|
|
4
|
+
|
|
5
|
+
## Setup and Tooling
|
|
6
|
+
|
|
7
|
+
- Are setup steps documented and reproducible?
|
|
8
|
+
- Are required runtime/tool versions explicit?
|
|
9
|
+
- Are onboarding commands current and verifiable?
|
|
10
|
+
|
|
11
|
+
## Feedback Loops
|
|
12
|
+
|
|
13
|
+
- Is lint/type/test feedback fast enough for iterative work?
|
|
14
|
+
- Are failures actionable and clear?
|
|
15
|
+
- Are common workflows scriptable and discoverable?
|
|
16
|
+
|
|
17
|
+
## Developer Friction
|
|
18
|
+
|
|
19
|
+
- Are repetitive manual steps still required?
|
|
20
|
+
- Are local/dev workflows consistent across packages?
|
|
21
|
+
- Are debugging and tracing paths documented?
|
|
22
|
+
|
|
23
|
+
## Reliability of DX Signals
|
|
24
|
+
|
|
25
|
+
- Do tests/lint/type-check cover common change paths?
|
|
26
|
+
- Are flaky or non-deterministic workflows identified?
|
|
27
|
+
- Are confidence notes included when evidence is weak?
|
|
28
|
+
|
|
29
|
+
## Verification Runbook
|
|
30
|
+
|
|
31
|
+
- Validate repo scope run includes all required sections and scoring summary.
|
|
32
|
+
- Validate directory scope run remains constrained to the requested target.
|
|
33
|
+
- Validate inline mode returns complete summary fields without file writes.
|
package/assets/skills/oat-repo-maintainability-review/references/repo-review-artifact-template.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Repo Review Artifact Template
|
|
2
|
+
|
|
3
|
+
Use this template for tracked/local file output and for structuring inline responses.
|
|
4
|
+
|
|
5
|
+
## Required Frontmatter
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
---
|
|
9
|
+
oat_generated: true
|
|
10
|
+
oat_generated_at: YYYY-MM-DD
|
|
11
|
+
oat_analysis_type: repo-review
|
|
12
|
+
oat_analysis_scope: repo|directory
|
|
13
|
+
oat_analysis_target: <path>
|
|
14
|
+
oat_analysis_mode: full
|
|
15
|
+
oat_output_mode: auto|tracked|local|inline
|
|
16
|
+
oat_analysis_commit: <sha>
|
|
17
|
+
---
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Required Sections
|
|
21
|
+
|
|
22
|
+
1. Executive Summary
|
|
23
|
+
2. Scoring Summary
|
|
24
|
+
3. Prioritized Findings
|
|
25
|
+
4. Quick Wins (XS/S)
|
|
26
|
+
5. Strategic Initiatives (M/L/XL)
|
|
27
|
+
6. Suggested Execution Plan (Now / Next / Later)
|
|
28
|
+
7. Appendix (inventory metrics + assumptions)
|
|
29
|
+
|
|
30
|
+
## Finding Schema
|
|
31
|
+
|
|
32
|
+
Each finding entry should include:
|
|
33
|
+
|
|
34
|
+
- `id`
|
|
35
|
+
- `title`
|
|
36
|
+
- `category`
|
|
37
|
+
- `Concern`
|
|
38
|
+
- `Value`
|
|
39
|
+
- `Scope`
|
|
40
|
+
- `Confidence`
|
|
41
|
+
- `Evidence`
|
|
42
|
+
- `Why this matters`
|
|
43
|
+
- `Recommended action`
|
|
44
|
+
- `Suggested owner`
|
|
45
|
+
- `Dependencies`
|
|
46
|
+
- `Success criteria`
|
|
47
|
+
|
|
48
|
+
## Completion Summary (User-Facing)
|
|
49
|
+
|
|
50
|
+
Include a concise completion summary after analysis:
|
|
51
|
+
|
|
52
|
+
- `findings by Concern` (`Critical`, `High`, `Medium`, `Low`)
|
|
53
|
+
- `findings by Value` (`High`, `Medium`, `Low`)
|
|
54
|
+
- `artifact path` (or `inline-only`)
|
|
55
|
+
- `execution mode` (`single-agent` or `fan-out`)
|
|
56
|
+
|
|
57
|
+
Do not include the clarification channel in this summary.
|
|
58
|
+
|
|
59
|
+
## Verification Commands
|
|
60
|
+
|
|
61
|
+
Use these checks before declaring completion:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Repo scope dry check
|
|
65
|
+
rg -n "Executive Summary|Scoring Summary|Prioritized Findings|Quick Wins|Strategic Initiatives|Now / Next / Later" <artifact-or-inline-draft>
|
|
66
|
+
|
|
67
|
+
# Directory-scope dry check
|
|
68
|
+
echo "<resolved-target>" | rg -n "^[^/]|."
|
|
69
|
+
|
|
70
|
+
# Inline-mode contract check
|
|
71
|
+
rg -n "findings by Concern|findings by Value|artifact path|execution mode" <artifact-or-inline-draft>
|
|
72
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Repo Review Rubric
|
|
2
|
+
|
|
3
|
+
## Scoring Labels
|
|
4
|
+
|
|
5
|
+
### Concern
|
|
6
|
+
|
|
7
|
+
- `Critical`: Immediate risk; likely production, security, or severe delivery impact.
|
|
8
|
+
- `High`: Significant quality or delivery risk that should be addressed soon.
|
|
9
|
+
- `Medium`: Meaningful issue with moderate impact.
|
|
10
|
+
- `Low`: Minor issue with limited near-term impact.
|
|
11
|
+
|
|
12
|
+
### Value
|
|
13
|
+
|
|
14
|
+
- `High`: Fix unlocks major reliability, velocity, or clarity gains.
|
|
15
|
+
- `Medium`: Fix delivers noticeable but bounded improvement.
|
|
16
|
+
- `Low`: Fix is incremental.
|
|
17
|
+
|
|
18
|
+
### Scope
|
|
19
|
+
|
|
20
|
+
- `XS`: Single-file or very small localized change.
|
|
21
|
+
- `S`: Small bounded change with minimal coordination.
|
|
22
|
+
- `M`: Multi-file change in one subsystem.
|
|
23
|
+
- `L`: Cross-subsystem change with broader testing needs.
|
|
24
|
+
- `XL`: Program-level initiative across teams/modules.
|
|
25
|
+
|
|
26
|
+
### Confidence
|
|
27
|
+
|
|
28
|
+
- `High`: Strong evidence from multiple direct signals.
|
|
29
|
+
- `Medium`: Good evidence with some assumptions.
|
|
30
|
+
- `Low`: Limited evidence; requires targeted validation.
|
|
31
|
+
|
|
32
|
+
## Required Categories
|
|
33
|
+
|
|
34
|
+
- `Architecture`
|
|
35
|
+
- `Conventions`
|
|
36
|
+
- `Documentation`
|
|
37
|
+
- `DX`
|
|
38
|
+
- `Testing` (include reliability observations in this category)
|
|
39
|
+
- `Maintainability`
|
|
40
|
+
|
|
41
|
+
## Evidence Quality Rules
|
|
42
|
+
|
|
43
|
+
- Every finding must include at least one concrete evidence bullet.
|
|
44
|
+
- Evidence should reference files, commands, or repository structures.
|
|
45
|
+
- Confidence should match evidence depth.
|
|
46
|
+
|
|
47
|
+
## Actionability Rules
|
|
48
|
+
|
|
49
|
+
- Recommended actions should be specific and executable.
|
|
50
|
+
- Success criteria should be testable or observable.
|
|
51
|
+
- Suggested owners should map to realistic team boundaries.
|
|
52
|
+
|
|
53
|
+
## Merge and Dedupe Policy
|
|
54
|
+
|
|
55
|
+
Use this policy whenever findings from multiple dimensions overlap:
|
|
56
|
+
|
|
57
|
+
- Overlap detection key:
|
|
58
|
+
- same `category`
|
|
59
|
+
- same normalized path token (file, package, or module)
|
|
60
|
+
- equivalent title intent
|
|
61
|
+
- Concern precedence:
|
|
62
|
+
- `Critical > High > Medium > Low`
|
|
63
|
+
- Material disagreement threshold:
|
|
64
|
+
- Concern differs by 2+ levels, or
|
|
65
|
+
- Value differs by 2+ levels
|
|
66
|
+
- If material disagreement exists, preserve strongest Concern and add a required `merge note` under evidence explaining the normalization decision.
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# resolve-analysis-output.sh - resolve output destination for repo review analysis artifacts
|
|
3
|
+
# Usage:
|
|
4
|
+
# resolve-analysis-output.sh [--mode auto|local|tracked|inline] [--output <path>]
|
|
5
|
+
|
|
6
|
+
set -eu
|
|
7
|
+
|
|
8
|
+
MODE="auto"
|
|
9
|
+
OUTPUT=""
|
|
10
|
+
TRACKED_DIR=".oat/repo/analysis"
|
|
11
|
+
LOCAL_DIR=".oat/projects/local/analysis"
|
|
12
|
+
|
|
13
|
+
usage() {
|
|
14
|
+
cat <<USAGE
|
|
15
|
+
Usage: resolve-analysis-output.sh [--mode auto|local|tracked|inline] [--output <path>]
|
|
16
|
+
|
|
17
|
+
Resolves output destination for repo review analysis artifacts.
|
|
18
|
+
|
|
19
|
+
Policy:
|
|
20
|
+
- If --output is provided, it overrides mode-derived destination.
|
|
21
|
+
- If mode=inline, no file artifact is written.
|
|
22
|
+
- In auto mode:
|
|
23
|
+
- If .oat/repo/analysis exists and is NOT gitignored, use tracked output.
|
|
24
|
+
- Otherwise, use local-only output under .oat/projects/local/analysis.
|
|
25
|
+
- Default filename contract:
|
|
26
|
+
<YYYY-MM-DD>-repo-review-analysis.md
|
|
27
|
+
with same-day suffixes -2, -3, ... when needed.
|
|
28
|
+
USAGE
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
while [[ $# -gt 0 ]]; do
|
|
32
|
+
case "$1" in
|
|
33
|
+
--mode)
|
|
34
|
+
if [[ $# -lt 2 ]]; then
|
|
35
|
+
echo "Missing value for --mode" >&2
|
|
36
|
+
exit 1
|
|
37
|
+
fi
|
|
38
|
+
MODE="$2"
|
|
39
|
+
shift 2
|
|
40
|
+
;;
|
|
41
|
+
--output)
|
|
42
|
+
if [[ $# -lt 2 ]]; then
|
|
43
|
+
echo "Missing value for --output" >&2
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
OUTPUT="$2"
|
|
47
|
+
shift 2
|
|
48
|
+
;;
|
|
49
|
+
-h|--help)
|
|
50
|
+
usage
|
|
51
|
+
exit 0
|
|
52
|
+
;;
|
|
53
|
+
*)
|
|
54
|
+
echo "Unknown argument: $1" >&2
|
|
55
|
+
usage >&2
|
|
56
|
+
exit 1
|
|
57
|
+
;;
|
|
58
|
+
esac
|
|
59
|
+
done
|
|
60
|
+
|
|
61
|
+
case "$MODE" in
|
|
62
|
+
auto|local|tracked|inline) ;;
|
|
63
|
+
*)
|
|
64
|
+
echo "Invalid --mode: $MODE" >&2
|
|
65
|
+
exit 1
|
|
66
|
+
;;
|
|
67
|
+
esac
|
|
68
|
+
|
|
69
|
+
if ! git rev-parse --git-dir >/dev/null 2>&1; then
|
|
70
|
+
echo "Error: Must be run from a git repository" >&2
|
|
71
|
+
exit 1
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
is_gitignored() {
|
|
75
|
+
local path="$1"
|
|
76
|
+
# Best-effort for non-existent paths: gitignore evaluation may be incomplete.
|
|
77
|
+
if git check-ignore -q "$path" 2>/dev/null; then
|
|
78
|
+
echo "true"
|
|
79
|
+
else
|
|
80
|
+
echo "false"
|
|
81
|
+
fi
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
next_default_output_path() {
|
|
85
|
+
local dir="$1"
|
|
86
|
+
local today base candidate n
|
|
87
|
+
today=$(date +%Y-%m-%d)
|
|
88
|
+
base="${today}-repo-review-analysis.md"
|
|
89
|
+
candidate="$dir/$base"
|
|
90
|
+
|
|
91
|
+
if [[ ! -e "$candidate" ]]; then
|
|
92
|
+
printf '%s\n' "$candidate"
|
|
93
|
+
return
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
n=2
|
|
97
|
+
while [[ -e "$dir/${today}-repo-review-analysis-${n}.md" ]]; do
|
|
98
|
+
n=$((n + 1))
|
|
99
|
+
done
|
|
100
|
+
printf '%s\n' "$dir/${today}-repo-review-analysis-${n}.md"
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
emit_file_result() {
|
|
104
|
+
local kind="$1"
|
|
105
|
+
local output_path="$2"
|
|
106
|
+
local reason="$3"
|
|
107
|
+
|
|
108
|
+
echo "analysis_mode=file"
|
|
109
|
+
echo "output_path=$output_path"
|
|
110
|
+
echo "output_kind=$kind"
|
|
111
|
+
echo "output_gitignored=$(is_gitignored "$output_path")"
|
|
112
|
+
echo "reason=$reason"
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if [[ -n "$OUTPUT" ]]; then
|
|
116
|
+
if [[ "$MODE" == "inline" ]]; then
|
|
117
|
+
echo "warning: --output overrides --mode inline; artifact will be written to file." >&2
|
|
118
|
+
fi
|
|
119
|
+
|
|
120
|
+
if [[ -d "$OUTPUT" ]]; then
|
|
121
|
+
if [[ ! -w "$OUTPUT" ]]; then
|
|
122
|
+
echo "warning: advisory: output directory is not writable: $OUTPUT" >&2
|
|
123
|
+
fi
|
|
124
|
+
emit_file_result "custom" "$(next_default_output_path "$OUTPUT")" "explicit_output_dir"
|
|
125
|
+
else
|
|
126
|
+
parent_dir=$(dirname "$OUTPUT")
|
|
127
|
+
if [[ ! -d "$parent_dir" ]]; then
|
|
128
|
+
echo "warning: advisory: parent directory does not exist: $parent_dir" >&2
|
|
129
|
+
elif [[ ! -w "$parent_dir" ]]; then
|
|
130
|
+
echo "warning: advisory: parent directory is not writable: $parent_dir" >&2
|
|
131
|
+
fi
|
|
132
|
+
emit_file_result "custom" "$OUTPUT" "explicit_output_path"
|
|
133
|
+
fi
|
|
134
|
+
exit 0
|
|
135
|
+
fi
|
|
136
|
+
|
|
137
|
+
if [[ "$MODE" == "inline" ]]; then
|
|
138
|
+
echo "analysis_mode=inline"
|
|
139
|
+
echo "output_path="
|
|
140
|
+
echo "output_kind=inline"
|
|
141
|
+
echo "output_gitignored=n/a"
|
|
142
|
+
echo "reason=inline_mode"
|
|
143
|
+
exit 0
|
|
144
|
+
fi
|
|
145
|
+
|
|
146
|
+
if [[ "$MODE" == "tracked" ]]; then
|
|
147
|
+
emit_file_result "tracked" "$(next_default_output_path "$TRACKED_DIR")" "forced_tracked"
|
|
148
|
+
exit 0
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
if [[ "$MODE" == "local" ]]; then
|
|
152
|
+
emit_file_result "local" "$(next_default_output_path "$LOCAL_DIR")" "forced_local"
|
|
153
|
+
exit 0
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
# auto mode
|
|
157
|
+
if [[ -d "$TRACKED_DIR" ]] && [[ "$(is_gitignored "$TRACKED_DIR")" == "false" ]]; then
|
|
158
|
+
emit_file_result "tracked" "$(next_default_output_path "$TRACKED_DIR")" "existing_tracked_dir"
|
|
159
|
+
exit 0
|
|
160
|
+
fi
|
|
161
|
+
|
|
162
|
+
emit_file_result "local" "$(next_default_output_path "$LOCAL_DIR")" "default_local_only"
|