@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,361 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: synthesize
|
|
3
|
+
version: 0.1.0
|
|
4
|
+
description: Merge multiple analysis artifacts into a single coherent report with provenance tracking. Reads existing artifacts from /deep-research, /analyze, and /compare.
|
|
5
|
+
argument-hint: '[directory | file1 file2 ...] [--inline]'
|
|
6
|
+
user-invocable: true
|
|
7
|
+
allowed-tools: Read, Glob, Grep, Bash, AskUserQuestion
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /synthesize
|
|
11
|
+
|
|
12
|
+
Merges multiple analysis artifacts (from /deep-research, /analyze, and /compare) into a single coherent report with provenance tracking. Sits at the end of the pipeline -- consuming outputs from these artifact-producing skills. Reads existing artifacts only; does not perform new research or dispatch sub-agents.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
Use when:
|
|
17
|
+
|
|
18
|
+
- Combining findings from multiple /deep-research, /analyze, or /compare runs
|
|
19
|
+
- Producing a single unified report from a directory of research artifacts
|
|
20
|
+
- Identifying agreements and contradictions across independent analyses
|
|
21
|
+
- Building a provenance-tracked synthesis for decision-making
|
|
22
|
+
|
|
23
|
+
## When NOT to Use
|
|
24
|
+
|
|
25
|
+
Don't use when:
|
|
26
|
+
|
|
27
|
+
- Researching a new topic (use /deep-research)
|
|
28
|
+
- Analyzing a single artifact or codebase (use /analyze)
|
|
29
|
+
- Comparing specific alternatives (use /compare)
|
|
30
|
+
- Verifying a specific claim (use /skeptic)
|
|
31
|
+
- No existing artifacts to synthesize
|
|
32
|
+
|
|
33
|
+
## Arguments
|
|
34
|
+
|
|
35
|
+
Parse from `$ARGUMENTS`:
|
|
36
|
+
|
|
37
|
+
- **directory**: Path to a directory containing artifacts to synthesize (primary mode)
|
|
38
|
+
- **file1 file2 ...**: Explicit file paths to synthesize (alternative mode)
|
|
39
|
+
- **--inline**: Produce condensed inline summary instead of writing an artifact file (optional)
|
|
40
|
+
|
|
41
|
+
At least one directory or file path is required.
|
|
42
|
+
|
|
43
|
+
## Progress Indicators (User-Facing)
|
|
44
|
+
|
|
45
|
+
Print this banner once at start:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
49
|
+
/synthesize
|
|
50
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Then print step indicators before beginning work:
|
|
54
|
+
|
|
55
|
+
- `[1/6] Parsing arguments...`
|
|
56
|
+
- `[2/6] Discovering artifacts...`
|
|
57
|
+
- `[3/6] Classifying inputs and selecting output schema...`
|
|
58
|
+
- `[4/6] Extracting findings and provenance...`
|
|
59
|
+
- `[5/6] Reconciling across sources...`
|
|
60
|
+
- `[6/6] Producing output...`
|
|
61
|
+
|
|
62
|
+
For long-running operations (reading many artifacts), print a start line and a completion line:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
→ Reading: {filename}...
|
|
66
|
+
→ Complete.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Keep it concise; don't print a line for every shell command.
|
|
70
|
+
|
|
71
|
+
## Workflow
|
|
72
|
+
|
|
73
|
+
### Step 1: Parse arguments
|
|
74
|
+
|
|
75
|
+
`[1/6] Parsing arguments...`
|
|
76
|
+
|
|
77
|
+
Parse from `$ARGUMENTS`:
|
|
78
|
+
|
|
79
|
+
- **directory**: If a single path ending in `/` or pointing to a directory, use directory mode.
|
|
80
|
+
- **file paths**: If multiple paths or paths pointing to files, use explicit mode.
|
|
81
|
+
- **--inline**: If present, produce condensed inline output instead of an artifact file.
|
|
82
|
+
|
|
83
|
+
If no paths are provided, ask the user for clarification:
|
|
84
|
+
|
|
85
|
+
- **Claude Code**: use `AskUserQuestion`
|
|
86
|
+
- **Codex**: use structured user-input tooling when available in the current host/runtime
|
|
87
|
+
- **Fallback**: ask in plain text
|
|
88
|
+
|
|
89
|
+
The prompt should ask: _"Please provide a directory path or file paths to the artifacts you want to synthesize."_
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### Step 2: Discover artifacts
|
|
94
|
+
|
|
95
|
+
`[2/6] Discovering artifacts...`
|
|
96
|
+
|
|
97
|
+
**Directory mode:**
|
|
98
|
+
|
|
99
|
+
Scan the directory for `.md` files. For each file, read its YAML frontmatter and filter by the presence of all five required artifact keys (`skill`, `schema`, `topic`, `model`, `generated_at`). Only files with the complete artifact frontmatter contract are included.
|
|
100
|
+
|
|
101
|
+
Artifact frontmatter contract keys used for auto-detection:
|
|
102
|
+
|
|
103
|
+
| Key | Purpose |
|
|
104
|
+
| -------------- | -------------------------------------------- |
|
|
105
|
+
| `skill` | Which skill produced the artifact (required) |
|
|
106
|
+
| `schema` | Schema type used (required) |
|
|
107
|
+
| `topic` | Human-readable topic (required) |
|
|
108
|
+
| `model` | Model identifier slug (required) |
|
|
109
|
+
| `generated_at` | ISO date of generation (required) |
|
|
110
|
+
|
|
111
|
+
Report discovered artifacts:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
→ Found N artifacts:
|
|
115
|
+
- {filename} (skill: {skill}, schema: {schema}, topic: {topic})
|
|
116
|
+
- ...
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
If no artifacts are found, inform the user and stop:
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
→ No artifacts with valid artifact frontmatter found in {directory}. Nothing to synthesize.
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Explicit mode:**
|
|
126
|
+
|
|
127
|
+
Read specified file paths directly. Validate that each file exists and contains artifact frontmatter. Warn and **skip** files that lack any of the required artifact frontmatter keys (`skill`, `schema`, `topic`, `model`, `generated_at`) — all five are required for both discovery modes.
|
|
128
|
+
|
|
129
|
+
If fewer than 2 valid artifacts are found, ask the user to confirm they want to proceed (synthesis of a single artifact produces limited value).
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
### Step 3: Classify inputs and select output schema
|
|
134
|
+
|
|
135
|
+
`[3/6] Classifying inputs and selecting output schema...`
|
|
136
|
+
|
|
137
|
+
Examine the `schema` values across all discovered artifacts:
|
|
138
|
+
|
|
139
|
+
| Input Mix | Output Schema | Behavior |
|
|
140
|
+
| ----------- | ------------------------------- | ------------------------------------------------------------------------------ |
|
|
141
|
+
| Homogeneous | Input schema + synthesis fields | All artifacts share the same schema; output extends it with synthesis sections |
|
|
142
|
+
| Mixed | `synthesis` (generic wrapper) | Artifacts use different schemas; output uses a generic synthesis structure |
|
|
143
|
+
|
|
144
|
+
Log the classification:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
→ Input schemas: {list of unique schema values}
|
|
148
|
+
→ Output schema: {selected schema}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Superset output schema fields:**
|
|
152
|
+
|
|
153
|
+
The output artifact includes all fields from the input schema (for homogeneous inputs) plus these synthesis-specific additions:
|
|
154
|
+
|
|
155
|
+
| Section | Purpose |
|
|
156
|
+
| --------------------- | ---------------------------------------------------------- |
|
|
157
|
+
| Source Agreement | Findings where multiple sources converge (high confidence) |
|
|
158
|
+
| Contradictions | Points where sources disagree, with lean and rationale |
|
|
159
|
+
| Unique Insights | Findings that appear in only one source |
|
|
160
|
+
| Provenance Table | Source tracking: file, skill, model, date for each input |
|
|
161
|
+
| Synthesis Methodology | How reconciliation was performed, what was prioritized |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### Step 4: Extract findings and provenance
|
|
166
|
+
|
|
167
|
+
`[4/6] Extracting findings and provenance...`
|
|
168
|
+
|
|
169
|
+
For each source artifact:
|
|
170
|
+
|
|
171
|
+
1. **Extract findings**: Read the Findings section (or equivalent per schema type). Capture conclusions, recommendations, key data points, and any verdict or scoring.
|
|
172
|
+
2. **Track provenance**: Record the source file path, `skill`, `model`, `generated_at`, and `schema` for attribution.
|
|
173
|
+
|
|
174
|
+
Print progress per artifact:
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
→ Reading: {filename}...
|
|
178
|
+
→ Complete.
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Build an internal working set of:
|
|
182
|
+
|
|
183
|
+
- All findings, tagged by source
|
|
184
|
+
- All recommendations, tagged by source
|
|
185
|
+
- All conclusions or verdicts, tagged by source
|
|
186
|
+
- Provenance metadata for each source
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
### Step 5: Reconcile across sources
|
|
191
|
+
|
|
192
|
+
`[5/6] Reconciling across sources...`
|
|
193
|
+
|
|
194
|
+
Apply the following reconciliation protocol:
|
|
195
|
+
|
|
196
|
+
**Agreements:**
|
|
197
|
+
|
|
198
|
+
- Identify findings or conclusions where 2+ sources converge on the same point.
|
|
199
|
+
- Mark these as high-confidence items in Source Agreement section.
|
|
200
|
+
- Note which sources agree and any nuance differences.
|
|
201
|
+
|
|
202
|
+
**Contradictions:**
|
|
203
|
+
|
|
204
|
+
- Identify points where sources directly disagree.
|
|
205
|
+
- For each contradiction:
|
|
206
|
+
1. **Flag** the disagreement explicitly.
|
|
207
|
+
2. **Lean** toward the position with stronger evidence, more recent data, or broader source support.
|
|
208
|
+
3. **Mark as lean, not decided fact** -- the synthesis flags the conflict and states which direction the evidence leans, but does not resolve it as ground truth.
|
|
209
|
+
- Present contradictions with both positions and the lean rationale.
|
|
210
|
+
|
|
211
|
+
**Deduplication:**
|
|
212
|
+
|
|
213
|
+
- Merge duplicate findings that appear across multiple sources.
|
|
214
|
+
- Preserve unique insights that appear in only one source -- do not discard them.
|
|
215
|
+
- Attribute deduplicated items to all contributing sources.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### Step 6: Produce output
|
|
220
|
+
|
|
221
|
+
`[6/6] Producing output...`
|
|
222
|
+
|
|
223
|
+
**Artifact output (default):**
|
|
224
|
+
|
|
225
|
+
Write synthesis document with the following structure:
|
|
226
|
+
|
|
227
|
+
1. **Frontmatter:**
|
|
228
|
+
|
|
229
|
+
```yaml
|
|
230
|
+
---
|
|
231
|
+
skill: synthesize
|
|
232
|
+
schema: synthesis
|
|
233
|
+
topic: '{descriptive topic derived from input artifacts}'
|
|
234
|
+
model: { self-detected model identifier }
|
|
235
|
+
generated_at: { today's date }
|
|
236
|
+
source_count: { number of input artifacts }
|
|
237
|
+
---
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
2. **Document structure:**
|
|
241
|
+
- **Executive Summary**: Unified overview of synthesized findings. Lead with the strongest conclusions (those with multi-source agreement).
|
|
242
|
+
- **Synthesis Methodology**: How many artifacts were consumed, what schemas were represented, reconciliation approach used.
|
|
243
|
+
- **Source Agreement**: Findings where multiple sources converge. Group by theme. Cite contributing sources.
|
|
244
|
+
- **Contradictions**: Points of disagreement. For each: both positions, evidence for each, lean direction, and explicit note that the lean is not decided fact.
|
|
245
|
+
- **Unique Insights**: Findings from individual sources not corroborated elsewhere. Attribute to source.
|
|
246
|
+
- **Consolidated Recommendations**: Merged recommendations across all sources, deduplicated and prioritized.
|
|
247
|
+
- **Provenance Table**: Tabular record of all input artifacts.
|
|
248
|
+
|
|
249
|
+
| Source File | Skill | Schema | Model | Generated At |
|
|
250
|
+
| ----------- | ------- | -------- | ------- | ------------ |
|
|
251
|
+
| {path} | {skill} | {schema} | {model} | {date} |
|
|
252
|
+
|
|
253
|
+
- **Sources & References**: Any references cited by the input artifacts, consolidated.
|
|
254
|
+
|
|
255
|
+
3. **Model-tagged filename:** `{topic-slug}-synthesis-{model-id}.md` (e.g., `event-driven-architecture-synthesis-opus-4-6.md`)
|
|
256
|
+
|
|
257
|
+
4. **Output destination resolution:**
|
|
258
|
+
|
|
259
|
+
If an explicit output path was provided in `$ARGUMENTS`, use it directly — no prompt.
|
|
260
|
+
|
|
261
|
+
Otherwise, determine a default suggestion:
|
|
262
|
+
- If all input artifacts came from the same directory, suggest that directory.
|
|
263
|
+
- Otherwise, use OAT-aware detection:
|
|
264
|
+
1. Check for `.oat/` at repo root (project-level OAT) → suggest `.oat/repo/analysis/`
|
|
265
|
+
2. Check for `~/.oat/` (user-level OAT) → suggest `~/.oat/analysis/`
|
|
266
|
+
3. Fall back to current directory
|
|
267
|
+
|
|
268
|
+
Then ask the user via `AskUserQuestion` (Claude Code), structured user-input tooling (Codex), or equivalent:
|
|
269
|
+
|
|
270
|
+
> "Where would you like to write the synthesis? (default: {suggested path})"
|
|
271
|
+
- If the user confirms (empty response or "yes"), use the suggested path.
|
|
272
|
+
- If the user provides a different path, use that instead.
|
|
273
|
+
- Create the target directory if it does not exist.
|
|
274
|
+
|
|
275
|
+
**Inline output (`--inline` flag):**
|
|
276
|
+
|
|
277
|
+
Produce a condensed summary directly in the conversation:
|
|
278
|
+
|
|
279
|
+
- 2-3 paragraph executive summary
|
|
280
|
+
- Key agreements (bulleted)
|
|
281
|
+
- Key contradictions with leans (bulleted)
|
|
282
|
+
- Source count and provenance summary (one line)
|
|
283
|
+
|
|
284
|
+
Do not write a file when `--inline` is specified.
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Constraints
|
|
289
|
+
|
|
290
|
+
- **Read-only**: Does not modify input artifacts.
|
|
291
|
+
- **No sub-agent dispatch**: No execution tiers. All work is performed sequentially by the invoking agent.
|
|
292
|
+
- **No web search or fetch**: Synthesis operates only on existing local artifacts. Does not perform new research.
|
|
293
|
+
- **Lean, not decide**: Contradictions are flagged with a lean direction, never presented as resolved fact.
|
|
294
|
+
|
|
295
|
+
## Examples
|
|
296
|
+
|
|
297
|
+
### Basic Usage
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
/synthesize research-output/
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Explicit file paths
|
|
304
|
+
|
|
305
|
+
```
|
|
306
|
+
/synthesize event-driven-opus-4-6.md event-driven-analysis-sonnet-4.md
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Inline summary
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
/synthesize research-output/ --inline
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Conversational
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
Synthesize all the research artifacts in the research/ directory into a single report.
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
```
|
|
322
|
+
Merge the deep-research and analyze outputs I just generated.
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
## Troubleshooting
|
|
326
|
+
|
|
327
|
+
**No artifacts found in directory:**
|
|
328
|
+
|
|
329
|
+
- Verify the directory contains `.md` files with `skill` frontmatter.
|
|
330
|
+
- Files without artifact frontmatter are not auto-detected in directory mode.
|
|
331
|
+
- Try explicit file paths instead.
|
|
332
|
+
|
|
333
|
+
**Only one artifact found:**
|
|
334
|
+
|
|
335
|
+
- Ask the user to confirm they want to proceed. Synthesis of a single artifact produces limited value.
|
|
336
|
+
- Suggest running additional skills (/deep-research, /analyze, /compare) first.
|
|
337
|
+
|
|
338
|
+
**Mixed schemas produce generic output:**
|
|
339
|
+
|
|
340
|
+
- This is expected. When input artifacts use different schemas, the output uses a generic `synthesis` wrapper.
|
|
341
|
+
- For more structured output, synthesize homogeneous artifacts (same schema type).
|
|
342
|
+
|
|
343
|
+
**Contradictions cannot be resolved:**
|
|
344
|
+
|
|
345
|
+
- This is by design. The skill flags contradictions and leans but does not decide.
|
|
346
|
+
- The user should review contradictions and make final determinations.
|
|
347
|
+
|
|
348
|
+
## Success Criteria
|
|
349
|
+
|
|
350
|
+
- Banner printed at start
|
|
351
|
+
- Arguments parsed: directory or explicit file paths identified, `--inline` flag detected
|
|
352
|
+
- Artifacts discovered via frontmatter auto-detection (directory mode) or read directly (explicit mode)
|
|
353
|
+
- Input schemas classified and output schema selected (homogeneous vs. mixed)
|
|
354
|
+
- Findings, recommendations, and provenance extracted from each source
|
|
355
|
+
- Agreements identified across multiple sources
|
|
356
|
+
- Contradictions flagged with lean direction and marked as lean not fact
|
|
357
|
+
- Unique insights preserved and attributed
|
|
358
|
+
- Artifact written with synthesis schema, frontmatter contract, provenance table, and model-tagged filename (default mode)
|
|
359
|
+
- Output destination resolved via input-directory heuristic, OAT-aware detection, and user prompt (unless explicit path given)
|
|
360
|
+
- Inline summary produced when `--inline` is specified (no file written)
|
|
361
|
+
- Input artifacts not modified
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: bl-{hash}
|
|
3
|
+
title: '{title}'
|
|
4
|
+
status: open # open | in_progress | closed | wont_do
|
|
5
|
+
priority: medium # urgent | high | medium | low | none
|
|
6
|
+
scope: task # idea | task | feature | initiative
|
|
7
|
+
scope_estimate: null # XS | S | M | L | XL | XXL
|
|
8
|
+
labels: []
|
|
9
|
+
assignee: null
|
|
10
|
+
created: '{ISO 8601 UTC}'
|
|
11
|
+
updated: '{ISO 8601 UTC}'
|
|
12
|
+
associated_issues: []
|
|
13
|
+
oat_template: true
|
|
14
|
+
oat_template_name: backlog-item
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Description
|
|
18
|
+
|
|
19
|
+
{Describe the problem, request, or capability tracked by this backlog item.}
|
|
20
|
+
|
|
21
|
+
## Acceptance Criteria
|
|
22
|
+
|
|
23
|
+
- {Outcome 1}
|
|
24
|
+
- {Outcome 2}
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
---
|
|
2
|
+
oat_status: in_progress
|
|
3
|
+
oat_ready_for: null
|
|
4
|
+
oat_blockers: []
|
|
5
|
+
oat_last_updated: YYYY-MM-DD
|
|
6
|
+
oat_generated: false
|
|
7
|
+
oat_template: true
|
|
8
|
+
oat_template_name: design
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Design: {Project Name}
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
{2-3 paragraph summary of the technical approach, including key architectural decisions and rationale}
|
|
16
|
+
|
|
17
|
+
## Architecture
|
|
18
|
+
|
|
19
|
+
### System Context
|
|
20
|
+
|
|
21
|
+
{How this fits into the broader system architecture}
|
|
22
|
+
|
|
23
|
+
**Key Components:**
|
|
24
|
+
|
|
25
|
+
- **{Component 1}:** {Purpose and responsibilities}
|
|
26
|
+
- **{Component 2}:** {Purpose and responsibilities}
|
|
27
|
+
|
|
28
|
+
### Component Diagram
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
{ASCII diagram or description of component relationships}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Data Flow
|
|
35
|
+
|
|
36
|
+
{Description of how data moves through the system}
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
{Sequence diagram or step-by-step flow}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Component Design
|
|
43
|
+
|
|
44
|
+
### {Component Name}
|
|
45
|
+
|
|
46
|
+
**Purpose:** {What this component does}
|
|
47
|
+
|
|
48
|
+
**Responsibilities:**
|
|
49
|
+
|
|
50
|
+
- {Responsibility 1}
|
|
51
|
+
- {Responsibility 2}
|
|
52
|
+
|
|
53
|
+
**Interfaces:**
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
// Key interfaces, classes, or function signatures
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Dependencies:**
|
|
60
|
+
|
|
61
|
+
- {Internal dependency 1}
|
|
62
|
+
- {External dependency 1}
|
|
63
|
+
|
|
64
|
+
**Design Decisions:**
|
|
65
|
+
|
|
66
|
+
- {Decision 1 and rationale}
|
|
67
|
+
|
|
68
|
+
## Data Models
|
|
69
|
+
|
|
70
|
+
### {Model Name}
|
|
71
|
+
|
|
72
|
+
**Purpose:** {What this represents}
|
|
73
|
+
|
|
74
|
+
**Schema:**
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
interface ModelName {
|
|
78
|
+
// Field definitions with types
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Validation Rules:**
|
|
83
|
+
|
|
84
|
+
- {Rule 1}
|
|
85
|
+
- {Rule 2}
|
|
86
|
+
|
|
87
|
+
**Storage:**
|
|
88
|
+
|
|
89
|
+
- **Location:** {Database, file system, memory}
|
|
90
|
+
- **Persistence:** {How/when data is persisted}
|
|
91
|
+
|
|
92
|
+
## API Design
|
|
93
|
+
|
|
94
|
+
### {Endpoint/Interface Name}
|
|
95
|
+
|
|
96
|
+
**Method:** GET / POST / PUT / DELETE
|
|
97
|
+
**Path:** `/api/v1/{resource}`
|
|
98
|
+
|
|
99
|
+
**Request:**
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
interface Request {
|
|
103
|
+
// Request schema
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Response:**
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
interface Response {
|
|
111
|
+
// Response schema
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Error Handling:**
|
|
116
|
+
|
|
117
|
+
- {Error code}: {Description}
|
|
118
|
+
|
|
119
|
+
**Authorization:** {Auth requirements}
|
|
120
|
+
|
|
121
|
+
## Security Considerations
|
|
122
|
+
|
|
123
|
+
### Authentication
|
|
124
|
+
|
|
125
|
+
{How users/services authenticate}
|
|
126
|
+
|
|
127
|
+
### Authorization
|
|
128
|
+
|
|
129
|
+
{How permissions are enforced}
|
|
130
|
+
|
|
131
|
+
### Data Protection
|
|
132
|
+
|
|
133
|
+
- **Encryption:** {At rest, in transit}
|
|
134
|
+
- **PII Handling:** {How sensitive data is protected}
|
|
135
|
+
- **Input Validation:** {Where and how inputs are validated}
|
|
136
|
+
|
|
137
|
+
### Threat Mitigation
|
|
138
|
+
|
|
139
|
+
- **{Threat 1}:** {Mitigation strategy}
|
|
140
|
+
- **{Threat 2}:** {Mitigation strategy}
|
|
141
|
+
|
|
142
|
+
## Performance Considerations
|
|
143
|
+
|
|
144
|
+
### Scalability
|
|
145
|
+
|
|
146
|
+
{How the design scales with load}
|
|
147
|
+
|
|
148
|
+
### Caching
|
|
149
|
+
|
|
150
|
+
- **Layer:** {Where caching occurs}
|
|
151
|
+
- **Strategy:** {Cache invalidation approach}
|
|
152
|
+
- **TTL:** {Time-to-live values}
|
|
153
|
+
|
|
154
|
+
### Database Optimization
|
|
155
|
+
|
|
156
|
+
- **Indexes:** {Key indexes to create}
|
|
157
|
+
- **Query Optimization:** {Query patterns to optimize}
|
|
158
|
+
|
|
159
|
+
### Resource Limits
|
|
160
|
+
|
|
161
|
+
- **Memory:** {Expected usage}
|
|
162
|
+
- **CPU:** {Expected usage}
|
|
163
|
+
- **Network:** {Expected bandwidth}
|
|
164
|
+
|
|
165
|
+
## Error Handling
|
|
166
|
+
|
|
167
|
+
### Error Categories
|
|
168
|
+
|
|
169
|
+
- **User Errors:** {How handled}
|
|
170
|
+
- **System Errors:** {How handled}
|
|
171
|
+
- **External Service Errors:** {How handled}
|
|
172
|
+
|
|
173
|
+
### Retry Logic
|
|
174
|
+
|
|
175
|
+
{When and how retries are performed}
|
|
176
|
+
|
|
177
|
+
### Logging
|
|
178
|
+
|
|
179
|
+
- **Info:** {What to log at info level}
|
|
180
|
+
- **Warn:** {What to log at warn level}
|
|
181
|
+
- **Error:** {What to log at error level}
|
|
182
|
+
|
|
183
|
+
## Testing Strategy
|
|
184
|
+
|
|
185
|
+
### Requirement-to-Test Mapping
|
|
186
|
+
|
|
187
|
+
{Maps spec requirements to test levels and key scenarios — ensures every requirement has a verification plan}
|
|
188
|
+
|
|
189
|
+
| ID | Verification | Key Scenarios |
|
|
190
|
+
| ---- | ---------------------------------- | -------------------------- |
|
|
191
|
+
| FR1 | {unit/integration/e2e/manual/perf} | {Scenario 1}, {Scenario 2} |
|
|
192
|
+
| FR2 | {unit/integration/e2e/manual/perf} | {Scenario 1} |
|
|
193
|
+
| NFR1 | {unit/integration/e2e/manual/perf} | {Scenario 1} |
|
|
194
|
+
|
|
195
|
+
**Notes:**
|
|
196
|
+
|
|
197
|
+
- Pull ID from spec.md Requirement Index
|
|
198
|
+
- Copy the **method** (left side of `method: pointer`) into Verification
|
|
199
|
+
- Use the **pointer** (right side) to seed Key Scenarios, then expand based on design
|
|
200
|
+
- Multiple test levels are valid (e.g., "unit + integration")
|
|
201
|
+
|
|
202
|
+
### Unit Tests
|
|
203
|
+
|
|
204
|
+
- **Scope:** {What gets unit tested}
|
|
205
|
+
- **Coverage Target:** {N}%
|
|
206
|
+
- **Key Test Cases:**
|
|
207
|
+
- {Test case 1}
|
|
208
|
+
- {Test case 2}
|
|
209
|
+
|
|
210
|
+
### Integration Tests
|
|
211
|
+
|
|
212
|
+
- **Scope:** {What gets integration tested}
|
|
213
|
+
- **Test Environment:** {How environment is set up}
|
|
214
|
+
- **Key Test Cases:**
|
|
215
|
+
- {Test case 1}
|
|
216
|
+
- {Test case 2}
|
|
217
|
+
|
|
218
|
+
### End-to-End Tests
|
|
219
|
+
|
|
220
|
+
- **Scope:** {What gets E2E tested}
|
|
221
|
+
- **Test Scenarios:**
|
|
222
|
+
- {Scenario 1}
|
|
223
|
+
- {Scenario 2}
|
|
224
|
+
|
|
225
|
+
## Deployment Strategy
|
|
226
|
+
|
|
227
|
+
### Build Process
|
|
228
|
+
|
|
229
|
+
{How the application is built}
|
|
230
|
+
|
|
231
|
+
### Deployment Steps
|
|
232
|
+
|
|
233
|
+
1. {Step 1}
|
|
234
|
+
2. {Step 2}
|
|
235
|
+
|
|
236
|
+
### Rollback Plan
|
|
237
|
+
|
|
238
|
+
{How to rollback if deployment fails}
|
|
239
|
+
|
|
240
|
+
### Configuration
|
|
241
|
+
|
|
242
|
+
- **Environment Variables:** {List with descriptions}
|
|
243
|
+
- **Feature Flags:** {Any feature flags needed}
|
|
244
|
+
|
|
245
|
+
### Monitoring
|
|
246
|
+
|
|
247
|
+
- **Metrics:** {Key metrics to track}
|
|
248
|
+
- **Alerts:** {Alert conditions}
|
|
249
|
+
- **Dashboards:** {What to monitor}
|
|
250
|
+
|
|
251
|
+
## Migration Plan
|
|
252
|
+
|
|
253
|
+
{If this involves database migrations, data migrations, or breaking changes}
|
|
254
|
+
|
|
255
|
+
### Migration Steps
|
|
256
|
+
|
|
257
|
+
1. {Step 1}
|
|
258
|
+
2. {Step 2}
|
|
259
|
+
|
|
260
|
+
### Rollback Strategy
|
|
261
|
+
|
|
262
|
+
{How to rollback migrations}
|
|
263
|
+
|
|
264
|
+
### Data Validation
|
|
265
|
+
|
|
266
|
+
{How to verify migration success}
|
|
267
|
+
|
|
268
|
+
## Open Questions
|
|
269
|
+
|
|
270
|
+
- **{Question Category}:** {Question needing resolution}
|
|
271
|
+
- **{Question Category}:** {Question needing resolution}
|
|
272
|
+
|
|
273
|
+
## Implementation Phases
|
|
274
|
+
|
|
275
|
+
### Phase 1: {Phase Name}
|
|
276
|
+
|
|
277
|
+
**Goal:** {What this phase achieves}
|
|
278
|
+
|
|
279
|
+
**Tasks:**
|
|
280
|
+
|
|
281
|
+
- {Task 1}
|
|
282
|
+
- {Task 2}
|
|
283
|
+
|
|
284
|
+
**Verification:** {How to verify phase completion}
|
|
285
|
+
|
|
286
|
+
### Phase 2: {Phase Name}
|
|
287
|
+
|
|
288
|
+
{Similar structure}
|
|
289
|
+
|
|
290
|
+
## Dependencies
|
|
291
|
+
|
|
292
|
+
### External Dependencies
|
|
293
|
+
|
|
294
|
+
- **{Service/Library}:** {Why needed, version constraints}
|
|
295
|
+
|
|
296
|
+
### Internal Dependencies
|
|
297
|
+
|
|
298
|
+
- **{Component/Service}:** {Why needed, coupling points}
|
|
299
|
+
|
|
300
|
+
### Development Dependencies
|
|
301
|
+
|
|
302
|
+
- **{Tool}:** {Why needed}
|
|
303
|
+
|
|
304
|
+
## Risks and Mitigation
|
|
305
|
+
|
|
306
|
+
- **{Risk 1}:** {Probability: Low/Medium/High} | {Impact: Low/Medium/High}
|
|
307
|
+
- **Mitigation:** {How to reduce risk}
|
|
308
|
+
- **Contingency:** {What to do if risk occurs}
|
|
309
|
+
|
|
310
|
+
## References
|
|
311
|
+
|
|
312
|
+
- Specification: `spec.md`
|
|
313
|
+
- Knowledge Base: `.oat/repo/knowledge/project-index.md`
|
|
314
|
+
- Architecture Docs: `.oat/repo/knowledge/architecture.md`
|
|
315
|
+
- Conventions: `.oat/repo/knowledge/conventions.md`
|