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,529 @@
|
|
|
1
|
+
# workspace-links Specification
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Define the direct workspace setup, discovery, linking, relinking, health check,
|
|
5
|
+
and JSON-output behavior for managing OpenSpec workspaces across repos and
|
|
6
|
+
folders.
|
|
7
|
+
## Requirements
|
|
8
|
+
### Requirement: Guided Workspace Setup
|
|
9
|
+
OpenSpec SHALL provide a guided setup flow for users starting workspace planning.
|
|
10
|
+
|
|
11
|
+
#### Scenario: Creating a workspace through setup
|
|
12
|
+
- **WHEN** a user runs `openspec workspace setup`
|
|
13
|
+
- **THEN** OpenSpec SHALL guide the user through creating an OpenSpec workspace
|
|
14
|
+
- **AND** the workspace SHALL use the standard workspace location from the workspace foundation
|
|
15
|
+
|
|
16
|
+
#### Scenario: Asking for the workspace name first
|
|
17
|
+
- **WHEN** interactive setup starts
|
|
18
|
+
- **THEN** OpenSpec SHALL ask for the workspace name before asking for repos or folders
|
|
19
|
+
- **AND** workspace names SHALL use kebab-case with lowercase letters, numbers, and hyphens
|
|
20
|
+
|
|
21
|
+
#### Scenario: Retrying an invalid workspace name during setup
|
|
22
|
+
- **WHEN** an interactive user enters an invalid workspace name
|
|
23
|
+
- **THEN** OpenSpec SHALL explain that workspace names must be kebab-case
|
|
24
|
+
- **AND** it SHALL let the user enter another workspace name before continuing setup
|
|
25
|
+
|
|
26
|
+
#### Scenario: Linking a required first repo or folder
|
|
27
|
+
- **WHEN** setup asks for repos or folders
|
|
28
|
+
- **THEN** the user SHALL provide at least one existing repo or folder path
|
|
29
|
+
- **AND** setup SHALL not finish successfully until at least one path is linked
|
|
30
|
+
|
|
31
|
+
#### Scenario: Inferring link names during setup
|
|
32
|
+
- **WHEN** the user provides a repo or folder path during setup
|
|
33
|
+
- **THEN** OpenSpec SHALL infer the link name from the folder basename
|
|
34
|
+
- **AND** it SHALL ask for a different name only when the inferred name conflicts
|
|
35
|
+
|
|
36
|
+
#### Scenario: Handling inferred link name conflicts during setup
|
|
37
|
+
- **GIVEN** setup infers a link name that already exists in the workspace
|
|
38
|
+
- **WHEN** setup is interactive
|
|
39
|
+
- **THEN** OpenSpec SHALL show the conflicting link name and the existing path for that link
|
|
40
|
+
- **AND** it SHALL ask the user for a different link name before continuing
|
|
41
|
+
|
|
42
|
+
#### Scenario: Preserving folder-style link names
|
|
43
|
+
- **WHEN** OpenSpec accepts a workspace link name
|
|
44
|
+
- **THEN** it SHALL allow folder-style names that are valid under the workspace foundation link-name rules
|
|
45
|
+
- **AND** it SHALL not require link names to use the stricter workspace-name kebab-case rule
|
|
46
|
+
|
|
47
|
+
#### Scenario: Adding multiple repos or folders during setup
|
|
48
|
+
- **WHEN** setup links a repo or folder
|
|
49
|
+
- **THEN** OpenSpec SHALL let the user add another repo or folder with a simple repeated prompt
|
|
50
|
+
- **AND** each linked path SHALL be recorded without editing the target repo or folder
|
|
51
|
+
|
|
52
|
+
#### Scenario: Storing verified absolute paths during setup
|
|
53
|
+
- **WHEN** setup links a repo or folder path
|
|
54
|
+
- **THEN** OpenSpec SHALL verify that the path resolves to an existing folder
|
|
55
|
+
- **AND** it SHALL store an absolute runtime-local path in machine-local state instead of the raw user input
|
|
56
|
+
- **AND** relative inputs SHALL be resolved against the command's current working directory
|
|
57
|
+
|
|
58
|
+
#### Scenario: Preserving equals signs in setup link paths
|
|
59
|
+
- **WHEN** non-interactive setup receives a `--link` value that resolves to an existing folder and contains `=`
|
|
60
|
+
- **THEN** OpenSpec SHALL treat the full value as the path
|
|
61
|
+
- **AND** it SHALL infer the link name from the folder basename
|
|
62
|
+
- **AND** explicit `--link <name>=<path>` inputs SHALL preserve `=` characters inside `<path>`
|
|
63
|
+
|
|
64
|
+
#### Scenario: Running setup with non-interactive inputs
|
|
65
|
+
- **WHEN** `openspec workspace setup --no-interactive` receives a workspace name and at least one valid link
|
|
66
|
+
- **THEN** OpenSpec SHALL create the workspace without prompts
|
|
67
|
+
- **AND** it SHALL support repeated `--link` values
|
|
68
|
+
|
|
69
|
+
#### Scenario: Non-interactive setup duplicate link names
|
|
70
|
+
- **WHEN** `openspec workspace setup --no-interactive` receives two links with the same inferred or explicit name
|
|
71
|
+
- **THEN** OpenSpec SHALL fail with a clear duplicate link-name error
|
|
72
|
+
- **AND** the error SHALL show the conflicting link name and the first path using that name
|
|
73
|
+
- **AND** it SHALL suggest using explicit `--link <name>=<path>` values with different names
|
|
74
|
+
|
|
75
|
+
#### Scenario: Missing non-interactive setup inputs
|
|
76
|
+
- **WHEN** `openspec workspace setup --no-interactive` is missing a workspace name or link
|
|
77
|
+
- **THEN** OpenSpec SHALL fail with a clear message
|
|
78
|
+
- **AND** it SHALL explain which flags are required
|
|
79
|
+
|
|
80
|
+
#### Scenario: Finishing setup
|
|
81
|
+
- **WHEN** setup finishes
|
|
82
|
+
- **THEN** OpenSpec SHALL show the workspace location, planning path, and linked repos or folders
|
|
83
|
+
- **AND** it SHALL check what the current machine can resolve
|
|
84
|
+
|
|
85
|
+
#### Scenario: Recording created workspaces locally
|
|
86
|
+
- **WHEN** setup creates a workspace
|
|
87
|
+
- **THEN** OpenSpec SHALL record it in the local workspace registry
|
|
88
|
+
- **AND** the workspace folder SHALL remain the source of truth for workspace state
|
|
89
|
+
|
|
90
|
+
#### Scenario: Reusing an existing workspace name during setup
|
|
91
|
+
- **GIVEN** a managed workspace already exists with the requested name
|
|
92
|
+
- **WHEN** a user runs setup with that workspace name
|
|
93
|
+
- **THEN** OpenSpec SHALL explain that the workspace already exists
|
|
94
|
+
- **AND** it SHALL not overwrite the existing workspace
|
|
95
|
+
|
|
96
|
+
### Requirement: Workspace Discovery
|
|
97
|
+
OpenSpec SHALL let users see the OpenSpec-managed workspaces available on the current machine.
|
|
98
|
+
|
|
99
|
+
#### Scenario: Listing workspaces
|
|
100
|
+
- **WHEN** a user runs `openspec workspace list`
|
|
101
|
+
- **THEN** OpenSpec SHALL list known managed workspaces
|
|
102
|
+
- **AND** each workspace SHALL include the workspace name, workspace location, and linked repos or folders
|
|
103
|
+
|
|
104
|
+
#### Scenario: Using the short list command
|
|
105
|
+
- **WHEN** a user runs `openspec workspace ls`
|
|
106
|
+
- **THEN** OpenSpec SHALL behave the same as `openspec workspace list`
|
|
107
|
+
|
|
108
|
+
#### Scenario: Listing when no workspaces exist
|
|
109
|
+
- **WHEN** a user runs `openspec workspace list`
|
|
110
|
+
- **AND** no managed workspaces exist
|
|
111
|
+
- **THEN** OpenSpec SHALL say that no workspaces were found
|
|
112
|
+
- **AND** it SHALL show the user how to create one
|
|
113
|
+
|
|
114
|
+
#### Scenario: Listing stale registry entries
|
|
115
|
+
- **WHEN** the local registry contains a workspace location that no longer exists
|
|
116
|
+
- **THEN** `workspace list` SHALL report the stale workspace entry
|
|
117
|
+
- **AND** it SHALL avoid silently deleting registry state
|
|
118
|
+
- **AND** it SHALL avoid rewriting or repairing registry state automatically
|
|
119
|
+
|
|
120
|
+
#### Scenario: Avoiding registry cleanup commands
|
|
121
|
+
- **WHEN** users inspect stale workspace registry entries in this slice
|
|
122
|
+
- **THEN** OpenSpec SHALL treat stale entries as report-only diagnostics
|
|
123
|
+
- **AND** it SHALL not expose a registry cleanup command such as `workspace forget`
|
|
124
|
+
|
|
125
|
+
### Requirement: Global Workspace Commands
|
|
126
|
+
OpenSpec SHALL let workspace commands run from outside workspace directories.
|
|
127
|
+
|
|
128
|
+
#### Scenario: Selecting a workspace by flag
|
|
129
|
+
- **WHEN** a command that needs one workspace receives `--workspace <name>`
|
|
130
|
+
- **THEN** OpenSpec SHALL use that workspace from the local registry
|
|
131
|
+
- **AND** it SHALL fail clearly if the workspace name is unknown
|
|
132
|
+
|
|
133
|
+
#### Scenario: Using the current workspace
|
|
134
|
+
- **GIVEN** the command runs from a workspace folder or subdirectory
|
|
135
|
+
- **WHEN** the command needs one workspace and no `--workspace` flag is provided
|
|
136
|
+
- **THEN** OpenSpec SHALL use the current workspace
|
|
137
|
+
|
|
138
|
+
#### Scenario: Using an unregistered current workspace
|
|
139
|
+
- **GIVEN** the command runs from a valid workspace folder or subdirectory
|
|
140
|
+
- **AND** that workspace is not recorded in the local workspace registry
|
|
141
|
+
- **WHEN** the command needs one workspace and no `--workspace <name>` flag is provided
|
|
142
|
+
- **THEN** OpenSpec SHALL use the current workspace
|
|
143
|
+
- **AND** it SHALL include a non-fatal warning status with code `workspace_not_in_local_registry`
|
|
144
|
+
- **AND** the warning SHALL explain how the user can get the workspace recorded locally
|
|
145
|
+
|
|
146
|
+
#### Scenario: Recording an unregistered current workspace after mutation
|
|
147
|
+
- **GIVEN** a mutating workspace command uses a valid current workspace that is not recorded in the local workspace registry
|
|
148
|
+
- **WHEN** `workspace link` or `workspace relink` succeeds
|
|
149
|
+
- **THEN** OpenSpec SHALL record the workspace name and location in the local workspace registry
|
|
150
|
+
|
|
151
|
+
#### Scenario: Doctor does not register current workspaces
|
|
152
|
+
- **GIVEN** `workspace doctor` uses a valid current workspace that is not recorded in the local workspace registry
|
|
153
|
+
- **WHEN** doctor finishes
|
|
154
|
+
- **THEN** OpenSpec SHALL report the non-fatal registry warning
|
|
155
|
+
- **AND** it SHALL not write registry state
|
|
156
|
+
|
|
157
|
+
#### Scenario: Picking from multiple workspaces
|
|
158
|
+
- **GIVEN** multiple known workspaces exist
|
|
159
|
+
- **WHEN** an interactive command needs one workspace and none is specified
|
|
160
|
+
- **THEN** OpenSpec SHALL show a workspace picker
|
|
161
|
+
- **AND** the picker SHALL include workspace names and paths
|
|
162
|
+
|
|
163
|
+
#### Scenario: Ambiguous non-interactive workspace selection
|
|
164
|
+
- **GIVEN** multiple known workspaces exist
|
|
165
|
+
- **WHEN** a non-interactive command needs one workspace and none is specified
|
|
166
|
+
- **THEN** OpenSpec SHALL fail with a clear message
|
|
167
|
+
- **AND** it SHALL suggest passing `--workspace <name>`
|
|
168
|
+
|
|
169
|
+
#### Scenario: Ambiguous JSON workspace selection
|
|
170
|
+
- **GIVEN** multiple known workspaces exist
|
|
171
|
+
- **WHEN** a command running with `--json` needs one workspace and none is specified
|
|
172
|
+
- **THEN** OpenSpec SHALL fail without showing a picker
|
|
173
|
+
- **AND** it SHALL emit a structured status error
|
|
174
|
+
- **AND** it SHALL suggest passing `--workspace <name>`
|
|
175
|
+
|
|
176
|
+
#### Scenario: No known workspaces for a command that needs one
|
|
177
|
+
- **GIVEN** no known workspaces exist in the local registry
|
|
178
|
+
- **AND** the command is not running from a workspace folder or subdirectory
|
|
179
|
+
- **WHEN** `workspace link`, `workspace relink`, `workspace doctor`, or another command that needs one workspace runs without `--workspace <name>`
|
|
180
|
+
- **THEN** OpenSpec SHALL fail without showing a picker regardless of interactive mode
|
|
181
|
+
- **AND** it SHALL print `No known OpenSpec workspaces. Run 'openspec workspace setup' first.`
|
|
182
|
+
- **AND** it SHALL explain that `--workspace <name>` can be used after at least one workspace is known locally
|
|
183
|
+
|
|
184
|
+
### Requirement: Workspace Links
|
|
185
|
+
OpenSpec SHALL let users link existing repos or folders to a workspace before creating a change.
|
|
186
|
+
|
|
187
|
+
#### Scenario: Linking with an inferred name
|
|
188
|
+
- **WHEN** a user runs `openspec workspace link <path>`
|
|
189
|
+
- **THEN** OpenSpec SHALL infer the link name from the folder basename
|
|
190
|
+
- **AND** it SHALL store the verified absolute local path as machine-local state
|
|
191
|
+
|
|
192
|
+
#### Scenario: Linking with an explicit name
|
|
193
|
+
- **WHEN** a user runs `openspec workspace link <name> <path>`
|
|
194
|
+
- **THEN** OpenSpec SHALL use the explicit link name for planning
|
|
195
|
+
- **AND** it SHALL store the verified absolute local path as machine-local state
|
|
196
|
+
|
|
197
|
+
#### Scenario: Requiring an existing path
|
|
198
|
+
- **WHEN** a user links a repo or folder path
|
|
199
|
+
- **THEN** the path SHALL exist on the current machine
|
|
200
|
+
- **AND** OpenSpec SHALL reject missing paths with a clear message
|
|
201
|
+
|
|
202
|
+
#### Scenario: Resolving linked paths before storage
|
|
203
|
+
- **WHEN** a user links a repo or folder path
|
|
204
|
+
- **THEN** OpenSpec SHALL store the verified absolute path for the current runtime
|
|
205
|
+
- **AND** relative inputs SHALL be resolved against the command's current working directory
|
|
206
|
+
- **AND** OpenSpec SHALL not translate paths between native Windows, WSL2, and Unix runtimes
|
|
207
|
+
|
|
208
|
+
#### Scenario: Linking a monorepo folder
|
|
209
|
+
- **WHEN** a user links a package, service, app, or directory inside a monorepo
|
|
210
|
+
- **THEN** OpenSpec SHALL store it as a workspace link
|
|
211
|
+
- **AND** it SHALL not require that folder to have its own repo-local `openspec/` directory
|
|
212
|
+
|
|
213
|
+
#### Scenario: Linking without repo-local OpenSpec
|
|
214
|
+
- **WHEN** a user links a path that does not contain repo-local OpenSpec state
|
|
215
|
+
- **THEN** OpenSpec SHALL keep that repo or folder available for workspace planning
|
|
216
|
+
- **AND** it SHALL not treat missing repo-local OpenSpec state as a link failure
|
|
217
|
+
|
|
218
|
+
#### Scenario: Link records only
|
|
219
|
+
- **WHEN** a user links a repo or folder
|
|
220
|
+
- **THEN** OpenSpec SHALL record workspace state and local path state
|
|
221
|
+
- **AND** it SHALL not create, copy, move, initialize, or edit files in the linked repo or folder
|
|
222
|
+
|
|
223
|
+
#### Scenario: Blocking link when local state is invalid
|
|
224
|
+
- **GIVEN** the workspace machine-local state file exists but cannot be parsed or validated
|
|
225
|
+
- **WHEN** a user runs `openspec workspace link`
|
|
226
|
+
- **THEN** OpenSpec SHALL fail with status code `workspace_local_state_invalid`
|
|
227
|
+
- **AND** it SHALL not rewrite shared workspace state or machine-local path state
|
|
228
|
+
|
|
229
|
+
#### Scenario: Reusing a link name
|
|
230
|
+
- **GIVEN** a workspace already has a link with a given name
|
|
231
|
+
- **WHEN** a user tries to link another path with the same name
|
|
232
|
+
- **THEN** OpenSpec SHALL explain that the link name is already in use by another link
|
|
233
|
+
- **AND** it SHALL show the existing link name and existing path
|
|
234
|
+
- **AND** it SHALL suggest choosing a different link name
|
|
235
|
+
- **AND** it SHALL suggest `workspace relink <name> <path>` when the user intended to change the existing link path
|
|
236
|
+
- **AND** it SHALL preserve the existing link unless the user explicitly relinks it
|
|
237
|
+
|
|
238
|
+
### Requirement: Workspace Relinks
|
|
239
|
+
OpenSpec SHALL let users update existing link paths without recreating the workspace.
|
|
240
|
+
|
|
241
|
+
#### Scenario: Updating a local path
|
|
242
|
+
- **GIVEN** a workspace has a link
|
|
243
|
+
- **WHEN** a user runs `openspec workspace relink <name> <path>`
|
|
244
|
+
- **THEN** OpenSpec SHALL keep the stable link name
|
|
245
|
+
- **AND** it SHALL update the machine-local path for the current machine to the verified absolute path
|
|
246
|
+
|
|
247
|
+
#### Scenario: Requiring an existing relink path
|
|
248
|
+
- **WHEN** a user relinks to a new path
|
|
249
|
+
- **THEN** the new path SHALL exist on the current machine
|
|
250
|
+
- **AND** OpenSpec SHALL reject missing paths with a clear message
|
|
251
|
+
|
|
252
|
+
#### Scenario: Resolving relink paths before storage
|
|
253
|
+
- **WHEN** a user relinks to a new path
|
|
254
|
+
- **THEN** OpenSpec SHALL store the verified absolute path for the current runtime
|
|
255
|
+
- **AND** relative inputs SHALL be resolved against the command's current working directory
|
|
256
|
+
|
|
257
|
+
#### Scenario: Blocking relink when local state is invalid
|
|
258
|
+
- **GIVEN** the workspace machine-local state file exists but cannot be parsed or validated
|
|
259
|
+
- **WHEN** a user runs `openspec workspace relink`
|
|
260
|
+
- **THEN** OpenSpec SHALL fail with status code `workspace_local_state_invalid`
|
|
261
|
+
- **AND** it SHALL not rewrite machine-local path state
|
|
262
|
+
|
|
263
|
+
#### Scenario: Updating an unknown link
|
|
264
|
+
- **WHEN** a user tries to relink a link that does not exist
|
|
265
|
+
- **THEN** OpenSpec SHALL explain that the link name is unknown
|
|
266
|
+
- **AND** it SHALL preserve existing workspace state
|
|
267
|
+
|
|
268
|
+
#### Scenario: Avoiding owner and handoff fields
|
|
269
|
+
- **WHEN** users link or relink repos or folders in this slice
|
|
270
|
+
- **THEN** OpenSpec SHALL not ask for owner or handoff metadata
|
|
271
|
+
- **AND** link maintenance SHALL focus on names and local paths
|
|
272
|
+
|
|
273
|
+
### Requirement: Workspace Health Check
|
|
274
|
+
OpenSpec SHALL explain what the current machine can resolve for a workspace.
|
|
275
|
+
|
|
276
|
+
#### Scenario: Doctor checks one selected workspace
|
|
277
|
+
- **WHEN** a user runs `openspec workspace doctor`
|
|
278
|
+
- **THEN** OpenSpec SHALL inspect one selected workspace
|
|
279
|
+
- **AND** it SHALL not scan every known workspace in the local registry by default
|
|
280
|
+
|
|
281
|
+
#### Scenario: Doctor infers the current workspace
|
|
282
|
+
- **GIVEN** the command runs from a workspace folder or subdirectory
|
|
283
|
+
- **WHEN** the user runs `openspec workspace doctor` without `--workspace <name>`
|
|
284
|
+
- **THEN** OpenSpec SHALL inspect the current workspace
|
|
285
|
+
|
|
286
|
+
#### Scenario: Checking a healthy workspace
|
|
287
|
+
- **WHEN** a user runs `openspec workspace doctor`
|
|
288
|
+
- **THEN** OpenSpec SHALL show the workspace location and workspace planning path
|
|
289
|
+
- **AND** it SHALL show linked repos or folders and which paths resolve on the current machine
|
|
290
|
+
|
|
291
|
+
#### Scenario: Selected workspace location is missing
|
|
292
|
+
- **GIVEN** the selected workspace comes from the local registry
|
|
293
|
+
- **AND** the registered workspace location is missing or invalid
|
|
294
|
+
- **WHEN** a user runs `openspec workspace doctor`
|
|
295
|
+
- **THEN** OpenSpec SHALL report a selected-workspace status error
|
|
296
|
+
- **AND** it SHALL not attempt to inspect links for that workspace
|
|
297
|
+
|
|
298
|
+
#### Scenario: Reporting repo-local specs paths
|
|
299
|
+
- **WHEN** a linked repo or folder resolves
|
|
300
|
+
- **THEN** doctor SHALL report `repo_specs_path` when repo-local `openspec/specs` exists
|
|
301
|
+
- **AND** it SHALL report `repo_specs_path: null` when repo-local specs are not present
|
|
302
|
+
|
|
303
|
+
#### Scenario: Checking missing paths
|
|
304
|
+
- **WHEN** a link points to a path that is missing on the current machine
|
|
305
|
+
- **THEN** doctor SHALL identify the affected link name
|
|
306
|
+
- **AND** it SHALL include a suggested `workspace relink` fix
|
|
307
|
+
|
|
308
|
+
#### Scenario: Checking shared and local state drift
|
|
309
|
+
- **WHEN** shared workspace state and machine-local path state do not agree
|
|
310
|
+
- **THEN** doctor SHALL explain which link names are affected
|
|
311
|
+
- **AND** it SHALL distinguish shared workspace links from local-only paths
|
|
312
|
+
|
|
313
|
+
#### Scenario: Reporting invalid local state
|
|
314
|
+
- **WHEN** list or doctor reads a workspace whose machine-local state file cannot be parsed or validated
|
|
315
|
+
- **THEN** OpenSpec SHALL report status code `workspace_local_state_invalid`
|
|
316
|
+
- **AND** it SHALL avoid treating the invalid local state as an empty path map for mutation or repair suggestions
|
|
317
|
+
- **AND** it SHALL not rewrite workspace registry state or machine-local path state
|
|
318
|
+
|
|
319
|
+
#### Scenario: Reporting without auto-repair
|
|
320
|
+
- **WHEN** doctor finds issues
|
|
321
|
+
- **THEN** it SHALL report all issues it can find
|
|
322
|
+
- **AND** it SHALL not automatically repair workspace state
|
|
323
|
+
|
|
324
|
+
#### Scenario: Using readable human output
|
|
325
|
+
- **WHEN** doctor prints human output
|
|
326
|
+
- **THEN** it SHALL show a readable workspace summary, linked repos or folders, and issues when present
|
|
327
|
+
- **AND** it SHALL avoid printing raw JSON or relying on a rigid YAML dump as the default human experience
|
|
328
|
+
|
|
329
|
+
### Requirement: Scriptable Workspace Setup Commands
|
|
330
|
+
OpenSpec SHALL provide JSON output for direct workspace setup commands.
|
|
331
|
+
|
|
332
|
+
#### Scenario: Requesting JSON output
|
|
333
|
+
- **WHEN** a user passes `--json` to direct workspace setup commands
|
|
334
|
+
- **THEN** OpenSpec SHALL print machine-readable output
|
|
335
|
+
- **AND** the output SHALL avoid extra human-readable text
|
|
336
|
+
- **AND** the output SHALL separate primary objects from structured `status` entries
|
|
337
|
+
|
|
338
|
+
#### Scenario: Setup JSON requires non-interactive setup
|
|
339
|
+
- **WHEN** a user runs `openspec workspace setup --json` without `--no-interactive`
|
|
340
|
+
- **THEN** OpenSpec SHALL fail clearly
|
|
341
|
+
- **AND** it SHALL explain that `workspace setup --json` requires `--no-interactive`
|
|
342
|
+
|
|
343
|
+
#### Scenario: JSON output disables prompts
|
|
344
|
+
- **WHEN** a direct workspace setup command runs with `--json`
|
|
345
|
+
- **THEN** OpenSpec SHALL avoid interactive prompts
|
|
346
|
+
- **AND** it SHALL fail with structured status output when required choices are ambiguous
|
|
347
|
+
|
|
348
|
+
#### Scenario: JSON status entry shape
|
|
349
|
+
- **WHEN** a direct workspace setup command reports warnings, errors, or suggested fixes in JSON output
|
|
350
|
+
- **THEN** each status entry SHALL include a stable `code`, a `severity`, and a human-readable `message`
|
|
351
|
+
- **AND** status entries MAY include `target` and `fix` fields when a specific object field or suggested command is useful
|
|
352
|
+
|
|
353
|
+
#### Scenario: JSON object status shape
|
|
354
|
+
- **WHEN** a direct workspace setup command emits JSON for workspace, link, or list objects
|
|
355
|
+
- **THEN** each object MAY include a `status` array for object-specific warnings or errors
|
|
356
|
+
- **AND** the top-level response SHALL include a `status` array for command-level warnings or errors
|
|
357
|
+
- **AND** healthy objects and healthy responses SHALL use an empty `status` array
|
|
358
|
+
|
|
359
|
+
#### Scenario: Commands with JSON output
|
|
360
|
+
- **WHEN** users run `workspace setup --no-interactive`, `workspace list`, `workspace link`, `workspace relink`, or `workspace doctor`
|
|
361
|
+
- **THEN** each command SHALL support JSON output
|
|
362
|
+
|
|
363
|
+
### Requirement: Workspace setup installs agent skills
|
|
364
|
+
OpenSpec SHALL let users install OpenSpec agent skills into a workspace during workspace setup.
|
|
365
|
+
|
|
366
|
+
#### Scenario: Prompting for workspace agent skills
|
|
367
|
+
- **WHEN** interactive workspace setup reaches agent skill installation
|
|
368
|
+
- **THEN** OpenSpec SHALL ask which agents should get OpenSpec skills in this workspace
|
|
369
|
+
- **AND** the prompt SHALL use agent-skill language rather than "AI tools" language
|
|
370
|
+
|
|
371
|
+
#### Scenario: Preselecting the preferred opener
|
|
372
|
+
- **GIVEN** the user selected a preferred opener that supports OpenSpec skill generation
|
|
373
|
+
- **WHEN** interactive workspace setup asks which agents should get skills
|
|
374
|
+
- **THEN** OpenSpec SHALL preselect the matching agent
|
|
375
|
+
- **AND** the user SHALL be able to select additional agents or deselect the preselected agent
|
|
376
|
+
|
|
377
|
+
#### Scenario: Installing selected workspace skills
|
|
378
|
+
- **WHEN** workspace setup completes with one or more selected agents
|
|
379
|
+
- **THEN** OpenSpec SHALL generate or refresh OpenSpec skill files under the workspace root for each selected agent
|
|
380
|
+
- **AND** it SHALL report which agents received skills
|
|
381
|
+
- **AND** it SHALL store the selected agents in workspace-local machine state
|
|
382
|
+
|
|
383
|
+
#### Scenario: Installing profile-selected workflows
|
|
384
|
+
- **GIVEN** global config resolves to a workflow profile
|
|
385
|
+
- **WHEN** workspace setup installs agent skills
|
|
386
|
+
- **THEN** OpenSpec SHALL install workspace-local skills for the workflows selected by that profile
|
|
387
|
+
- **AND** it SHALL treat `--tools` as agent selection, not workflow selection
|
|
388
|
+
- **AND** it SHALL record the last applied workflow IDs for drift detection
|
|
389
|
+
|
|
390
|
+
#### Scenario: Installing skills only during setup
|
|
391
|
+
- **WHEN** workspace setup installs agent skills
|
|
392
|
+
- **THEN** OpenSpec SHALL generate skill files only
|
|
393
|
+
- **AND** it SHALL not generate slash command files or global command files as part of workspace setup
|
|
394
|
+
|
|
395
|
+
#### Scenario: Ignoring command delivery for workspace setup
|
|
396
|
+
- **GIVEN** global config delivery is `commands` or `both`
|
|
397
|
+
- **WHEN** workspace setup installs agent skills
|
|
398
|
+
- **THEN** OpenSpec SHALL still generate workspace-local skills only
|
|
399
|
+
- **AND** it SHALL report that workspace command generation is not part of this slice
|
|
400
|
+
|
|
401
|
+
#### Scenario: Preserving linked repos during skill installation
|
|
402
|
+
- **WHEN** workspace setup installs agent skills
|
|
403
|
+
- **THEN** OpenSpec SHALL leave linked repos and folders unchanged
|
|
404
|
+
- **AND** generated skills SHALL be scoped to the workspace planning home
|
|
405
|
+
|
|
406
|
+
#### Scenario: Non-interactive setup tool selection
|
|
407
|
+
- **WHEN** non-interactive workspace setup receives `--tools all`, `--tools none`, or `--tools <ids>`
|
|
408
|
+
- **THEN** OpenSpec SHALL use the selected tool set for workspace agent skill installation
|
|
409
|
+
- **AND** it SHALL validate tool IDs using the same supported tool IDs as skill generation for repo initialization
|
|
410
|
+
|
|
411
|
+
#### Scenario: Non-interactive setup without tool selection
|
|
412
|
+
- **WHEN** non-interactive workspace setup omits `--tools`
|
|
413
|
+
- **THEN** OpenSpec SHALL create the workspace without installing agent skills
|
|
414
|
+
- **AND** it SHALL report that no workspace skills were installed
|
|
415
|
+
- **AND** it SHALL tell the user to run `openspec workspace update --tools <ids>` to install skills later
|
|
416
|
+
|
|
417
|
+
#### Scenario: Reporting setup skills in JSON output
|
|
418
|
+
- **WHEN** non-interactive workspace setup installs agent skills with JSON output enabled
|
|
419
|
+
- **THEN** OpenSpec SHALL include generated, refreshed, skipped, or failed skill installation results in machine-readable output
|
|
420
|
+
|
|
421
|
+
### Requirement: Workspace update manages agent skills
|
|
422
|
+
OpenSpec SHALL provide a workspace update flow for refreshing agent skills after setup.
|
|
423
|
+
|
|
424
|
+
#### Scenario: Updating the current workspace
|
|
425
|
+
- **GIVEN** the command runs from inside an OpenSpec workspace
|
|
426
|
+
- **WHEN** the user runs `openspec workspace update`
|
|
427
|
+
- **THEN** OpenSpec SHALL update that current workspace
|
|
428
|
+
|
|
429
|
+
#### Scenario: Updating a named workspace
|
|
430
|
+
- **GIVEN** a workspace named `platform` is known locally
|
|
431
|
+
- **WHEN** the user runs `openspec workspace update platform`
|
|
432
|
+
- **THEN** OpenSpec SHALL update the `platform` workspace
|
|
433
|
+
|
|
434
|
+
#### Scenario: Updating a workspace selected by flag
|
|
435
|
+
- **GIVEN** a workspace named `platform` is known locally
|
|
436
|
+
- **WHEN** the user runs `openspec workspace update --workspace platform`
|
|
437
|
+
- **THEN** OpenSpec SHALL update the `platform` workspace
|
|
438
|
+
|
|
439
|
+
#### Scenario: Updating selected workspace skills
|
|
440
|
+
- **WHEN** workspace update completes with selected agents
|
|
441
|
+
- **THEN** OpenSpec SHALL refresh OpenSpec skills for selected agents
|
|
442
|
+
- **AND** it SHALL add skills for newly selected agents
|
|
443
|
+
- **AND** it SHALL remove OpenSpec-managed workflow skill directories for agents that are no longer selected
|
|
444
|
+
- **AND** it SHALL update the stored workspace-local selected agent list
|
|
445
|
+
|
|
446
|
+
#### Scenario: Identifying managed workflow skill directories
|
|
447
|
+
- **WHEN** workspace update evaluates a workflow skill directory for removal
|
|
448
|
+
- **THEN** OpenSpec SHALL treat it as OpenSpec-managed only when the directory name matches a known generated workflow skill directory and its `SKILL.md` contains OpenSpec generated metadata
|
|
449
|
+
- **AND** generated metadata SHALL include the `generatedBy` marker written by OpenSpec skill generation
|
|
450
|
+
- **AND** OpenSpec SHALL not remove directories that are missing the generated metadata, even when their names match known workflow skill directory names
|
|
451
|
+
|
|
452
|
+
#### Scenario: Updating profile-selected workflows
|
|
453
|
+
- **GIVEN** global config resolves to a workflow profile
|
|
454
|
+
- **WHEN** workspace update refreshes workspace-local skills
|
|
455
|
+
- **THEN** OpenSpec SHALL sync the workspace-local skill workflow set to the workflows selected by that profile
|
|
456
|
+
- **AND** deselected workflow skill directories SHALL be removed only when they are known OpenSpec-managed workflow skill directories
|
|
457
|
+
- **AND** it SHALL update the last applied workflow IDs used for drift detection
|
|
458
|
+
|
|
459
|
+
#### Scenario: Ignoring command delivery for workspace update
|
|
460
|
+
- **GIVEN** global config delivery is `commands` or `both`
|
|
461
|
+
- **WHEN** workspace update refreshes workspace-local skills
|
|
462
|
+
- **THEN** OpenSpec SHALL still update workspace-local skills only
|
|
463
|
+
- **AND** it SHALL not generate slash command files or global command files
|
|
464
|
+
|
|
465
|
+
#### Scenario: Removing only managed skill directories
|
|
466
|
+
- **WHEN** workspace update removes skills for an unselected agent
|
|
467
|
+
- **THEN** OpenSpec SHALL remove only known OpenSpec-managed workflow skill directories
|
|
468
|
+
- **AND** it SHALL preserve unrelated files in the agent directory
|
|
469
|
+
|
|
470
|
+
#### Scenario: Updating stored agent selection by flag
|
|
471
|
+
- **WHEN** workspace update receives `--tools <ids>` or `--tools none`
|
|
472
|
+
- **THEN** OpenSpec SHALL replace the stored workspace-local selected agent list with that selection
|
|
473
|
+
- **AND** future workspace updates without `--tools` SHALL use the stored selection
|
|
474
|
+
|
|
475
|
+
#### Scenario: Non-interactive update tool selection
|
|
476
|
+
- **WHEN** workspace update receives `--tools all`, `--tools none`, or `--tools <ids>`
|
|
477
|
+
- **THEN** OpenSpec SHALL update workspace agent skills using that selected tool set
|
|
478
|
+
- **AND** it SHALL avoid prompting for agent selection
|
|
479
|
+
|
|
480
|
+
#### Scenario: Non-interactive update without tool selection
|
|
481
|
+
- **GIVEN** workspace-local selected agents are stored
|
|
482
|
+
- **WHEN** non-interactive workspace update omits `--tools`
|
|
483
|
+
- **THEN** OpenSpec SHALL refresh the stored selected agents using the active global profile
|
|
484
|
+
- **AND** it SHALL avoid prompting for agent selection
|
|
485
|
+
|
|
486
|
+
#### Scenario: Non-interactive update without stored selection
|
|
487
|
+
- **GIVEN** no workspace-local selected agents are stored
|
|
488
|
+
- **WHEN** non-interactive workspace update omits `--tools`
|
|
489
|
+
- **THEN** OpenSpec SHALL complete without installing agent skills
|
|
490
|
+
- **AND** it SHALL report a no-op with guidance to pass `--tools`
|
|
491
|
+
|
|
492
|
+
#### Scenario: Reporting workspace skill drift
|
|
493
|
+
- **GIVEN** workspace-local skill state records last applied workflow IDs
|
|
494
|
+
- **AND** the active global profile resolves to a different workflow set
|
|
495
|
+
- **WHEN** OpenSpec reports workspace skill state
|
|
496
|
+
- **THEN** it SHALL report that workspace-local skills are out of sync with the global profile
|
|
497
|
+
- **AND** it SHALL suggest `openspec workspace update`
|
|
498
|
+
|
|
499
|
+
#### Scenario: Reporting clean workspace skill sync
|
|
500
|
+
- **GIVEN** workspace-local skill state matches the active global profile and selected agents
|
|
501
|
+
- **WHEN** OpenSpec reports workspace skill state
|
|
502
|
+
- **THEN** it SHALL not report profile drift
|
|
503
|
+
|
|
504
|
+
#### Scenario: Reporting workspace skill update results
|
|
505
|
+
- **WHEN** workspace update changes agent skill state
|
|
506
|
+
- **THEN** OpenSpec SHALL report which agents were refreshed, added, removed, skipped, or failed
|
|
507
|
+
|
|
508
|
+
#### Scenario: Reporting workspace update results in JSON output
|
|
509
|
+
- **WHEN** workspace update runs with JSON output enabled
|
|
510
|
+
- **THEN** OpenSpec SHALL include refreshed, added, removed, skipped, or failed skill results in machine-readable output
|
|
511
|
+
|
|
512
|
+
### Requirement: Workspace skill update surface is documented
|
|
513
|
+
OpenSpec SHALL expose workspace skill setup/update behavior in user-facing command surfaces.
|
|
514
|
+
|
|
515
|
+
#### Scenario: Workspace update appears in help
|
|
516
|
+
- **WHEN** a user runs `openspec workspace --help`
|
|
517
|
+
- **THEN** OpenSpec SHALL list `workspace update`
|
|
518
|
+
- **AND** it SHALL describe it as refreshing workspace-local agent skills
|
|
519
|
+
|
|
520
|
+
#### Scenario: Workspace update options appear in help
|
|
521
|
+
- **WHEN** a user runs `openspec workspace update --help`
|
|
522
|
+
- **THEN** OpenSpec SHALL document workspace selection options
|
|
523
|
+
- **AND** it SHALL document `--tools all|none|<ids>`
|
|
524
|
+
- **AND** it SHALL state that global profile selects workflows and `--tools` selects agents
|
|
525
|
+
|
|
526
|
+
#### Scenario: Workspace update appears in completions
|
|
527
|
+
- **WHEN** shell completions are generated
|
|
528
|
+
- **THEN** the workspace command registry SHALL include `workspace update`
|
|
529
|
+
- **AND** it SHALL include relevant options such as `--workspace`, `--tools`, `--json`, and `--no-interactive`
|