sauron-cli 1.2.0 → 1.3.0
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/.agents/rules/memory.md +156 -0
- package/.agents/skills/wiki/SKILL.md +172 -0
- package/.aider.instructions.md +152 -0
- package/.cursor/rules/sauron-memory.mdc +157 -0
- package/.genesis/prompts/prompt-onboarding-inteligente.md +45 -0
- package/.genesis/prompts/prompt-sauron-vs-openspec-arquitetura.md +106 -0
- package/.github/workflows/ci.yml +27 -0
- package/.sauron/.manifest.json +2 -1
- package/.sauron/wiki/history/implementacao-scanner-inteligente.md +29 -0
- package/.sauron/wiki/history/reestruturacao-arquitetural-core.md +29 -0
- package/.sauron/wiki/history/resiliencia-caminho-templates.md +29 -0
- package/.sauron/wiki/standards/typescript.rules.md +21 -0
- package/.sauron/wiki/summary.json +81 -0
- package/.windsurfrules +160 -0
- package/55ea973d-e255-4f08-a313-a5d68243bd2d.png +0 -0
- package/Evolu/303/247/303/243o Arquitetural do Sauron CLI.md" +97 -0
- package/OpenSpec-main/.actrc +1 -0
- package/OpenSpec-main/.changeset/README.md +97 -0
- package/OpenSpec-main/.changeset/config.json +15 -0
- package/OpenSpec-main/.coderabbit.yaml +11 -0
- package/OpenSpec-main/.devcontainer/README.md +92 -0
- package/OpenSpec-main/.devcontainer/devcontainer.json +68 -0
- package/OpenSpec-main/.github/CODEOWNERS +2 -0
- package/OpenSpec-main/.github/workflows/README.md +20 -0
- package/OpenSpec-main/.github/workflows/ci.yml +346 -0
- package/OpenSpec-main/.github/workflows/release-prepare.yml +60 -0
- package/OpenSpec-main/CHANGELOG.md +594 -0
- package/OpenSpec-main/LICENSE +22 -0
- package/OpenSpec-main/MAINTAINERS.md +17 -0
- package/OpenSpec-main/README.md +206 -0
- package/OpenSpec-main/README_OLD.md +475 -0
- package/OpenSpec-main/assets/openspec_bg.png +0 -0
- package/OpenSpec-main/assets/openspec_dashboard.png +0 -0
- package/OpenSpec-main/assets/openspec_pixel_dark.svg +89 -0
- package/OpenSpec-main/assets/openspec_pixel_light.svg +89 -0
- package/OpenSpec-main/bin/openspec.js +5 -0
- package/OpenSpec-main/build.js +31 -0
- package/OpenSpec-main/eslint.config.js +42 -0
- package/OpenSpec-main/flake.lock +27 -0
- package/OpenSpec-main/flake.nix +114 -0
- package/OpenSpec-main/openspec/changes/IMPLEMENTATION_ORDER.md +68 -0
- package/OpenSpec-main/openspec/changes/add-artifact-regeneration-support/proposal.md +136 -0
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/proposal.md +93 -0
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/change-creation/spec.md +15 -0
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/change-stacking-workflow/spec.md +65 -0
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/cli-change/spec.md +27 -0
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/openspec-conventions/spec.md +29 -0
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/tasks.md +39 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/design.md +161 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/proposal.md +101 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/ai-tool-paths/spec.md +35 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-config/spec.md +21 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-init/spec.md +28 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-update/spec.md +34 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/command-generation/spec.md +22 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/global-config/spec.md +24 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/installation-scope/spec.md +71 -0
- package/OpenSpec-main/openspec/changes/add-global-install-scope/tasks.md +61 -0
- package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/proposal.md +45 -0
- package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/specs/developer-qa-workflow/spec.md +49 -0
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/proposal.md +111 -0
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/specs/cli-init/spec.md +121 -0
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/specs/cli-update/spec.md +48 -0
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/tasks.md +53 -0
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/design.md +86 -0
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/proposal.md +29 -0
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/specs/cli-update/spec.md +59 -0
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/tasks.md +20 -0
- package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/proposal.md +20 -0
- package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/specs/cli-list/spec.md +69 -0
- package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/tasks.md +26 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/design.md +64 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/proposal.md +18 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/tasks.md +25 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/design.md +104 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/proposal.md +30 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/specs/cli-init/spec.md +148 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/tasks.md +38 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/proposal.md +24 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/specs/openspec-conventions/spec.md +120 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/tasks.md +38 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/proposal.md +13 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/specs/openspec-docs/README.md +472 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/tasks.md +9 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/proposal.md +15 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/specs/cli-archive/spec.md +111 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/tasks.md +44 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/proposal.md +19 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/specs/cli-diff/spec.md +77 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/tasks.md +23 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/design.md +56 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/proposal.md +17 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-change/spec.md +48 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-list/spec.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/tasks.md +34 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/proposal.md +20 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-change/spec.md +23 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-show/spec.md +83 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-spec/spec.md +23 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/tasks.md +142 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/proposal.md +13 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/specs/cli-archive/spec.md +191 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/tasks.md +57 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/design.md +45 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/proposal.md +19 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/specs/cli-spec/spec.md +43 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/tasks.md +22 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/design.md +104 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/proposal.md +22 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-archive/spec.md +18 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-diff/spec.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/tasks.md +59 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/proposal.md +93 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-archive/spec.md +48 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-diff/spec.md +45 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/openspec-conventions/spec.md +101 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/tasks.md +55 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/design.md +19 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/proposal.md +67 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/cli-list/spec.md +57 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/openspec-conventions/spec.md +23 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/tasks.md +27 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/proposal.md +20 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-change/spec.md +22 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-spec/spec.md +23 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-validate/spec.md +149 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/tasks.md +81 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/proposal.md +40 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/specs/cli-update/spec.md +23 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/tasks.md +21 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/proposal.md +25 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/specs/cli-validate/spec.md +55 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/tasks.md +21 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/proposal.md +36 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/specs/openspec-conventions/spec.md +192 -0
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/tasks.md +19 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/proposal.md +38 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/specs/cli-view/spec.md +109 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/tasks.md +47 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/proposal.md +28 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-init/spec.md +71 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-update/spec.md +41 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/tasks.md +17 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/proposal.md +35 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/specs/cli-init/spec.md +45 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/tasks.md +16 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/proposal.md +119 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-init/spec.md +21 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-update/spec.md +22 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/tasks.md +20 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/proposal.md +19 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/tasks.md +9 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-deterministic-tests/proposal.md +78 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-deterministic-tests/tasks.md +25 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/proposal.md +13 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/specs/cli-init/spec.md +92 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/tasks.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-remove-diff-command/proposal.md +81 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-remove-diff-command/tasks.md +37 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/proposal.md +25 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/specs/cli-view/spec.md +9 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/tasks.md +8 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/proposal.md +29 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-init/spec.md +40 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-update/spec.md +22 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/openspec-conventions/spec.md +27 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/tasks.md +22 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/design.md +130 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/proposal.md +117 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/tasks.md +69 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/proposal.md +19 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/specs/cli-validate/spec.md +9 -0
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/tasks.md +11 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/proposal.md +25 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-init/spec.md +56 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-update/spec.md +41 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/tasks.md +19 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/proposal.md +25 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-init/spec.md +48 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-update/spec.md +48 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/tasks.md +30 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/proposal.md +17 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-init/spec.md +43 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-update/spec.md +27 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/tasks.md +15 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/proposal.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/specs/cli-init/spec.md +39 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/tasks.md +17 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/proposal.md +17 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-init/spec.md +42 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-update/spec.md +27 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/tasks.md +17 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/proposal.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/specs/cli-validate/spec.md +39 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/tasks.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/proposal.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/specs/docs-agent-instructions/spec.md +33 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/tasks.md +11 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-slim-root-agents-file/proposal.md +13 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-slim-root-agents-file/tasks.md +15 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/proposal.md +14 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/specs/cli-init/spec.md +10 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/tasks.md +8 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/proposal.md +15 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-init/spec.md +32 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-update/spec.md +10 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/tasks.md +11 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-release-automation/proposal.md +49 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-release-automation/tasks.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/proposal.md +17 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/specs/cli-update/spec.md +32 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/tasks.md +15 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/proposal.md +15 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/specs/cli-init/spec.md +97 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/tasks.md +19 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/proposal.md +13 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/specs/cli-init/spec.md +67 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/tasks.md +7 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/proposal.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-init/spec.md +54 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-update/spec.md +54 -0
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/tasks.md +11 -0
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/design.md +525 -0
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/proposal.md +29 -0
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/specs/cli-completion/spec.md +300 -0
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/tasks.md +81 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/design.md +105 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/proposal.md +20 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/specs/global-config/spec.md +76 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/tasks.md +26 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/design.md +89 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/proposal.md +60 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/specs/cli-config/spec.md +213 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/tasks.md +28 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/proposal.md +15 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/specs/cli-completion/spec.md +328 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/tasks.md +49 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/design.md +197 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/proposal.md +18 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/specs/artifact-graph/spec.md +103 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/tasks.md +61 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/design.md +74 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/proposal.md +45 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/specs/change-creation/spec.md +63 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/tasks.md +30 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/design.md +112 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/proposal.md +33 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/specs/cli-artifact-workflow/spec.md +153 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/tasks.md +48 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/design.md +149 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/proposal.md +20 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/specs/instruction-loader/spec.md +70 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/tasks.md +13 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/design.md +129 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/proposal.md +20 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/specs/artifact-graph/spec.md +49 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/tasks.md +32 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/design.md +151 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/proposal.md +101 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/specs/cli-artifact-workflow/spec.md +109 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/specs/cli-view/spec.md +60 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/tasks.md +25 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/proposal.md +11 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/specs/cli-init/spec.md +105 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/specs/cli-update/spec.md +92 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/tasks.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/proposal.md +13 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/specs/cli-init/spec.md +105 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/specs/cli-update/spec.md +92 -0
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/tasks.md +13 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-agent-schema-selection/proposal.md +26 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-agent-schema-selection/tasks.md +32 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/design.md +147 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/proposal.md +29 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/specs/cli-artifact-workflow/spec.md +98 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/tasks.md +29 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/design.md +77 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/proposal.md +32 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/specs/specs-sync-skill/spec.md +67 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/tasks.md +40 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/proposal.md +138 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md +60 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/tasks.md +35 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/design.md +84 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/proposal.md +28 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/specs/opsx-archive-skill/spec.md +122 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/tasks.md +23 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/design.md +94 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/proposal.md +25 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/specs/nix-flake-support/spec.md +79 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/tasks.md +65 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/design.md +117 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/proposal.md +23 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/specs/flake-update-script/spec.md +93 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/tasks.md +55 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/design.md +175 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/proposal.md +37 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/specs/global-config/spec.md +21 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/specs/telemetry/spec.md +116 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/tasks.md +47 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/proposal.md +16 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/specs/cli-init/spec.md +75 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/specs/cli-update/spec.md +56 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/tasks.md +6 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/design.md +206 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/proposal.md +21 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/specs/ci-nix-validation/spec.md +104 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/tasks.md +49 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/README.md +3 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/design.md +70 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/proposal.md +32 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/specs/no-changes.md +9 -0
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/tasks.md +22 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/proposal.md +20 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/specs/cli-feedback/spec.md +188 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/tasks.md +30 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/design.md +115 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/proposal.md +27 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/specs/opsx-onboard-skill/spec.md +162 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/tasks.md +21 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/design.md +96 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/proposal.md +48 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/specs/opsx-verify-skill/spec.md +190 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/tasks.md +15 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/design.md +193 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/proposal.md +32 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/specs/cli-init/spec.md +176 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/specs/legacy-cleanup/spec.md +158 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/tasks.md +67 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/design.md +144 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/proposal.md +36 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/ai-tool-paths/spec.md +63 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/cli-artifact-workflow/spec.md +60 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/command-generation/spec.md +98 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/tasks.md +55 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/design.md +665 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/proposal.md +774 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/config-loading/spec.md +119 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/context-injection/spec.md +51 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/rules-injection/spec.md +99 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/schema-resolution/spec.md +83 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/tasks.md +72 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/design.md +117 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/proposal.md +167 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/specs/schema-resolution/spec.md +88 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/tasks.md +28 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/design.md +113 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/proposal.md +55 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-fork-command/spec.md +66 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-init-command/spec.md +71 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-validate-command/spec.md +86 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-which-command/spec.md +65 -0
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/tasks.md +67 -0
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/README.md +3 -0
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/design.md +85 -0
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/proposal.md +38 -0
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/specs/ai-tool-paths/spec.md +12 -0
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/specs/cli-init/spec.md +37 -0
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/tasks.md +22 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/design.md +208 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/proposal.md +142 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/specs/openspec-conventions/spec.md +29 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/specs/workspace-foundation/spec.md +199 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/tasks.md +56 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/design.md +356 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/proposal.md +128 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/cli-artifact-workflow/spec.md +24 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/workspace-foundation/spec.md +35 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/workspace-links/spec.md +356 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/tasks.md +121 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/design.md +266 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/proposal.md +65 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/specs/workspace-foundation/spec.md +76 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/specs/workspace-open/spec.md +199 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/tasks.md +89 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/design.md +242 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/proposal.md +78 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/artifact-graph/spec.md +36 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/change-creation/spec.md +42 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-artifact-workflow/spec.md +100 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-config/spec.md +55 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-update/spec.md +21 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/openspec-conventions/spec.md +32 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/schema-resolution/spec.md +25 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/workspace-change-planning/spec.md +67 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/workspace-links/spec.md +163 -0
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/tasks.md +133 -0
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/design.md +48 -0
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/proposal.md +26 -0
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/specs/command-generation/spec.md +63 -0
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/tasks.md +19 -0
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/design.md +38 -0
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/proposal.md +25 -0
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/specs/graceful-status-empty/spec.md +27 -0
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/tasks.md +16 -0
- package/OpenSpec-main/openspec/changes/schema-alias-support/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/schema-alias-support/proposal.md +28 -0
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/design.md +288 -0
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/proposal.md +202 -0
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/cli-init/spec.md +199 -0
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/cli-update/spec.md +177 -0
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/profiles/spec.md +142 -0
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/propose-workflow/spec.md +42 -0
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/tasks.md +132 -0
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/design.md +149 -0
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/proposal.md +47 -0
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/specs/template-artifact-pipeline/spec.md +89 -0
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/tasks.md +41 -0
- package/OpenSpec-main/openspec/changes/workspace-agent-guidance/.openspec.yaml +2 -0
- package/OpenSpec-main/openspec/changes/workspace-agent-guidance/proposal.md +100 -0
- package/OpenSpec-main/openspec/changes/workspace-apply-repo-slice/proposal.md +58 -0
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/HISTORICAL_DIRECTION.md +511 -0
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/POC_REFERENCE_GUIDE.md +266 -0
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/README.md +107 -0
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/START_HERE.md +105 -0
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/proposal.md +62 -0
- package/OpenSpec-main/openspec/changes/workspace-verify-and-archive/proposal.md +57 -0
- package/OpenSpec-main/openspec/config.yaml +36 -0
- package/OpenSpec-main/openspec/explorations/explore-workflow-ux.md +116 -0
- package/OpenSpec-main/openspec/explorations/workspace-architecture.md +857 -0
- package/OpenSpec-main/openspec/explorations/workspace-roadmap.md +367 -0
- package/OpenSpec-main/openspec/explorations/workspace-user-journeys.md +2259 -0
- package/OpenSpec-main/openspec/explorations/workspace-ux-simplification.md +491 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/.initiative.yaml +27 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/README.md +33 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/decisions.md +204 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/direction.md +447 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/questions.md +23 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/roadmap.md +759 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/tasks.md +308 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/evidence.md +154 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/plan.md +90 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/tasks.md +44 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/evidence.md +68 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/plan.md +80 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/tasks.md +23 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/evidence.md +43 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/plan.md +85 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/tasks.md +17 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/evidence.md +77 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/plan.md +198 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/tasks.md +14 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/evidence.md +99 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/plan.md +236 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/tasks.md +21 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/evidence.md +97 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/plan.md +333 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/tasks.md +29 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/evidence.md +97 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/plan.md +184 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/tasks.md +27 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/evidence.md +239 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/plan.md +279 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/tasks.md +22 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/decision-review.md +64 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/evidence.md +106 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/plan.md +141 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/tasks.md +22 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/10-let-workspaces-open-initiatives/plan.md +430 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/10-let-workspaces-open-initiatives/tasks.md +43 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/notes.md +289 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/plan.md +39 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/tasks.md +8 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/evidence.md +45 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/plan.md +150 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/tasks.md +23 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/evidence.md +25 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/plan.md +98 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/tasks.md +25 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/14-workspaces-beta-guide-split/plan.md +37 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/14-workspaces-beta-guide-split/tasks.md +9 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/evidence.md +140 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/plan.md +344 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/tasks.md +39 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/16-add-escalation-ux/plan.md +26 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/16-add-escalation-ux/tasks.md +7 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/17-harden-team-shared-coordination/plan.md +25 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/17-harden-team-shared-coordination/tasks.md +7 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/evidence.md +397 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/plan.md +180 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/tasks.md +28 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/19-review-workspace-beta-compatibility-before-public-release/plan.md +62 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/19-review-workspace-beta-compatibility-before-public-release/tasks.md +16 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/evidence.md +47 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/plan.md +90 -0
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/tasks.md +18 -0
- package/OpenSpec-main/openspec/specs/ai-tool-paths/spec.md +63 -0
- package/OpenSpec-main/openspec/specs/artifact-graph/spec.md +165 -0
- package/OpenSpec-main/openspec/specs/change-creation/spec.md +108 -0
- package/OpenSpec-main/openspec/specs/ci-nix-validation/spec.md +107 -0
- package/OpenSpec-main/openspec/specs/cli-archive/spec.md +210 -0
- package/OpenSpec-main/openspec/specs/cli-artifact-workflow/spec.md +398 -0
- package/OpenSpec-main/openspec/specs/cli-change/spec.md +92 -0
- package/OpenSpec-main/openspec/specs/cli-completion/spec.md +432 -0
- package/OpenSpec-main/openspec/specs/cli-config/spec.md +318 -0
- package/OpenSpec-main/openspec/specs/cli-feedback/spec.md +193 -0
- package/OpenSpec-main/openspec/specs/cli-init/spec.md +269 -0
- package/OpenSpec-main/openspec/specs/cli-list/spec.md +103 -0
- package/OpenSpec-main/openspec/specs/cli-show/spec.md +86 -0
- package/OpenSpec-main/openspec/specs/cli-spec/spec.md +88 -0
- package/OpenSpec-main/openspec/specs/cli-update/spec.md +229 -0
- package/OpenSpec-main/openspec/specs/cli-validate/spec.md +219 -0
- package/OpenSpec-main/openspec/specs/cli-view/spec.md +129 -0
- package/OpenSpec-main/openspec/specs/command-generation/spec.md +97 -0
- package/OpenSpec-main/openspec/specs/config-loading/spec.md +122 -0
- package/OpenSpec-main/openspec/specs/context-injection/spec.md +53 -0
- package/OpenSpec-main/openspec/specs/docs-agent-instructions/spec.md +62 -0
- package/OpenSpec-main/openspec/specs/global-config/spec.md +101 -0
- package/OpenSpec-main/openspec/specs/instruction-loader/spec.md +70 -0
- package/OpenSpec-main/openspec/specs/legacy-cleanup/spec.md +163 -0
- package/OpenSpec-main/openspec/specs/openspec-conventions/spec.md +556 -0
- package/OpenSpec-main/openspec/specs/opsx-archive-skill/spec.md +128 -0
- package/OpenSpec-main/openspec/specs/opsx-onboard-skill/spec.md +167 -0
- package/OpenSpec-main/openspec/specs/opsx-verify-skill/spec.md +189 -0
- package/OpenSpec-main/openspec/specs/rules-injection/spec.md +102 -0
- package/OpenSpec-main/openspec/specs/schema-fork-command/spec.md +71 -0
- package/OpenSpec-main/openspec/specs/schema-init-command/spec.md +76 -0
- package/OpenSpec-main/openspec/specs/schema-resolution/spec.md +201 -0
- package/OpenSpec-main/openspec/specs/schema-validate-command/spec.md +91 -0
- package/OpenSpec-main/openspec/specs/schema-which-command/spec.md +70 -0
- package/OpenSpec-main/openspec/specs/specs-sync-skill/spec.md +72 -0
- package/OpenSpec-main/openspec/specs/telemetry/spec.md +122 -0
- package/OpenSpec-main/openspec/specs/workspace-change-planning/spec.md +71 -0
- package/OpenSpec-main/openspec/specs/workspace-foundation/spec.md +279 -0
- package/OpenSpec-main/openspec/specs/workspace-links/spec.md +529 -0
- package/OpenSpec-main/openspec/specs/workspace-open/spec.md +205 -0
- package/OpenSpec-main/openspec-parallel-merge-plan.md +98 -0
- package/OpenSpec-main/package-lock.json +4978 -0
- package/OpenSpec-main/package.json +84 -0
- package/OpenSpec-main/pnpm-lock.yaml +3187 -0
- package/OpenSpec-main/schemas/spec-driven/schema.yaml +153 -0
- package/OpenSpec-main/schemas/spec-driven/templates/design.md +19 -0
- package/OpenSpec-main/schemas/spec-driven/templates/proposal.md +23 -0
- package/OpenSpec-main/schemas/spec-driven/templates/spec.md +8 -0
- package/OpenSpec-main/schemas/spec-driven/templates/tasks.md +9 -0
- package/OpenSpec-main/schemas/workspace-planning/schema.yaml +72 -0
- package/OpenSpec-main/schemas/workspace-planning/templates/design.md +33 -0
- package/OpenSpec-main/schemas/workspace-planning/templates/proposal.md +28 -0
- package/OpenSpec-main/schemas/workspace-planning/templates/spec.md +9 -0
- package/OpenSpec-main/schemas/workspace-planning/templates/tasks.md +15 -0
- package/OpenSpec-main/scripts/README.md +37 -0
- package/OpenSpec-main/scripts/pack-version-check.mjs +111 -0
- package/OpenSpec-main/scripts/postinstall.js +83 -0
- package/OpenSpec-main/scripts/test-postinstall.sh +57 -0
- package/OpenSpec-main/scripts/update-flake.sh +128 -0
- package/OpenSpec-main/test/cli-e2e/basic.test.ts +205 -0
- package/OpenSpec-main/test/commands/artifact-workflow.test.ts +1063 -0
- package/OpenSpec-main/test/commands/change-initiative-link.test.ts +532 -0
- package/OpenSpec-main/test/commands/change.interactive-show.test.ts +45 -0
- package/OpenSpec-main/test/commands/change.interactive-validate.test.ts +48 -0
- package/OpenSpec-main/test/commands/completion.test.ts +278 -0
- package/OpenSpec-main/test/commands/config-profile.test.ts +532 -0
- package/OpenSpec-main/test/commands/config.test.ts +285 -0
- package/OpenSpec-main/test/commands/context-store.test.ts +692 -0
- package/OpenSpec-main/test/commands/feedback.test.ts +429 -0
- package/OpenSpec-main/test/commands/initiative.test.ts +907 -0
- package/OpenSpec-main/test/commands/schema.test.ts +467 -0
- package/OpenSpec-main/test/commands/show.test.ts +123 -0
- package/OpenSpec-main/test/commands/spec.interactive-show.test.ts +44 -0
- package/OpenSpec-main/test/commands/spec.interactive-validate.test.ts +44 -0
- package/OpenSpec-main/test/commands/spec.test.ts +324 -0
- package/OpenSpec-main/test/commands/validate.enriched-output.test.ts +49 -0
- package/OpenSpec-main/test/commands/validate.test.ts +147 -0
- package/OpenSpec-main/test/commands/workspace-initiative-open.test.ts +638 -0
- package/OpenSpec-main/test/commands/workspace-open.test.ts +123 -0
- package/OpenSpec-main/test/commands/workspace.interactive.test.ts +696 -0
- package/OpenSpec-main/test/commands/workspace.test.ts +1812 -0
- package/OpenSpec-main/test/core/archive.test.ts +869 -0
- package/OpenSpec-main/test/core/artifact-graph/graph.test.ts +268 -0
- package/OpenSpec-main/test/core/artifact-graph/instruction-loader.test.ts +609 -0
- package/OpenSpec-main/test/core/artifact-graph/outputs.test.ts +175 -0
- package/OpenSpec-main/test/core/artifact-graph/resolver.test.ts +651 -0
- package/OpenSpec-main/test/core/artifact-graph/schema.test.ts +207 -0
- package/OpenSpec-main/test/core/artifact-graph/state.test.ts +174 -0
- package/OpenSpec-main/test/core/artifact-graph/workflow.integration.test.ts +182 -0
- package/OpenSpec-main/test/core/available-tools.test.ts +167 -0
- package/OpenSpec-main/test/core/collections/initiatives/operations.test.ts +342 -0
- package/OpenSpec-main/test/core/collections/initiatives/resolution.test.ts +21 -0
- package/OpenSpec-main/test/core/collections/initiatives/schema.test.ts +201 -0
- package/OpenSpec-main/test/core/collections/initiatives/templates.test.ts +74 -0
- package/OpenSpec-main/test/core/collections/runtime.test.ts +214 -0
- package/OpenSpec-main/test/core/command-generation/adapters.test.ts +710 -0
- package/OpenSpec-main/test/core/command-generation/generator.test.ts +110 -0
- package/OpenSpec-main/test/core/command-generation/registry.test.ts +108 -0
- package/OpenSpec-main/test/core/command-generation/types.test.ts +79 -0
- package/OpenSpec-main/test/core/commands/change-command.list.test.ts +76 -0
- package/OpenSpec-main/test/core/commands/change-command.show-validate.test.ts +111 -0
- package/OpenSpec-main/test/core/completions/command-registry.test.ts +201 -0
- package/OpenSpec-main/test/core/completions/completion-provider.test.ts +288 -0
- package/OpenSpec-main/test/core/completions/generators/bash-generator.test.ts +586 -0
- package/OpenSpec-main/test/core/completions/generators/fish-generator.test.ts +549 -0
- package/OpenSpec-main/test/core/completions/generators/powershell-generator.test.ts +621 -0
- package/OpenSpec-main/test/core/completions/generators/zsh-generator.test.ts +425 -0
- package/OpenSpec-main/test/core/completions/installers/bash-installer.test.ts +484 -0
- package/OpenSpec-main/test/core/completions/installers/fish-installer.test.ts +321 -0
- package/OpenSpec-main/test/core/completions/installers/powershell-installer.test.ts +824 -0
- package/OpenSpec-main/test/core/completions/installers/zsh-installer.test.ts +750 -0
- package/OpenSpec-main/test/core/config-schema.test.ts +340 -0
- package/OpenSpec-main/test/core/context-store/foundation.test.ts +364 -0
- package/OpenSpec-main/test/core/context-store/registry.test.ts +599 -0
- package/OpenSpec-main/test/core/converters/json-converter.test.ts +184 -0
- package/OpenSpec-main/test/core/global-config.test.ts +371 -0
- package/OpenSpec-main/test/core/init.test.ts +786 -0
- package/OpenSpec-main/test/core/legacy-cleanup.test.ts +1162 -0
- package/OpenSpec-main/test/core/list.test.ts +165 -0
- package/OpenSpec-main/test/core/migration.test.ts +150 -0
- package/OpenSpec-main/test/core/parsers/change-parser.test.ts +52 -0
- package/OpenSpec-main/test/core/parsers/markdown-parser.test.ts +355 -0
- package/OpenSpec-main/test/core/parsers/requirement-blocks.test.ts +46 -0
- package/OpenSpec-main/test/core/planning-home.test.ts +120 -0
- package/OpenSpec-main/test/core/profile-sync-drift.test.ts +92 -0
- package/OpenSpec-main/test/core/profiles.test.ts +63 -0
- package/OpenSpec-main/test/core/project-config.test.ts +610 -0
- package/OpenSpec-main/test/core/shared/skill-generation.test.ts +301 -0
- package/OpenSpec-main/test/core/shared/tool-detection.test.ts +333 -0
- package/OpenSpec-main/test/core/templates/skill-templates-parity.test.ts +172 -0
- package/OpenSpec-main/test/core/update.test.ts +1810 -0
- package/OpenSpec-main/test/core/validation.enriched-messages.test.ts +74 -0
- package/OpenSpec-main/test/core/validation.test.ts +680 -0
- package/OpenSpec-main/test/core/view.test.ts +129 -0
- package/OpenSpec-main/test/core/workspace/foundation.test.ts +694 -0
- package/OpenSpec-main/test/core/workspace/legacy-state.test.ts +221 -0
- package/OpenSpec-main/test/core/workspace/skills.test.ts +69 -0
- package/OpenSpec-main/test/fixtures/tmp-init/openspec/changes/c1/proposal.md +7 -0
- package/OpenSpec-main/test/fixtures/tmp-init/openspec/changes/c1/specs/alpha/spec.md +8 -0
- package/OpenSpec-main/test/fixtures/tmp-init/openspec/specs/alpha/spec.md +12 -0
- package/OpenSpec-main/test/helpers/path-env.ts +26 -0
- package/OpenSpec-main/test/helpers/run-cli.ts +150 -0
- package/OpenSpec-main/test/prompts/searchable-multi-select.test.ts +220 -0
- package/OpenSpec-main/test/specs/source-specs-normalization.test.ts +63 -0
- package/OpenSpec-main/test/telemetry/config.test.ts +298 -0
- package/OpenSpec-main/test/telemetry/index.test.ts +219 -0
- package/OpenSpec-main/test/utils/change-metadata.test.ts +368 -0
- package/OpenSpec-main/test/utils/change-utils.test.ts +201 -0
- package/OpenSpec-main/test/utils/command-references.test.ts +83 -0
- package/OpenSpec-main/test/utils/file-system.test.ts +322 -0
- package/OpenSpec-main/test/utils/interactive.test.ts +125 -0
- package/OpenSpec-main/test/utils/marker-updates.test.ts +448 -0
- package/OpenSpec-main/test/utils/shell-detection.test.ts +185 -0
- package/OpenSpec-main/vitest.config.ts +47 -0
- package/OpenSpec-main/vitest.setup.ts +15 -0
- package/README.md +37 -4
- package/Scanner CLI Inteligente para Projetos.md +433 -0
- package/dist/index.js +1178 -139
- package/package.json +1 -1
- package/templates/wiki-recipes/nextjs.rules.md +21 -0
- package/templates/wiki-recipes/postgresql.rules.md +20 -0
- package/templates/wiki-recipes/react.rules.md +18 -0
- package/templates/wiki-recipes/tailwindcss.rules.md +18 -0
- package/templates/wiki-recipes/typescript.rules.md +21 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
## Context
|
|
2
|
+
|
|
3
|
+
Currently `openspec init` and `openspec experimental` are separate commands with distinct purposes:
|
|
4
|
+
|
|
5
|
+
- **init**: Creates `openspec/` directory, generates `AGENTS.md`/`project.md`, configures tool config files (`CLAUDE.md`, etc.), generates old slash commands (`/openspec:proposal`, etc.)
|
|
6
|
+
- **experimental**: Generates skills (9 per tool), generates opsx slash commands (`/opsx:new`, etc.), creates `config.yaml`
|
|
7
|
+
|
|
8
|
+
The skill-based workflow (experimental) is the direction we're going, so we're making it the default by merging into `init`.
|
|
9
|
+
|
|
10
|
+
## Goals / Non-Goals
|
|
11
|
+
|
|
12
|
+
**Goals:**
|
|
13
|
+
- Single `openspec init` command that sets up the complete skill-based workflow
|
|
14
|
+
- Clean migration path for existing users with legacy artifacts
|
|
15
|
+
- Remove all code related to config files and old slash commands
|
|
16
|
+
- Keep the polished UX from experimental (animated welcome, searchable multi-select)
|
|
17
|
+
|
|
18
|
+
**Non-Goals:**
|
|
19
|
+
- Supporting both workflows simultaneously
|
|
20
|
+
- Providing options to use the old workflow
|
|
21
|
+
- Backward compatibility for `/openspec:*` commands (breaking change)
|
|
22
|
+
|
|
23
|
+
## Decisions
|
|
24
|
+
|
|
25
|
+
### Decision 1: Merge into init, not into experimental
|
|
26
|
+
|
|
27
|
+
**Choice**: Rewrite `init` to do what `experimental` does, then delete `experimental`.
|
|
28
|
+
|
|
29
|
+
**Rationale**: `init` is the canonical setup command. Users expect `init` to set up their project. `experimental` was always meant to be temporary.
|
|
30
|
+
|
|
31
|
+
**Alternatives considered**:
|
|
32
|
+
- Keep `experimental` as the main command → confusing name for default behavior
|
|
33
|
+
- Create new command → unnecessary, `init` already exists
|
|
34
|
+
|
|
35
|
+
### Decision 2: Legacy cleanup with Y/N prompt
|
|
36
|
+
|
|
37
|
+
**Choice**: Detect legacy artifacts, show what was found, prompt `"Legacy files detected. Upgrade and clean up? [Y/n]"`, then remove if confirmed.
|
|
38
|
+
|
|
39
|
+
**Rationale**: Users should know what's being removed. A single Y/N is simple and decisive. No need for multiple options.
|
|
40
|
+
|
|
41
|
+
**Alternatives considered**:
|
|
42
|
+
- Multiple options (keep/remove/cancel) → overcomplicated
|
|
43
|
+
- Silent removal → users might be surprised
|
|
44
|
+
- Just warn without removing → leaves cruft
|
|
45
|
+
|
|
46
|
+
### Decision 3: Surgical removal of legacy content
|
|
47
|
+
|
|
48
|
+
**Choice**: For files with mixed content (OpenSpec markers + user content), only remove the OpenSpec marker block. For files that are 100% OpenSpec content, delete the entire file.
|
|
49
|
+
|
|
50
|
+
**Rationale**: Respects user customizations. CLAUDE.md might have other instructions beyond OpenSpec.
|
|
51
|
+
|
|
52
|
+
**Edge cases**:
|
|
53
|
+
- **Config files with mixed content**: Remove only `<!-- OPENSPEC:START -->` to `<!-- OPENSPEC:END -->` block
|
|
54
|
+
- **Config files that are 100% OpenSpec**: Delete file entirely (check if content outside markers is empty/whitespace)
|
|
55
|
+
- **Old slash command directories** (`.claude/commands/openspec/`): Delete entire directory (ours)
|
|
56
|
+
- **`openspec/AGENTS.md`**: Delete (ours)
|
|
57
|
+
- **Root `AGENTS.md`**: Only remove OpenSpec marker block, preserve rest
|
|
58
|
+
|
|
59
|
+
### Decision 6: Preserve project.md with migration hint
|
|
60
|
+
|
|
61
|
+
**Choice**: Do NOT auto-delete `openspec/project.md`. Preserve it and show a message directing users to manually migrate content to `config.yaml`'s `context:` field.
|
|
62
|
+
|
|
63
|
+
**Rationale**:
|
|
64
|
+
- `project.md` may contain valuable user-written project documentation
|
|
65
|
+
- The new workflow uses `config.yaml.context` for the same purpose (auto-injected into artifacts)
|
|
66
|
+
- Auto-deleting would lose user content; auto-migrating is complex (needs LLM to compress)
|
|
67
|
+
- Users can migrate manually or use `/opsx:explore` to get AI assistance
|
|
68
|
+
|
|
69
|
+
**Migration path**:
|
|
70
|
+
1. During legacy cleanup, detect `openspec/project.md` but do not delete
|
|
71
|
+
2. Show in output: "openspec/project.md still exists - migrate content to config.yaml's context: field, then delete"
|
|
72
|
+
3. User migrates manually or asks Claude in explore mode: "help me migrate project.md to config.yaml"
|
|
73
|
+
4. User deletes project.md when ready
|
|
74
|
+
|
|
75
|
+
**Why not auto-migrate?**
|
|
76
|
+
- `project.md` is verbose (sections, headers, placeholders)
|
|
77
|
+
- `config.yaml.context` should be concise and dense
|
|
78
|
+
- LLM compression would be ideal but adds complexity and non-determinism to init
|
|
79
|
+
- Manual migration lets users decide what's actually important
|
|
80
|
+
|
|
81
|
+
### Decision 4: Hidden alias for experimental
|
|
82
|
+
|
|
83
|
+
**Choice**: Keep `openspec experimental` as a hidden command that delegates to `init`.
|
|
84
|
+
|
|
85
|
+
**Rationale**: Users who learned `experimental` can still use it during transition. Hidden means it won't show in help.
|
|
86
|
+
|
|
87
|
+
### Decision 5: Reuse existing infrastructure
|
|
88
|
+
|
|
89
|
+
**Choice**: Reuse skill templates, command adapters, welcome screen, and multi-select from experimental.
|
|
90
|
+
|
|
91
|
+
**Rationale**: Already built and working. Just needs to be called from init instead of experimental.
|
|
92
|
+
|
|
93
|
+
## Risks / Trade-offs
|
|
94
|
+
|
|
95
|
+
| Risk | Mitigation |
|
|
96
|
+
|------|------------|
|
|
97
|
+
| Users with custom `/openspec:*` commands lose them | Document in release notes; old commands are in git history |
|
|
98
|
+
| Mixed-content detection might be imperfect | Conservative approach: if unsure, preserve the file and warn |
|
|
99
|
+
| Users confused by missing config files | Clear messaging in init output about what changed |
|
|
100
|
+
| `openspec update` might break | Review and update `update` command to work with new structure |
|
|
101
|
+
|
|
102
|
+
## Architecture
|
|
103
|
+
|
|
104
|
+
### What init creates (after merge)
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
openspec/
|
|
108
|
+
├── config.yaml # Schema settings (from experimental)
|
|
109
|
+
├── specs/ # Empty, for user's specs
|
|
110
|
+
└── changes/ # Empty, for user's changes
|
|
111
|
+
└── archive/
|
|
112
|
+
|
|
113
|
+
.<tool>/skills/ # 9 skills per selected tool
|
|
114
|
+
├── openspec-explore/SKILL.md
|
|
115
|
+
├── openspec-new-change/SKILL.md
|
|
116
|
+
├── openspec-continue-change/SKILL.md
|
|
117
|
+
├── openspec-apply-change/SKILL.md
|
|
118
|
+
├── openspec-ff-change/SKILL.md
|
|
119
|
+
├── openspec-verify-change/SKILL.md
|
|
120
|
+
├── openspec-sync-specs/SKILL.md
|
|
121
|
+
├── openspec-archive-change/SKILL.md
|
|
122
|
+
└── openspec-bulk-archive-change/SKILL.md
|
|
123
|
+
|
|
124
|
+
.<tool>/commands/opsx/ # 9 slash commands per selected tool
|
|
125
|
+
├── explore.md
|
|
126
|
+
├── new.md
|
|
127
|
+
├── continue.md
|
|
128
|
+
├── apply.md
|
|
129
|
+
├── ff.md
|
|
130
|
+
├── verify.md
|
|
131
|
+
├── sync.md
|
|
132
|
+
├── archive.md
|
|
133
|
+
└── bulk-archive.md
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### What init no longer creates
|
|
137
|
+
|
|
138
|
+
- `CLAUDE.md`, `.cursorrules`, `.windsurfrules`, etc. (config files)
|
|
139
|
+
- `openspec/AGENTS.md`
|
|
140
|
+
- `openspec/project.md`
|
|
141
|
+
- Root `AGENTS.md` stub
|
|
142
|
+
- `.claude/commands/openspec/` (old slash commands)
|
|
143
|
+
|
|
144
|
+
### Legacy detection targets
|
|
145
|
+
|
|
146
|
+
| Artifact Type | Detection Method | Removal Method |
|
|
147
|
+
|--------------|------------------|----------------|
|
|
148
|
+
| Config files (CLAUDE.md, etc.) | File exists AND contains OpenSpec markers | Remove marker block; delete file if empty after |
|
|
149
|
+
| Old slash command dirs | Directory exists at `.<tool>/commands/openspec/` | Delete entire directory |
|
|
150
|
+
| openspec/AGENTS.md | File exists at `openspec/AGENTS.md` | Delete file |
|
|
151
|
+
| openspec/project.md | File exists at `openspec/project.md` | **Preserve** - show migration hint only |
|
|
152
|
+
| Root AGENTS.md | File exists at `AGENTS.md` AND contains OpenSpec markers | Remove marker block; delete file if empty after |
|
|
153
|
+
|
|
154
|
+
### Code to remove
|
|
155
|
+
|
|
156
|
+
- `src/core/configurators/` - entire directory (ToolRegistry, all config generators)
|
|
157
|
+
- `src/core/configurators/slash/` - entire directory (SlashCommandRegistry, old command generators)
|
|
158
|
+
- `src/core/templates/slash-command-templates.ts` - old `/openspec:*` content
|
|
159
|
+
- `src/core/templates/claude-template.ts`
|
|
160
|
+
- `src/core/templates/cline-template.ts`
|
|
161
|
+
- `src/core/templates/costrict-template.ts`
|
|
162
|
+
- `src/core/templates/agents-template.ts`
|
|
163
|
+
- `src/core/templates/agents-root-stub.ts`
|
|
164
|
+
- `src/core/templates/project-template.ts`
|
|
165
|
+
- `src/commands/experimental/` - entire directory (merged into init)
|
|
166
|
+
- Related test files
|
|
167
|
+
|
|
168
|
+
### Code to migrate into init
|
|
169
|
+
|
|
170
|
+
- Animated welcome screen (`src/ui/welcome-screen.ts`) - keep, call from init
|
|
171
|
+
- Searchable multi-select (`src/prompts/searchable-multi-select.ts`) - keep, call from init
|
|
172
|
+
- Skill templates (`src/core/templates/skill-templates.ts`) - keep
|
|
173
|
+
- Command generation (`src/core/command-generation/`) - keep
|
|
174
|
+
- Tool states detection (from `experimental/setup.ts`) - move to init
|
|
175
|
+
|
|
176
|
+
## Open Questions
|
|
177
|
+
|
|
178
|
+
1. **What happens to `openspec update`?** - RESOLVED
|
|
179
|
+
|
|
180
|
+
**Current behavior**: Updates `openspec/AGENTS.md`, config files (`CLAUDE.md`, etc.) via `ToolRegistry`, and old slash commands (`/openspec:*`) via `SlashCommandRegistry`.
|
|
181
|
+
|
|
182
|
+
**New behavior**: Rewrite to refresh skills and opsx commands instead:
|
|
183
|
+
- Detect which tools have skills installed (check for `.claude/skills/openspec-*/`, etc.)
|
|
184
|
+
- Refresh all 9 skill files per installed tool using `skill-templates.ts`
|
|
185
|
+
- Refresh all 9 opsx command files per installed tool using `command-generation/` adapters
|
|
186
|
+
- Remove imports of `ToolRegistry`, `SlashCommandRegistry`, `agentsTemplate`
|
|
187
|
+
- Update output messaging to reflect skills/commands instead of config files
|
|
188
|
+
|
|
189
|
+
**Key principle**: Same as current update - only refresh existing tools, don't add new ones.
|
|
190
|
+
|
|
191
|
+
2. **Should we keep `openspec schemas` and other experimental subcommands?** - RESOLVED
|
|
192
|
+
|
|
193
|
+
**Decision**: Yes, keep them. Remove "[Experimental]" label from all subcommands (status, instructions, schemas, etc.). See task 4.3.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
## Why
|
|
2
|
+
|
|
3
|
+
The current setup has two separate commands (`openspec init` and `openspec experimental`) that configure different parts of the OpenSpec workflow. This creates confusion about which command to run, results in partial setups, and maintains two parallel systems (config files + old slash commands vs skills + opsx commands). Making the skill-based workflow the default simplifies onboarding and establishes a single, consistent way to use OpenSpec.
|
|
4
|
+
|
|
5
|
+
## What Changes
|
|
6
|
+
|
|
7
|
+
- **BREAKING**: `openspec init` now generates skills and `/opsx:*` commands instead of config files and `/openspec:*` commands
|
|
8
|
+
- **BREAKING**: Config files (`CLAUDE.md`, `.cursorrules`, etc.) are no longer generated
|
|
9
|
+
- **BREAKING**: Old slash commands (`/openspec:proposal`, `/openspec:apply`, `/openspec:archive`) are no longer generated
|
|
10
|
+
- **BREAKING**: `openspec/AGENTS.md` and `openspec/project.md` are no longer generated
|
|
11
|
+
- Merge `experimental` command functionality into `init`
|
|
12
|
+
- Add legacy detection and auto-cleanup with Y/N confirmation
|
|
13
|
+
- Keep `openspec experimental` as hidden alias for backward compatibility
|
|
14
|
+
- Use the animated welcome screen from experimental for the unified init
|
|
15
|
+
|
|
16
|
+
## Capabilities
|
|
17
|
+
|
|
18
|
+
### New Capabilities
|
|
19
|
+
|
|
20
|
+
- `legacy-cleanup`: Detect and remove legacy OpenSpec artifacts (config files, old slash commands, AGENTS.md) during init
|
|
21
|
+
|
|
22
|
+
### Modified Capabilities
|
|
23
|
+
|
|
24
|
+
- `cli-init`: Complete rewrite - generates skills and opsx commands instead of config files and old slash commands; removes AGENTS.md/project.md generation; adds legacy cleanup; uses experimental's animated welcome screen
|
|
25
|
+
|
|
26
|
+
## Impact
|
|
27
|
+
|
|
28
|
+
- **Code removal**: `ToolRegistry`, `SlashCommandRegistry`, config file generators, old slash command templates, AGENTS.md/project.md templates
|
|
29
|
+
- **Code migration**: Move skill generation and command adapter logic from `experimental/setup.ts` into `init.ts`
|
|
30
|
+
- **Commands affected**: `init` (rewritten), `experimental` (becomes hidden alias), `update` (may need adjustment)
|
|
31
|
+
- **User migration**: Existing users running `init` will be prompted to clean up legacy files
|
|
32
|
+
- **Breaking for**: Users relying on config files for passive triggering, users using `/openspec:*` commands
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
## MODIFIED Requirements
|
|
2
|
+
|
|
3
|
+
### Requirement: Directory Creation
|
|
4
|
+
|
|
5
|
+
The command SHALL create the OpenSpec directory structure with config file.
|
|
6
|
+
|
|
7
|
+
#### Scenario: Creating OpenSpec structure
|
|
8
|
+
|
|
9
|
+
- **WHEN** `openspec init` is executed
|
|
10
|
+
- **THEN** create the following directory structure:
|
|
11
|
+
```
|
|
12
|
+
openspec/
|
|
13
|
+
├── config.yaml
|
|
14
|
+
├── specs/
|
|
15
|
+
└── changes/
|
|
16
|
+
└── archive/
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Requirement: AI Tool Configuration
|
|
20
|
+
|
|
21
|
+
The command SHALL configure AI coding assistants with skills and slash commands using a searchable multi-select experience.
|
|
22
|
+
|
|
23
|
+
#### Scenario: Prompting for AI tool selection
|
|
24
|
+
|
|
25
|
+
- **WHEN** run interactively
|
|
26
|
+
- **THEN** display animated welcome screen with OpenSpec logo
|
|
27
|
+
- **AND** present a searchable multi-select that shows all available tools
|
|
28
|
+
- **AND** mark already configured tools with "(configured ✓)" indicator
|
|
29
|
+
- **AND** pre-select configured tools for easy refresh
|
|
30
|
+
- **AND** sort configured tools to appear first in the list
|
|
31
|
+
- **AND** allow filtering by typing to search
|
|
32
|
+
|
|
33
|
+
#### Scenario: Selecting tools to configure
|
|
34
|
+
|
|
35
|
+
- **WHEN** user selects tools and confirms
|
|
36
|
+
- **THEN** generate skills in `.<tool>/skills/` directory for each selected tool
|
|
37
|
+
- **AND** generate slash commands in `.<tool>/commands/opsx/` directory for each selected tool
|
|
38
|
+
- **AND** create `openspec/config.yaml` with default schema setting
|
|
39
|
+
|
|
40
|
+
### Requirement: Skill Generation
|
|
41
|
+
|
|
42
|
+
The command SHALL generate Agent Skills for selected AI tools.
|
|
43
|
+
|
|
44
|
+
#### Scenario: Generating skills for a tool
|
|
45
|
+
|
|
46
|
+
- **WHEN** a tool is selected during initialization
|
|
47
|
+
- **THEN** create 9 skill directories under `.<tool>/skills/`:
|
|
48
|
+
- `openspec-explore/SKILL.md`
|
|
49
|
+
- `openspec-new-change/SKILL.md`
|
|
50
|
+
- `openspec-continue-change/SKILL.md`
|
|
51
|
+
- `openspec-apply-change/SKILL.md`
|
|
52
|
+
- `openspec-ff-change/SKILL.md`
|
|
53
|
+
- `openspec-verify-change/SKILL.md`
|
|
54
|
+
- `openspec-sync-specs/SKILL.md`
|
|
55
|
+
- `openspec-archive-change/SKILL.md`
|
|
56
|
+
- `openspec-bulk-archive-change/SKILL.md`
|
|
57
|
+
- **AND** each SKILL.md SHALL contain YAML frontmatter with name and description
|
|
58
|
+
- **AND** each SKILL.md SHALL contain the skill instructions
|
|
59
|
+
|
|
60
|
+
### Requirement: Slash Command Generation
|
|
61
|
+
|
|
62
|
+
The command SHALL generate opsx slash commands for selected AI tools.
|
|
63
|
+
|
|
64
|
+
#### Scenario: Generating slash commands for a tool
|
|
65
|
+
|
|
66
|
+
- **WHEN** a tool is selected during initialization
|
|
67
|
+
- **THEN** create 9 slash command files using the tool's command adapter:
|
|
68
|
+
- `/opsx:explore`
|
|
69
|
+
- `/opsx:new`
|
|
70
|
+
- `/opsx:continue`
|
|
71
|
+
- `/opsx:apply`
|
|
72
|
+
- `/opsx:ff`
|
|
73
|
+
- `/opsx:verify`
|
|
74
|
+
- `/opsx:sync`
|
|
75
|
+
- `/opsx:archive`
|
|
76
|
+
- `/opsx:bulk-archive`
|
|
77
|
+
- **AND** use tool-specific path conventions (e.g., `.claude/commands/opsx/` for Claude)
|
|
78
|
+
- **AND** include tool-specific frontmatter format
|
|
79
|
+
|
|
80
|
+
### Requirement: Success Output
|
|
81
|
+
|
|
82
|
+
The command SHALL provide clear, actionable next steps upon successful initialization.
|
|
83
|
+
|
|
84
|
+
#### Scenario: Displaying success message
|
|
85
|
+
|
|
86
|
+
- **WHEN** initialization completes successfully
|
|
87
|
+
- **THEN** display categorized summary:
|
|
88
|
+
- "Created: <tools>" for newly configured tools
|
|
89
|
+
- "Refreshed: <tools>" for already-configured tools that were updated
|
|
90
|
+
- Count of skills and commands generated
|
|
91
|
+
- **AND** display getting started section with:
|
|
92
|
+
- `/opsx:new` - Start a new change
|
|
93
|
+
- `/opsx:continue` - Create the next artifact
|
|
94
|
+
- `/opsx:apply` - Implement tasks
|
|
95
|
+
- **AND** display links to documentation and feedback
|
|
96
|
+
|
|
97
|
+
#### Scenario: Displaying restart instruction
|
|
98
|
+
|
|
99
|
+
- **WHEN** initialization completes successfully and tools were created or refreshed
|
|
100
|
+
- **THEN** display instruction to restart IDE for slash commands to take effect
|
|
101
|
+
|
|
102
|
+
### Requirement: Config File Generation
|
|
103
|
+
|
|
104
|
+
The command SHALL create an OpenSpec config file with schema settings.
|
|
105
|
+
|
|
106
|
+
#### Scenario: Creating config.yaml
|
|
107
|
+
|
|
108
|
+
- **WHEN** initialization completes
|
|
109
|
+
- **AND** config.yaml does not exist
|
|
110
|
+
- **THEN** create `openspec/config.yaml` with default schema setting
|
|
111
|
+
- **AND** display config location in output
|
|
112
|
+
|
|
113
|
+
#### Scenario: Preserving existing config.yaml
|
|
114
|
+
|
|
115
|
+
- **WHEN** initialization runs in extend mode
|
|
116
|
+
- **AND** `openspec/config.yaml` already exists
|
|
117
|
+
- **THEN** preserve the existing config file
|
|
118
|
+
- **AND** display "(exists)" indicator in output
|
|
119
|
+
|
|
120
|
+
### Requirement: Non-Interactive Mode
|
|
121
|
+
|
|
122
|
+
The command SHALL support non-interactive operation through command-line options.
|
|
123
|
+
|
|
124
|
+
#### Scenario: Select all tools non-interactively
|
|
125
|
+
|
|
126
|
+
- **WHEN** run with `--tools all`
|
|
127
|
+
- **THEN** automatically select every available AI tool without prompting
|
|
128
|
+
- **AND** proceed with skill and command generation
|
|
129
|
+
|
|
130
|
+
#### Scenario: Select specific tools non-interactively
|
|
131
|
+
|
|
132
|
+
- **WHEN** run with `--tools claude,cursor`
|
|
133
|
+
- **THEN** parse the comma-separated tool IDs
|
|
134
|
+
- **AND** generate skills and commands for specified tools only
|
|
135
|
+
|
|
136
|
+
#### Scenario: Skip tool configuration non-interactively
|
|
137
|
+
|
|
138
|
+
- **WHEN** run with `--tools none`
|
|
139
|
+
- **THEN** create only the openspec directory structure and config.yaml
|
|
140
|
+
- **AND** skip skill and command generation
|
|
141
|
+
|
|
142
|
+
### Requirement: Experimental Command Alias
|
|
143
|
+
|
|
144
|
+
The command SHALL maintain backward compatibility with the experimental command.
|
|
145
|
+
|
|
146
|
+
#### Scenario: Running openspec experimental
|
|
147
|
+
|
|
148
|
+
- **WHEN** user runs `openspec experimental`
|
|
149
|
+
- **THEN** delegate to `openspec init`
|
|
150
|
+
- **AND** the command SHALL be hidden from help output
|
|
151
|
+
|
|
152
|
+
## REMOVED Requirements
|
|
153
|
+
|
|
154
|
+
### Requirement: File Generation
|
|
155
|
+
|
|
156
|
+
**Reason**: AGENTS.md and project.md are no longer generated. Skills contain all necessary instructions.
|
|
157
|
+
|
|
158
|
+
**Migration**: Skills in `.<tool>/skills/` provide all OpenSpec workflow instructions. No manual file needed.
|
|
159
|
+
|
|
160
|
+
### Requirement: AI Tool Configuration Details
|
|
161
|
+
|
|
162
|
+
**Reason**: Config files (CLAUDE.md, .cursorrules, etc.) are replaced by skills.
|
|
163
|
+
|
|
164
|
+
**Migration**: Use skills in `.<tool>/skills/` instead of config files. Skills provide richer, tool-specific instructions.
|
|
165
|
+
|
|
166
|
+
### Requirement: Slash Command Configuration
|
|
167
|
+
|
|
168
|
+
**Reason**: Old `/openspec:*` slash commands are replaced by `/opsx:*` commands with richer functionality.
|
|
169
|
+
|
|
170
|
+
**Migration**: Use `/opsx:new`, `/opsx:continue`, `/opsx:apply` instead of `/openspec:proposal`, `/openspec:apply`, `/openspec:archive`.
|
|
171
|
+
|
|
172
|
+
### Requirement: Root instruction stub
|
|
173
|
+
|
|
174
|
+
**Reason**: Root AGENTS.md stub is no longer needed. Skills provide tool-specific instructions.
|
|
175
|
+
|
|
176
|
+
**Migration**: Skills are loaded automatically by supporting tools. No root stub needed.
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
## ADDED Requirements
|
|
2
|
+
|
|
3
|
+
### Requirement: Legacy artifact detection
|
|
4
|
+
|
|
5
|
+
The system SHALL detect legacy OpenSpec artifacts from previous init versions.
|
|
6
|
+
|
|
7
|
+
#### Scenario: Detecting legacy config files
|
|
8
|
+
|
|
9
|
+
- **WHEN** running `openspec init` on an existing project
|
|
10
|
+
- **THEN** the system SHALL check for config files with OpenSpec markers:
|
|
11
|
+
- `CLAUDE.md`
|
|
12
|
+
- `.cursorrules`
|
|
13
|
+
- `.windsurfrules`
|
|
14
|
+
- `.clinerules`
|
|
15
|
+
- `.kilocode_rules`
|
|
16
|
+
- `.github/copilot-instructions.md`
|
|
17
|
+
- `.amazonq/instructions.md`
|
|
18
|
+
- `CODEBUDDY.md`
|
|
19
|
+
- `IFLOW.md`
|
|
20
|
+
- And all other tool config files from the legacy ToolRegistry
|
|
21
|
+
|
|
22
|
+
#### Scenario: Detecting legacy slash command directories
|
|
23
|
+
|
|
24
|
+
- **WHEN** running `openspec init` on an existing project
|
|
25
|
+
- **THEN** the system SHALL check for old slash command directories:
|
|
26
|
+
- `.claude/commands/openspec/`
|
|
27
|
+
- `.cursor/commands/openspec/` (note: old format used `openspec-*.md` in commands root)
|
|
28
|
+
- `.windsurf/workflows/openspec-*.md`
|
|
29
|
+
- And equivalent directories for all tools in the legacy SlashCommandRegistry
|
|
30
|
+
|
|
31
|
+
#### Scenario: Detecting legacy OpenSpec structure files
|
|
32
|
+
|
|
33
|
+
- **WHEN** running `openspec init` on an existing project
|
|
34
|
+
- **THEN** the system SHALL check for:
|
|
35
|
+
- `openspec/AGENTS.md`
|
|
36
|
+
- `openspec/project.md` (for migration messaging only, not deleted)
|
|
37
|
+
- Root `AGENTS.md` with OpenSpec markers
|
|
38
|
+
|
|
39
|
+
### Requirement: Legacy cleanup confirmation
|
|
40
|
+
|
|
41
|
+
The system SHALL prompt for confirmation before removing legacy artifacts.
|
|
42
|
+
|
|
43
|
+
#### Scenario: Prompting for cleanup when legacy detected
|
|
44
|
+
|
|
45
|
+
- **WHEN** legacy artifacts are detected
|
|
46
|
+
- **THEN** the system SHALL display what was found
|
|
47
|
+
- **AND** prompt: "Legacy files detected. Upgrade and clean up? [Y/n]"
|
|
48
|
+
- **AND** default to Yes if user presses Enter
|
|
49
|
+
|
|
50
|
+
#### Scenario: User confirms cleanup
|
|
51
|
+
|
|
52
|
+
- **WHEN** user responds Y or presses Enter
|
|
53
|
+
- **THEN** the system SHALL remove legacy artifacts
|
|
54
|
+
- **AND** proceed with skill-based setup
|
|
55
|
+
|
|
56
|
+
#### Scenario: User declines cleanup
|
|
57
|
+
|
|
58
|
+
- **WHEN** user responds N
|
|
59
|
+
- **THEN** the system SHALL abort initialization
|
|
60
|
+
- **AND** display message suggesting manual cleanup or using `--force` flag
|
|
61
|
+
|
|
62
|
+
#### Scenario: Non-interactive mode
|
|
63
|
+
|
|
64
|
+
- **WHEN** running with `--no-interactive` or in CI environment
|
|
65
|
+
- **AND** legacy artifacts are detected
|
|
66
|
+
- **THEN** the system SHALL abort with exit code 1
|
|
67
|
+
- **AND** display detected legacy artifacts
|
|
68
|
+
- **AND** suggest running interactively or using `--force` flag
|
|
69
|
+
|
|
70
|
+
### Requirement: Surgical removal of config file content
|
|
71
|
+
|
|
72
|
+
The system SHALL preserve user content when removing OpenSpec markers from config files.
|
|
73
|
+
|
|
74
|
+
#### Scenario: Config file with only OpenSpec content
|
|
75
|
+
|
|
76
|
+
- **WHEN** a config file contains only OpenSpec marker block (whitespace outside is acceptable)
|
|
77
|
+
- **THEN** the system SHALL remove the OpenSpec marker block
|
|
78
|
+
- **AND** preserve the file (even if empty or whitespace-only)
|
|
79
|
+
- **AND** NOT delete the file (config files belong to the user's project root)
|
|
80
|
+
|
|
81
|
+
#### Scenario: Config file with mixed content
|
|
82
|
+
|
|
83
|
+
- **WHEN** a config file contains content outside OpenSpec markers
|
|
84
|
+
- **THEN** the system SHALL remove only the `<!-- OPENSPEC:START -->` to `<!-- OPENSPEC:END -->` block
|
|
85
|
+
- **AND** preserve all content before and after the markers
|
|
86
|
+
- **AND** clean up any resulting double blank lines
|
|
87
|
+
|
|
88
|
+
#### Scenario: Root AGENTS.md with mixed content
|
|
89
|
+
|
|
90
|
+
- **WHEN** root `AGENTS.md` contains OpenSpec markers AND other content
|
|
91
|
+
- **THEN** the system SHALL remove only the OpenSpec marker block
|
|
92
|
+
- **AND** preserve the rest of the file
|
|
93
|
+
|
|
94
|
+
### Requirement: Legacy directory removal
|
|
95
|
+
|
|
96
|
+
The system SHALL remove legacy slash command directories entirely.
|
|
97
|
+
|
|
98
|
+
#### Scenario: Removing old slash command directory
|
|
99
|
+
|
|
100
|
+
- **WHEN** a legacy slash command directory exists (e.g., `.claude/commands/openspec/`)
|
|
101
|
+
- **THEN** the system SHALL delete the entire directory and its contents
|
|
102
|
+
- **AND** NOT delete the parent directory (e.g., `.claude/commands/` remains)
|
|
103
|
+
|
|
104
|
+
#### Scenario: Removing legacy AGENTS.md
|
|
105
|
+
|
|
106
|
+
- **WHEN** `openspec/AGENTS.md` exists
|
|
107
|
+
- **THEN** the system SHALL delete the file
|
|
108
|
+
- **AND** NOT delete the `openspec/` directory itself
|
|
109
|
+
|
|
110
|
+
### Requirement: project.md migration hint
|
|
111
|
+
|
|
112
|
+
The system SHALL preserve project.md and display a migration hint instead of deleting it.
|
|
113
|
+
|
|
114
|
+
#### Scenario: project.md exists during upgrade
|
|
115
|
+
|
|
116
|
+
- **WHEN** `openspec/project.md` exists during legacy cleanup
|
|
117
|
+
- **THEN** the system SHALL NOT delete the file
|
|
118
|
+
- **AND** the system SHALL display a migration hint in the output:
|
|
119
|
+
```
|
|
120
|
+
Manual migration needed:
|
|
121
|
+
→ openspec/project.md still exists
|
|
122
|
+
Move useful content to config.yaml's "context:" field, then delete
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Scenario: project.md migration rationale
|
|
126
|
+
|
|
127
|
+
- **GIVEN** project.md may contain user-written project documentation
|
|
128
|
+
- **AND** config.yaml's context field serves the same purpose (auto-injected into artifacts)
|
|
129
|
+
- **WHEN** displaying the migration hint
|
|
130
|
+
- **THEN** users can migrate manually or use `/opsx:explore` to get AI assistance
|
|
131
|
+
|
|
132
|
+
### Requirement: Cleanup reporting
|
|
133
|
+
|
|
134
|
+
The system SHALL report what was cleaned up.
|
|
135
|
+
|
|
136
|
+
#### Scenario: Displaying cleanup summary
|
|
137
|
+
|
|
138
|
+
- **WHEN** legacy cleanup completes
|
|
139
|
+
- **THEN** the system SHALL display a summary section:
|
|
140
|
+
```
|
|
141
|
+
Cleaned up legacy files:
|
|
142
|
+
✓ Removed OpenSpec markers from CLAUDE.md
|
|
143
|
+
✓ Removed .claude/commands/openspec/ (replaced by /opsx:*)
|
|
144
|
+
✓ Removed openspec/AGENTS.md (no longer needed)
|
|
145
|
+
```
|
|
146
|
+
- **AND IF** `openspec/project.md` exists
|
|
147
|
+
- **THEN** the system SHALL display a separate migration section:
|
|
148
|
+
```
|
|
149
|
+
Manual migration needed:
|
|
150
|
+
→ openspec/project.md still exists
|
|
151
|
+
Move useful content to config.yaml's "context:" field, then delete
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
#### Scenario: No legacy detected
|
|
155
|
+
|
|
156
|
+
- **WHEN** no legacy artifacts are found
|
|
157
|
+
- **THEN** the system SHALL NOT display the cleanup section
|
|
158
|
+
- **AND** proceed directly with skill setup
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
## 1. Legacy Detection & Cleanup Module
|
|
2
|
+
|
|
3
|
+
- [x] 1.1 Create `src/core/legacy-cleanup.ts` with detection functions for all legacy artifact types
|
|
4
|
+
- [x] 1.2 Implement `detectLegacyConfigFiles()` - check for config files with OpenSpec markers
|
|
5
|
+
- [x] 1.3 Implement `detectLegacySlashCommands()` - check for old `/openspec:*` command directories
|
|
6
|
+
- [x] 1.4 Implement `detectLegacyStructureFiles()` - check for AGENTS.md (project.md detected separately for messaging)
|
|
7
|
+
- [x] 1.5 Implement `removeMarkerBlock()` - surgically remove OpenSpec marker blocks from files
|
|
8
|
+
- [x] 1.6 Implement `cleanupLegacyArtifacts()` - orchestrate removal with proper edge case handling (preserves project.md)
|
|
9
|
+
- [x] 1.7 Implement migration hint output for project.md - show message directing users to migrate to config.yaml
|
|
10
|
+
- [x] 1.8 Add unit tests for legacy detection and cleanup functions
|
|
11
|
+
|
|
12
|
+
## 2. Rewrite Init Command
|
|
13
|
+
|
|
14
|
+
- [x] 2.1 Replace `src/core/init.ts` with new implementation using experimental's approach
|
|
15
|
+
- [x] 2.2 Import and use animated welcome screen from `src/ui/welcome-screen.ts`
|
|
16
|
+
- [x] 2.3 Import and use searchable multi-select from `src/prompts/searchable-multi-select.ts`
|
|
17
|
+
- [x] 2.4 Integrate legacy detection at start of init flow
|
|
18
|
+
- [x] 2.5 Add Y/N prompt for legacy cleanup confirmation
|
|
19
|
+
- [x] 2.6 Generate skills using existing `skill-templates.ts`
|
|
20
|
+
- [x] 2.7 Generate slash commands using existing `command-generation/` adapters
|
|
21
|
+
- [x] 2.8 Create `openspec/config.yaml` with default schema
|
|
22
|
+
- [x] 2.9 Update success output to match new workflow (skills, /opsx:* commands)
|
|
23
|
+
- [x] 2.10 Add `--force` flag to skip legacy cleanup prompt in non-interactive mode
|
|
24
|
+
|
|
25
|
+
## 3. Remove Legacy Code
|
|
26
|
+
|
|
27
|
+
- [x] 3.1 Delete `src/core/configurators/` directory (ToolRegistry, all config generators)
|
|
28
|
+
- [x] 3.2 Delete `src/core/templates/slash-command-templates.ts`
|
|
29
|
+
- [x] 3.3 Delete `src/core/templates/claude-template.ts`
|
|
30
|
+
- [x] 3.4 Delete `src/core/templates/cline-template.ts`
|
|
31
|
+
- [x] 3.5 Delete `src/core/templates/costrict-template.ts`
|
|
32
|
+
- [x] 3.6 Delete `src/core/templates/agents-template.ts`
|
|
33
|
+
- [x] 3.7 Delete `src/core/templates/agents-root-stub.ts`
|
|
34
|
+
- [x] 3.8 Delete `src/core/templates/project-template.ts`
|
|
35
|
+
- [x] 3.9 Delete `src/commands/experimental/` directory
|
|
36
|
+
- [x] 3.10 Update `src/core/templates/index.ts` to remove deleted exports
|
|
37
|
+
- [x] 3.11 Delete related test files for removed modules (wizard.ts)
|
|
38
|
+
|
|
39
|
+
## 4. Update CLI Registration
|
|
40
|
+
|
|
41
|
+
- [x] 4.1 Update `src/cli/index.ts` to remove `registerArtifactWorkflowCommands()` call
|
|
42
|
+
- [x] 4.2 Keep experimental subcommands (status, instructions, schemas, etc.) but register directly
|
|
43
|
+
- [x] 4.3 Remove "[Experimental]" labels from kept subcommands
|
|
44
|
+
- [x] 4.4 Add hidden `experimental` command as alias to `init`
|
|
45
|
+
|
|
46
|
+
## 5. Update Related Commands
|
|
47
|
+
|
|
48
|
+
- [x] 5.1 Update `openspec update` command to refresh skills/commands instead of config files
|
|
49
|
+
- [x] 5.2 Remove config file refresh logic from update
|
|
50
|
+
- [x] 5.3 Add skill refresh logic to update
|
|
51
|
+
|
|
52
|
+
## 6. Testing & Verification
|
|
53
|
+
|
|
54
|
+
- [x] 6.1 Add integration tests for new init flow (fresh install)
|
|
55
|
+
- [x] 6.2 Add integration tests for legacy detection and cleanup
|
|
56
|
+
- [x] 6.3 Add integration tests for extend mode (re-running init)
|
|
57
|
+
- [x] 6.4 Test non-interactive mode with `--tools` flag
|
|
58
|
+
- [x] 6.5 Test `--force` flag for CI environments
|
|
59
|
+
- [x] 6.6 Verify cross-platform path handling (use path.join throughout)
|
|
60
|
+
- [x] 6.7 Run full test suite and fix any broken tests
|
|
61
|
+
|
|
62
|
+
## 7. Documentation & Cleanup
|
|
63
|
+
|
|
64
|
+
- [x] 7.1 Update README with new init behavior (skill-based workflow is self-documenting)
|
|
65
|
+
- [x] 7.2 Document breaking changes for release notes (in tasks file)
|
|
66
|
+
- [x] 7.3 Remove any orphaned imports/references to deleted modules (verified none exist)
|
|
67
|
+
- [x] 7.4 Run linter and fix any issues (passed)
|