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,202 @@
|
|
|
1
|
+
## Why
|
|
2
|
+
|
|
3
|
+
Users have complained that there are too many skills/commands (currently 10) and new users feel overwhelmed. We want to simplify the default experience while preserving power-user capabilities and backwards compatibility.
|
|
4
|
+
|
|
5
|
+
The goal: **get users to an "aha moment" in under a minute**.
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
0:00 $ openspec init
|
|
9
|
+
✓ Done. Run /opsx:propose "your idea"
|
|
10
|
+
|
|
11
|
+
0:15 /opsx:propose "add user authentication"
|
|
12
|
+
|
|
13
|
+
0:45 Agent creates proposal.md, design.md, tasks.md
|
|
14
|
+
"Whoa, it planned the whole thing for me" ← AHA
|
|
15
|
+
|
|
16
|
+
1:00 /opsx:apply
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Additionally, users have different preferences for how workflows are delivered (skills vs commands vs both), but this should be a power-user configuration, not something new users think about.
|
|
20
|
+
|
|
21
|
+
## What Changes
|
|
22
|
+
|
|
23
|
+
### 1. Smart Defaults Init
|
|
24
|
+
|
|
25
|
+
Init auto-detects tools and asks for confirmation:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
$ openspec init
|
|
29
|
+
|
|
30
|
+
Detected tools:
|
|
31
|
+
[x] Claude Code
|
|
32
|
+
[x] Cursor
|
|
33
|
+
[ ] Windsurf
|
|
34
|
+
|
|
35
|
+
Press Enter to confirm, or Space to toggle
|
|
36
|
+
|
|
37
|
+
Setting up OpenSpec...
|
|
38
|
+
✓ Done
|
|
39
|
+
|
|
40
|
+
Start your first change:
|
|
41
|
+
/opsx:propose "add dark mode"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**No prompts for profile or delivery.** Defaults are:
|
|
45
|
+
- Profile: core
|
|
46
|
+
- Delivery: both
|
|
47
|
+
|
|
48
|
+
Power users can customize via `openspec config profile`.
|
|
49
|
+
|
|
50
|
+
### 2. Tool Detection Behavior
|
|
51
|
+
|
|
52
|
+
Init scans for existing tool directories (`.claude/`, `.cursor/`, etc.):
|
|
53
|
+
- **Tools detected (interactive):** Shows pre-selected checkboxes, user confirms or adjusts
|
|
54
|
+
- **No tools detected (interactive):** Prompts for full tool selection
|
|
55
|
+
- **Non-interactive (CI):** Uses detected tools automatically, fails if none detected
|
|
56
|
+
|
|
57
|
+
### 3. Fix Tool Selection UX
|
|
58
|
+
|
|
59
|
+
Current behavior confuses users:
|
|
60
|
+
- Tab to confirm (unexpected)
|
|
61
|
+
|
|
62
|
+
New behavior:
|
|
63
|
+
- **Space** to toggle selection
|
|
64
|
+
- **Enter** to confirm
|
|
65
|
+
|
|
66
|
+
### 4. Introduce Profiles
|
|
67
|
+
|
|
68
|
+
Profiles define which workflows to install:
|
|
69
|
+
|
|
70
|
+
- **core** (default): `propose`, `explore`, `apply`, `archive` (4 workflows)
|
|
71
|
+
- **custom**: User-selected subset of workflows
|
|
72
|
+
|
|
73
|
+
The `propose` workflow is new - it combines `new` + `ff` into a single command that creates a change and generates all artifacts.
|
|
74
|
+
|
|
75
|
+
### 5. Improved Propose UX
|
|
76
|
+
|
|
77
|
+
`/opsx:propose` should naturally onboard users by explaining what it's doing:
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
I'll create a change with 3 artifacts:
|
|
81
|
+
- proposal.md (what & why)
|
|
82
|
+
- design.md (how)
|
|
83
|
+
- tasks.md (implementation steps)
|
|
84
|
+
|
|
85
|
+
When ready to implement, run /opsx:apply
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
This teaches as it goes - no separate onboarding needed for most users.
|
|
89
|
+
|
|
90
|
+
### 6. Introduce Delivery Config
|
|
91
|
+
|
|
92
|
+
Delivery controls how workflows are installed:
|
|
93
|
+
|
|
94
|
+
- **both** (default): Skills and commands
|
|
95
|
+
- **skills**: Skills only
|
|
96
|
+
- **commands**: Commands only
|
|
97
|
+
|
|
98
|
+
Stored in existing global config (`~/.config/openspec/config.json`). Not prompted during init.
|
|
99
|
+
|
|
100
|
+
### 7. New CLI Commands
|
|
101
|
+
|
|
102
|
+
```shell
|
|
103
|
+
# Profile configuration (interactive picker for delivery + workflows)
|
|
104
|
+
openspec config profile # interactive picker
|
|
105
|
+
openspec config profile core # preset shortcut (core workflows, preserves delivery)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The interactive picker allows users to configure both delivery method and workflow selection in one place:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
$ openspec config profile
|
|
112
|
+
|
|
113
|
+
Delivery: [skills] [commands] [both]
|
|
114
|
+
^^^^^^
|
|
115
|
+
|
|
116
|
+
Workflows: (space to toggle, enter to save)
|
|
117
|
+
[x] propose
|
|
118
|
+
[x] explore
|
|
119
|
+
[x] apply
|
|
120
|
+
[x] archive
|
|
121
|
+
[ ] new
|
|
122
|
+
[ ] ff
|
|
123
|
+
[ ] continue
|
|
124
|
+
[ ] verify
|
|
125
|
+
[ ] sync
|
|
126
|
+
[ ] bulk-archive
|
|
127
|
+
[ ] onboard
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 8. Backwards Compatibility & Migration
|
|
131
|
+
|
|
132
|
+
**Existing users keep their current setup.** When `openspec update` runs on a project with existing workflows and no `profile` in global config, it performs a one-time migration:
|
|
133
|
+
|
|
134
|
+
1. Scans installed workflow files across all tool directories in the project
|
|
135
|
+
2. Writes `profile: "custom"`, `delivery: "both"`, `workflows: [<detected>]` to global config
|
|
136
|
+
3. Refreshes templates but does NOT add or remove any workflows
|
|
137
|
+
4. Displays: "Migrated: custom profile with N existing workflows"
|
|
138
|
+
|
|
139
|
+
After migration, subsequent `init` and `update` commands respect the migrated config.
|
|
140
|
+
|
|
141
|
+
**Key behaviors:**
|
|
142
|
+
- Existing users' workflows are preserved exactly as-is (no `propose` added automatically)
|
|
143
|
+
- Both `init` (re-init) and `update` trigger migration on existing projects if no profile is set
|
|
144
|
+
- `openspec init` on a **new** project (no existing workflows) uses global config, defaulting to `core`
|
|
145
|
+
- `init` with a custom profile applies the configured workflows directly (no profile confirmation prompt)
|
|
146
|
+
- `init` validates `--profile` values (`core` or `custom`) and errors on invalid input
|
|
147
|
+
- Migration message mentions `propose` and suggests `openspec config profile core` to opt in
|
|
148
|
+
- After migration, users can opt into `core` profile via `openspec config profile core`
|
|
149
|
+
- Workflow templates conditionally reference only installed workflows in "next steps" guidance
|
|
150
|
+
- Delivery changes are applied: switching to `skills` removes command files, switching to `commands` removes skill files
|
|
151
|
+
- Re-running `init` applies delivery cleanup on existing projects (removes files that no longer match delivery)
|
|
152
|
+
- `update` treats profile/delivery drift as update-required even when template versions are already current
|
|
153
|
+
- `update` treats command-only installs as configured tools
|
|
154
|
+
- All workflows remain available via custom profile
|
|
155
|
+
|
|
156
|
+
## Capabilities
|
|
157
|
+
|
|
158
|
+
### New Capabilities
|
|
159
|
+
|
|
160
|
+
- `profiles`: Workflow profiles (core, custom), delivery preferences, global config storage, interactive picker
|
|
161
|
+
- `propose-workflow`: Combined workflow that creates change + generates all artifacts
|
|
162
|
+
|
|
163
|
+
### Modified Capabilities
|
|
164
|
+
|
|
165
|
+
- `cli-init`: Smart defaults with tool auto-detection, profile-based skill/command generation
|
|
166
|
+
- `cli-update`: Profile support, delivery changes, one-time migration for existing users
|
|
167
|
+
|
|
168
|
+
## Impact
|
|
169
|
+
|
|
170
|
+
### New Files
|
|
171
|
+
- `src/core/templates/workflows/propose.ts` - New propose workflow template
|
|
172
|
+
- `src/core/profiles.ts` - Profile definitions and logic
|
|
173
|
+
- `src/core/available-tools.ts` - Detect what AI tools user has from directories
|
|
174
|
+
|
|
175
|
+
### Modified Files
|
|
176
|
+
- `src/core/init.ts` - Smart defaults, auto-detection, tool confirmation
|
|
177
|
+
- `src/core/config.ts` - Add profile and delivery types
|
|
178
|
+
- `src/core/global-config.ts` - Add profile, delivery, workflows fields to schema
|
|
179
|
+
- `src/core/shared/skill-generation.ts` - Filter by profile, respect delivery
|
|
180
|
+
- `src/core/shared/tool-detection.ts` - Update SKILL_NAMES and COMMAND_IDS to include propose
|
|
181
|
+
- `src/commands/config.ts` - Add `profile` subcommand with interactive picker
|
|
182
|
+
- `src/core/update.ts` - Add profile/delivery support, file deletion for delivery changes
|
|
183
|
+
- `src/prompts/searchable-multi-select.ts` - Fix keybindings (space/enter)
|
|
184
|
+
|
|
185
|
+
### Global Config Schema Extension
|
|
186
|
+
```json
|
|
187
|
+
// ~/.config/openspec/config.json (extends existing)
|
|
188
|
+
{
|
|
189
|
+
"telemetry": { ... }, // existing
|
|
190
|
+
"featureFlags": { ... }, // existing
|
|
191
|
+
"profile": "core", // NEW: core | custom
|
|
192
|
+
"delivery": "both", // NEW: both | skills | commands
|
|
193
|
+
"workflows": ["propose", ...] // NEW: only if profile: custom
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Profiles Reference
|
|
198
|
+
|
|
199
|
+
| Profile | Workflows | Description |
|
|
200
|
+
|---------|-----------|-------------|
|
|
201
|
+
| core | propose, explore, apply, archive | Streamlined flow for most users (default) |
|
|
202
|
+
| custom | user-defined | Pick exactly what you need via `openspec config profile` |
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
## Purpose
|
|
2
|
+
|
|
3
|
+
The init command SHALL provide a streamlined setup experience that auto-detects tools and uses smart defaults, getting users to their first change in under a minute.
|
|
4
|
+
|
|
5
|
+
## MODIFIED Requirements
|
|
6
|
+
|
|
7
|
+
### Requirement: Skill generation per tool (REPLACES fixed 9-skill mandate)
|
|
8
|
+
The init command SHALL generate skills based on the active profile, not a fixed set.
|
|
9
|
+
|
|
10
|
+
#### Scenario: Core profile skill generation
|
|
11
|
+
- **WHEN** user runs init with profile `core`
|
|
12
|
+
- **THEN** the system SHALL generate skills for workflows in CORE_WORKFLOWS constant: propose, explore, apply, archive
|
|
13
|
+
- **THEN** the system SHALL NOT generate skills for workflows outside the profile
|
|
14
|
+
|
|
15
|
+
#### Scenario: Custom profile skill generation
|
|
16
|
+
- **WHEN** user runs init with profile `custom`
|
|
17
|
+
- **THEN** the system SHALL generate skills only for workflows listed in config `workflows` array
|
|
18
|
+
|
|
19
|
+
#### Scenario: Propose workflow included in skill templates
|
|
20
|
+
- **WHEN** generating skills
|
|
21
|
+
- **THEN** the system SHALL include the `propose` workflow as an available skill template
|
|
22
|
+
|
|
23
|
+
### Requirement: Command generation per tool (REPLACES fixed 9-command mandate)
|
|
24
|
+
The init command SHALL generate commands based on profile AND delivery settings.
|
|
25
|
+
|
|
26
|
+
#### Scenario: Skills-only delivery
|
|
27
|
+
- **WHEN** delivery is set to `skills`
|
|
28
|
+
- **THEN** the system SHALL NOT generate any command files
|
|
29
|
+
|
|
30
|
+
#### Scenario: Commands-only delivery
|
|
31
|
+
- **WHEN** delivery is set to `commands`
|
|
32
|
+
- **THEN** the system SHALL NOT generate any skill files
|
|
33
|
+
|
|
34
|
+
#### Scenario: Both delivery
|
|
35
|
+
- **WHEN** delivery is set to `both`
|
|
36
|
+
- **THEN** the system SHALL generate both skill and command files for profile workflows
|
|
37
|
+
|
|
38
|
+
#### Scenario: Propose workflow included in command templates
|
|
39
|
+
- **WHEN** generating commands
|
|
40
|
+
- **THEN** the system SHALL include the `propose` workflow as an available command template
|
|
41
|
+
|
|
42
|
+
### Requirement: Tool auto-detection
|
|
43
|
+
The init command SHALL detect installed AI tools by scanning for their configuration directories in the project root.
|
|
44
|
+
|
|
45
|
+
#### Scenario: Detection from directories
|
|
46
|
+
- **WHEN** scanning for tools
|
|
47
|
+
- **THEN** the system SHALL check for directories matching each supported AI tool's configuration directory (e.g., `.claude/`, `.cursor/`, `.windsurf/`)
|
|
48
|
+
- **THEN** all tools with a matching directory SHALL be returned as detected
|
|
49
|
+
|
|
50
|
+
#### Scenario: Detection covers all supported tools
|
|
51
|
+
- **WHEN** scanning for tools
|
|
52
|
+
- **THEN** the system SHALL check for all tools defined in the supported tools configuration that have a configuration directory
|
|
53
|
+
|
|
54
|
+
#### Scenario: No tools detected
|
|
55
|
+
- **WHEN** no tool configuration directories exist in project root
|
|
56
|
+
- **THEN** the system SHALL return an empty list of detected tools
|
|
57
|
+
|
|
58
|
+
### Requirement: Smart defaults init flow
|
|
59
|
+
The init command SHALL work with sensible defaults and tool confirmation, minimizing required user input.
|
|
60
|
+
|
|
61
|
+
#### Scenario: Init with detected tools (interactive)
|
|
62
|
+
- **WHEN** user runs `openspec init` interactively and tool directories are detected
|
|
63
|
+
- **THEN** the system SHALL show detected tools pre-selected
|
|
64
|
+
- **THEN** the system SHALL ask for confirmation (not full selection)
|
|
65
|
+
- **THEN** the system SHALL use default profile (`core`) and delivery (`both`)
|
|
66
|
+
|
|
67
|
+
#### Scenario: Init with no detected tools (interactive)
|
|
68
|
+
- **WHEN** user runs `openspec init` interactively and no tool directories are detected
|
|
69
|
+
- **THEN** the system SHALL prompt for tool selection
|
|
70
|
+
- **THEN** the system SHALL use default profile (`core`) and delivery (`both`)
|
|
71
|
+
|
|
72
|
+
#### Scenario: Non-interactive with detected tools
|
|
73
|
+
- **WHEN** user runs `openspec init` non-interactively (e.g., in CI)
|
|
74
|
+
- **AND** tool directories are detected
|
|
75
|
+
- **THEN** the system SHALL use detected tools automatically without prompting
|
|
76
|
+
- **THEN** the system SHALL use default profile and delivery
|
|
77
|
+
|
|
78
|
+
#### Scenario: Non-interactive with no detected tools
|
|
79
|
+
- **WHEN** user runs `openspec init` non-interactively
|
|
80
|
+
- **AND** no tool directories are detected
|
|
81
|
+
- **THEN** the system SHALL fail with exit code 1
|
|
82
|
+
- **AND** display message to use `--tools` flag
|
|
83
|
+
|
|
84
|
+
#### Scenario: Non-interactive with explicit tools
|
|
85
|
+
- **WHEN** user runs `openspec init --tools claude`
|
|
86
|
+
- **THEN** the system SHALL use specified tools
|
|
87
|
+
- **THEN** the system SHALL NOT prompt for any input
|
|
88
|
+
|
|
89
|
+
#### Scenario: Interactive with explicit tools
|
|
90
|
+
- **WHEN** user runs `openspec init --tools claude` interactively
|
|
91
|
+
- **THEN** the system SHALL use specified tools (ignoring auto-detection)
|
|
92
|
+
- **THEN** the system SHALL NOT prompt for tool selection
|
|
93
|
+
- **THEN** the system SHALL proceed with default profile and delivery
|
|
94
|
+
|
|
95
|
+
#### Scenario: Init success message (propose installed)
|
|
96
|
+
- **WHEN** init completes successfully
|
|
97
|
+
- **AND** `propose` is in the active profile
|
|
98
|
+
- **THEN** the system SHALL display a tool-appropriate success message
|
|
99
|
+
- **THEN** for tools using colon syntax (Claude Code): "Start your first change: /opsx:propose \"your idea\""
|
|
100
|
+
- **THEN** for tools using hyphen syntax (Cursor, others): "Start your first change: /opsx-propose \"your idea\""
|
|
101
|
+
|
|
102
|
+
#### Scenario: Init success message (propose not installed, new installed)
|
|
103
|
+
- **WHEN** init completes successfully
|
|
104
|
+
- **AND** `propose` is NOT in the active profile
|
|
105
|
+
- **AND** `new` is in the active profile
|
|
106
|
+
- **THEN** for tools using colon syntax: "Start your first change: /opsx:new \"your idea\""
|
|
107
|
+
- **THEN** for tools using hyphen syntax: "Start your first change: /opsx-new \"your idea\""
|
|
108
|
+
|
|
109
|
+
#### Scenario: Init success message (neither propose nor new)
|
|
110
|
+
- **WHEN** init completes successfully
|
|
111
|
+
- **AND** neither `propose` nor `new` is in the active profile
|
|
112
|
+
- **THEN** the system SHALL display: "Done. Run 'openspec config profile' to configure your workflows."
|
|
113
|
+
|
|
114
|
+
### Requirement: Init performs migration on existing projects
|
|
115
|
+
The init command SHALL perform one-time migration when re-initializing an existing project, using the same shared migration logic as the update command.
|
|
116
|
+
|
|
117
|
+
#### Scenario: Re-init on existing project (no profile set)
|
|
118
|
+
- **WHEN** user runs `openspec init` on a project with existing workflow files
|
|
119
|
+
- **AND** global config does not contain a `profile` field
|
|
120
|
+
- **THEN** the system SHALL perform one-time migration before proceeding (see `specs/cli-update/spec.md`)
|
|
121
|
+
- **THEN** the system SHALL proceed with init using the migrated config
|
|
122
|
+
|
|
123
|
+
#### Scenario: Init on new project (no existing workflows)
|
|
124
|
+
- **WHEN** user runs `openspec init` on a project with no existing workflow files
|
|
125
|
+
- **AND** global config does not contain a `profile` field
|
|
126
|
+
- **THEN** the system SHALL NOT perform migration
|
|
127
|
+
- **THEN** the system SHALL use `core` profile defaults
|
|
128
|
+
|
|
129
|
+
### Requirement: Init respects global config
|
|
130
|
+
The init command SHALL read and apply settings from global config.
|
|
131
|
+
|
|
132
|
+
#### Scenario: User has profile preference
|
|
133
|
+
- **WHEN** global config contains `profile: "custom"` with custom workflows
|
|
134
|
+
- **THEN** init SHALL install custom profile workflows
|
|
135
|
+
|
|
136
|
+
#### Scenario: User has delivery preference
|
|
137
|
+
- **WHEN** global config contains `delivery: "skills"`
|
|
138
|
+
- **THEN** init SHALL install only skill files, not commands
|
|
139
|
+
|
|
140
|
+
#### Scenario: Override via flags
|
|
141
|
+
- **WHEN** user runs `openspec init --profile core`
|
|
142
|
+
- **THEN** the system SHALL use the flag value instead of config value
|
|
143
|
+
- **THEN** the system SHALL NOT update the global config
|
|
144
|
+
|
|
145
|
+
#### Scenario: Invalid profile override
|
|
146
|
+
- **WHEN** user runs `openspec init --profile <invalid>`
|
|
147
|
+
- **AND** `<invalid>` is not one of `core` or `custom`
|
|
148
|
+
- **THEN** the system SHALL exit with code 1
|
|
149
|
+
- **THEN** the system SHALL display a validation error listing allowed profile values
|
|
150
|
+
|
|
151
|
+
### Requirement: Init applies configured profile without confirmation
|
|
152
|
+
The init command SHALL apply the resolved profile (`--profile` override or global config) directly without prompting for confirmation.
|
|
153
|
+
|
|
154
|
+
#### Scenario: Init with custom profile (interactive)
|
|
155
|
+
- **WHEN** user runs `openspec init` interactively
|
|
156
|
+
- **AND** global config specifies `profile: "custom"` with workflows
|
|
157
|
+
- **THEN** the system SHALL proceed directly using the custom profile workflows
|
|
158
|
+
- **AND** the system SHALL NOT show a profile confirmation prompt
|
|
159
|
+
|
|
160
|
+
#### Scenario: Non-interactive init with custom profile
|
|
161
|
+
- **WHEN** user runs `openspec init` non-interactively
|
|
162
|
+
- **AND** global config specifies a custom profile
|
|
163
|
+
- **THEN** the system SHALL proceed without confirmation
|
|
164
|
+
|
|
165
|
+
#### Scenario: Init with core profile
|
|
166
|
+
- **WHEN** user runs `openspec init` interactively
|
|
167
|
+
- **AND** profile is `core` (default)
|
|
168
|
+
- **THEN** the system SHALL proceed directly without a profile confirmation prompt
|
|
169
|
+
|
|
170
|
+
### Requirement: Init preserves existing workflows
|
|
171
|
+
The init command SHALL NOT remove workflows that are already installed, but SHALL respect delivery setting.
|
|
172
|
+
|
|
173
|
+
#### Scenario: Existing custom installation
|
|
174
|
+
- **WHEN** user has custom profile with extra workflows and runs `openspec init` with core profile
|
|
175
|
+
- **THEN** the system SHALL NOT remove extra workflows
|
|
176
|
+
- **THEN** the system SHALL regenerate core workflow files, overwriting existing content with latest templates
|
|
177
|
+
|
|
178
|
+
#### Scenario: Init with different delivery setting
|
|
179
|
+
- **WHEN** user runs `openspec init` on existing project
|
|
180
|
+
- **AND** delivery setting differs from what's installed (e.g., was `both`, now `skills`)
|
|
181
|
+
- **THEN** the system SHALL generate files matching current delivery setting
|
|
182
|
+
- **THEN** the system SHALL delete files that don't match delivery (e.g., commands removed if `skills`)
|
|
183
|
+
- **THEN** this applies to all workflows, including extras not in profile
|
|
184
|
+
|
|
185
|
+
#### Scenario: Re-init applies delivery cleanup even when templates are current
|
|
186
|
+
- **WHEN** user runs `openspec init` on an existing project
|
|
187
|
+
- **AND** existing files are already on current template versions
|
|
188
|
+
- **AND** delivery changed since the previous init
|
|
189
|
+
- **THEN** the system SHALL still remove files that no longer match delivery
|
|
190
|
+
- **THEN** for example, switching from `both` to `skills` SHALL remove generated command files
|
|
191
|
+
|
|
192
|
+
### Requirement: Init tool confirmation UX
|
|
193
|
+
The init command SHALL show detected tools and ask for confirmation.
|
|
194
|
+
|
|
195
|
+
#### Scenario: Confirmation prompt
|
|
196
|
+
- **WHEN** tools are detected in interactive mode
|
|
197
|
+
- **THEN** the system SHALL display: "Detected: Claude Code, Cursor"
|
|
198
|
+
- **THEN** the system SHALL show pre-selected checkboxes for confirmation
|
|
199
|
+
- **THEN** the system SHALL allow user to deselect unwanted tools
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
## Purpose
|
|
2
|
+
|
|
3
|
+
The update command SHALL apply global configuration changes to existing projects, syncing profile and delivery preferences without requiring full re-initialization.
|
|
4
|
+
|
|
5
|
+
## MODIFIED Requirements
|
|
6
|
+
|
|
7
|
+
### Requirement: Update respects global profile config
|
|
8
|
+
The update command SHALL read global config and apply profile settings to the project.
|
|
9
|
+
|
|
10
|
+
#### Scenario: Update adds missing workflows from config
|
|
11
|
+
- **WHEN** user runs `openspec update`
|
|
12
|
+
- **AND** global config specifies workflows not currently installed in the project
|
|
13
|
+
- **THEN** the system SHALL generate skill/command files for missing workflows
|
|
14
|
+
- **THEN** the system SHALL display: "Added: <workflow-names>"
|
|
15
|
+
|
|
16
|
+
#### Scenario: Update refreshes existing workflows
|
|
17
|
+
- **WHEN** user runs `openspec update`
|
|
18
|
+
- **AND** workflows are already installed in the project
|
|
19
|
+
- **THEN** the system SHALL refresh those workflow files with latest templates
|
|
20
|
+
- **THEN** the system SHALL display: "Updated: <workflow-names>"
|
|
21
|
+
|
|
22
|
+
#### Scenario: Update with no changes needed
|
|
23
|
+
- **WHEN** user runs `openspec update`
|
|
24
|
+
- **AND** installed workflows match global config
|
|
25
|
+
- **AND** all templates are current
|
|
26
|
+
- **AND** delivery setting matches installed files
|
|
27
|
+
- **THEN** the system SHALL display: "Already up to date."
|
|
28
|
+
|
|
29
|
+
#### Scenario: Profile or delivery drift with current templates
|
|
30
|
+
- **WHEN** user runs `openspec update`
|
|
31
|
+
- **AND** workflow templates are current for the installed skills
|
|
32
|
+
- **AND** project files do not match current profile and/or delivery config
|
|
33
|
+
- **THEN** the system SHALL treat this as an update-required state (not "Already up to date.")
|
|
34
|
+
- **THEN** the system SHALL add/remove files to match current profile and delivery settings
|
|
35
|
+
|
|
36
|
+
#### Scenario: Update summary output
|
|
37
|
+
- **WHEN** update completes with changes
|
|
38
|
+
- **THEN** the system SHALL display a summary:
|
|
39
|
+
- "Added: propose, explore" (new workflows installed)
|
|
40
|
+
- "Updated: apply, archive" (existing workflows refreshed)
|
|
41
|
+
- "Removed: 4 command files" (if delivery changed)
|
|
42
|
+
- **THEN** the system SHALL list affected tools: "Tools: Claude Code, Cursor"
|
|
43
|
+
|
|
44
|
+
### Requirement: Update respects delivery setting
|
|
45
|
+
The update command SHALL add or remove files based on the delivery setting.
|
|
46
|
+
|
|
47
|
+
#### Scenario: Delivery changed to skills-only
|
|
48
|
+
- **WHEN** user runs `openspec update`
|
|
49
|
+
- **AND** global config specifies `delivery: skills`
|
|
50
|
+
- **AND** project has command files installed
|
|
51
|
+
- **THEN** the system SHALL delete command files for workflows in the profile
|
|
52
|
+
- **THEN** the system SHALL generate/update skill files only
|
|
53
|
+
- **THEN** the system SHALL display: "Removed: <count> command files (delivery: skills)"
|
|
54
|
+
|
|
55
|
+
#### Scenario: Delivery changed to commands-only
|
|
56
|
+
- **WHEN** user runs `openspec update`
|
|
57
|
+
- **AND** global config specifies `delivery: commands`
|
|
58
|
+
- **AND** project has skill files installed
|
|
59
|
+
- **THEN** the system SHALL delete skill directories for workflows in the profile
|
|
60
|
+
- **THEN** the system SHALL generate/update command files only
|
|
61
|
+
- **THEN** the system SHALL display: "Removed: <count> skill directories (delivery: commands)"
|
|
62
|
+
|
|
63
|
+
#### Scenario: Delivery is both
|
|
64
|
+
- **WHEN** user runs `openspec update`
|
|
65
|
+
- **AND** global config specifies `delivery: both`
|
|
66
|
+
- **THEN** the system SHALL generate/update both skill and command files
|
|
67
|
+
|
|
68
|
+
### Requirement: Update detects configured tools from skills or commands
|
|
69
|
+
The update command SHALL treat a tool as configured if it has either generated skill files or generated command files.
|
|
70
|
+
|
|
71
|
+
#### Scenario: Commands-only installation
|
|
72
|
+
- **WHEN** user runs `openspec update`
|
|
73
|
+
- **AND** a tool has generated OpenSpec command files
|
|
74
|
+
- **AND** that tool has no OpenSpec skill files (commands-only delivery)
|
|
75
|
+
- **THEN** the tool SHALL still be treated as configured
|
|
76
|
+
- **THEN** the system SHALL apply profile and delivery sync for that tool
|
|
77
|
+
|
|
78
|
+
### Requirement: One-time migration for existing users
|
|
79
|
+
The update command SHALL detect existing users (no `profile` in global config + existing workflows) and migrate them to `custom` profile before applying updates.
|
|
80
|
+
|
|
81
|
+
#### Scenario: First update after upgrade (existing user)
|
|
82
|
+
- **WHEN** user runs `openspec update`
|
|
83
|
+
- **AND** global config does not contain a `profile` field
|
|
84
|
+
- **AND** project has existing workflow files installed
|
|
85
|
+
- **THEN** the system SHALL scan installed workflows across all tool directories in the project
|
|
86
|
+
- **THEN** the system SHALL only match workflow names present in `ALL_WORKFLOWS` constant (ignoring user-created custom skills)
|
|
87
|
+
- **THEN** the system SHALL take the union of detected workflow names across all tools
|
|
88
|
+
- **THEN** the system SHALL write to global config: `profile: "custom"`, `delivery: "both"`, `workflows: [<detected>]`
|
|
89
|
+
- **THEN** the system SHALL display: "Migrated: custom profile with <count> workflows (<workflow-names>)"
|
|
90
|
+
- **THEN** the system SHALL display: "New in this version: /opsx:propose (combines new + ff). Try 'openspec config profile core' for the streamlined 4-workflow experience."
|
|
91
|
+
- **THEN** the system SHALL proceed with normal update logic (using the migrated config)
|
|
92
|
+
- **THEN** the result SHALL be template refresh only (no workflows added or removed)
|
|
93
|
+
|
|
94
|
+
#### Scenario: Migration with partial workflows (user manually removed some)
|
|
95
|
+
- **WHEN** user runs `openspec update`
|
|
96
|
+
- **AND** global config does not contain a `profile` field
|
|
97
|
+
- **AND** project has fewer than the original 10 workflows installed
|
|
98
|
+
- **THEN** the system SHALL migrate with only the workflows that are actually present
|
|
99
|
+
- **THEN** the migrated `workflows` array SHALL reflect the user's current state, not the original set
|
|
100
|
+
|
|
101
|
+
#### Scenario: Migration with multiple tools having different workflow sets
|
|
102
|
+
- **WHEN** user runs `openspec update`
|
|
103
|
+
- **AND** project has multiple tools configured (e.g., Claude Code, Cursor)
|
|
104
|
+
- **AND** different tools have different workflows installed
|
|
105
|
+
- **THEN** the system SHALL take the union of all detected workflows across all tools
|
|
106
|
+
- **THEN** the migrated `workflows` array SHALL include any workflow that exists in at least one tool
|
|
107
|
+
|
|
108
|
+
#### Scenario: No migration needed (profile already set)
|
|
109
|
+
- **WHEN** user runs `openspec update`
|
|
110
|
+
- **AND** global config already contains a `profile` field
|
|
111
|
+
- **THEN** the system SHALL NOT perform migration
|
|
112
|
+
- **THEN** the system SHALL proceed with normal update logic using existing config
|
|
113
|
+
|
|
114
|
+
#### Scenario: No migration needed (no existing workflows)
|
|
115
|
+
- **WHEN** user runs `openspec update`
|
|
116
|
+
- **AND** global config does not contain a `profile` field
|
|
117
|
+
- **AND** project has no existing workflow files
|
|
118
|
+
- **THEN** the system SHALL NOT perform migration
|
|
119
|
+
- **THEN** the system SHALL use `core` profile defaults
|
|
120
|
+
|
|
121
|
+
#### Scenario: Migration is idempotent
|
|
122
|
+
- **WHEN** user runs `openspec update` multiple times
|
|
123
|
+
- **THEN** migration SHALL only occur on the first run (when `profile` field is absent)
|
|
124
|
+
- **THEN** subsequent runs SHALL use the existing global config without re-scanning
|
|
125
|
+
|
|
126
|
+
#### Scenario: Non-interactive migration
|
|
127
|
+
- **WHEN** user runs `openspec update` non-interactively (e.g., in CI)
|
|
128
|
+
- **AND** migration is triggered
|
|
129
|
+
- **THEN** the system SHALL perform migration without prompting
|
|
130
|
+
- **THEN** the system SHALL display the migration summary to stdout
|
|
131
|
+
|
|
132
|
+
### Requirement: Update detects new tool directories
|
|
133
|
+
The update command SHALL notify the user if new AI tool directories are detected that aren't currently configured.
|
|
134
|
+
|
|
135
|
+
#### Scenario: New tool directory detected
|
|
136
|
+
- **WHEN** user runs `openspec update`
|
|
137
|
+
- **AND** a new tool directory is detected (e.g., `.windsurf/` exists but Windsurf is not configured)
|
|
138
|
+
- **THEN** the system SHALL display: "Detected new tool: Windsurf. Run 'openspec init' to add it."
|
|
139
|
+
- **THEN** the system SHALL NOT automatically add the new tool
|
|
140
|
+
- **THEN** the system SHALL proceed with update for currently configured tools only
|
|
141
|
+
|
|
142
|
+
#### Scenario: Multiple new tool directories detected
|
|
143
|
+
- **WHEN** user runs `openspec update`
|
|
144
|
+
- **AND** multiple new tool directories are detected (e.g., `.github/` and `.windsurf/` exist but neither tool is configured)
|
|
145
|
+
- **THEN** the system SHALL display one consolidated message listing all detected tools, for example: "Detected new tools: GitHub Copilot, Windsurf. Run 'openspec init' to add them."
|
|
146
|
+
- **THEN** the system SHALL NOT automatically add any new tools
|
|
147
|
+
- **THEN** the system SHALL proceed with update for currently configured tools only
|
|
148
|
+
|
|
149
|
+
#### Scenario: No new tool directories
|
|
150
|
+
- **WHEN** user runs `openspec update`
|
|
151
|
+
- **AND** no new tool directories are detected
|
|
152
|
+
- **THEN** the system SHALL NOT display any tool detection message
|
|
153
|
+
|
|
154
|
+
### Requirement: Update requires an OpenSpec project
|
|
155
|
+
The update command SHALL only run inside an initialized OpenSpec project.
|
|
156
|
+
|
|
157
|
+
#### Scenario: Update outside a project
|
|
158
|
+
- **WHEN** user runs `openspec update`
|
|
159
|
+
- **AND** no `openspec/` directory exists in the current working directory
|
|
160
|
+
- **THEN** the system SHALL display: "No OpenSpec project found. Run 'openspec init' to set up."
|
|
161
|
+
- **THEN** the system SHALL exit with code 1
|
|
162
|
+
|
|
163
|
+
### Requirement: Extra workflows synchronized to active profile
|
|
164
|
+
The update command SHALL remove workflow files that are no longer selected in the current profile.
|
|
165
|
+
|
|
166
|
+
#### Scenario: Deselected workflows from previous profile
|
|
167
|
+
- **WHEN** user runs `openspec update`
|
|
168
|
+
- **AND** project has workflows not in current profile (e.g., user switched from custom to core or deselected workflows via `openspec config profile`)
|
|
169
|
+
- **THEN** the system SHALL delete skill and command workflow files for deselected workflows (respecting active delivery mode)
|
|
170
|
+
- **THEN** the system SHALL keep only workflows currently selected in profile
|
|
171
|
+
|
|
172
|
+
#### Scenario: Delivery change with extra workflows
|
|
173
|
+
- **WHEN** user runs `openspec update`
|
|
174
|
+
- **AND** delivery changed (e.g., `both` → `skills`)
|
|
175
|
+
- **AND** project has extra workflows not in current profile
|
|
176
|
+
- **THEN** the system SHALL delete files for extra workflows that match the removed delivery type
|
|
177
|
+
- **THEN** for example: if switching to `skills`, all command files are deleted (including for extra workflows)
|