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,356 @@
|
|
|
1
|
+
## ADDED Requirements
|
|
2
|
+
|
|
3
|
+
### Requirement: Guided Workspace Setup
|
|
4
|
+
OpenSpec SHALL provide a guided setup flow for users starting workspace planning.
|
|
5
|
+
|
|
6
|
+
#### Scenario: Creating a workspace through setup
|
|
7
|
+
- **WHEN** a user runs `openspec workspace setup`
|
|
8
|
+
- **THEN** OpenSpec SHALL guide the user through creating an OpenSpec workspace
|
|
9
|
+
- **AND** the workspace SHALL use the standard workspace location from the workspace foundation
|
|
10
|
+
|
|
11
|
+
#### Scenario: Asking for the workspace name first
|
|
12
|
+
- **WHEN** interactive setup starts
|
|
13
|
+
- **THEN** OpenSpec SHALL ask for the workspace name before asking for repos or folders
|
|
14
|
+
- **AND** workspace names SHALL use kebab-case with lowercase letters, numbers, and hyphens
|
|
15
|
+
|
|
16
|
+
#### Scenario: Retrying an invalid workspace name during setup
|
|
17
|
+
- **WHEN** an interactive user enters an invalid workspace name
|
|
18
|
+
- **THEN** OpenSpec SHALL explain that workspace names must be kebab-case
|
|
19
|
+
- **AND** it SHALL let the user enter another workspace name before continuing setup
|
|
20
|
+
|
|
21
|
+
#### Scenario: Linking a required first repo or folder
|
|
22
|
+
- **WHEN** setup asks for repos or folders
|
|
23
|
+
- **THEN** the user SHALL provide at least one existing repo or folder path
|
|
24
|
+
- **AND** setup SHALL not finish successfully until at least one path is linked
|
|
25
|
+
|
|
26
|
+
#### Scenario: Inferring link names during setup
|
|
27
|
+
- **WHEN** the user provides a repo or folder path during setup
|
|
28
|
+
- **THEN** OpenSpec SHALL infer the link name from the folder basename
|
|
29
|
+
- **AND** it SHALL ask for a different name only when the inferred name conflicts
|
|
30
|
+
|
|
31
|
+
#### Scenario: Handling inferred link name conflicts during setup
|
|
32
|
+
- **GIVEN** setup infers a link name that already exists in the workspace
|
|
33
|
+
- **WHEN** setup is interactive
|
|
34
|
+
- **THEN** OpenSpec SHALL show the conflicting link name and the existing path for that link
|
|
35
|
+
- **AND** it SHALL ask the user for a different link name before continuing
|
|
36
|
+
|
|
37
|
+
#### Scenario: Preserving folder-style link names
|
|
38
|
+
- **WHEN** OpenSpec accepts a workspace link name
|
|
39
|
+
- **THEN** it SHALL allow folder-style names that are valid under the workspace foundation link-name rules
|
|
40
|
+
- **AND** it SHALL not require link names to use the stricter workspace-name kebab-case rule
|
|
41
|
+
|
|
42
|
+
#### Scenario: Adding multiple repos or folders during setup
|
|
43
|
+
- **WHEN** setup links a repo or folder
|
|
44
|
+
- **THEN** OpenSpec SHALL let the user add another repo or folder with a simple repeated prompt
|
|
45
|
+
- **AND** each linked path SHALL be recorded without editing the target repo or folder
|
|
46
|
+
|
|
47
|
+
#### Scenario: Storing verified absolute paths during setup
|
|
48
|
+
- **WHEN** setup links a repo or folder path
|
|
49
|
+
- **THEN** OpenSpec SHALL verify that the path resolves to an existing folder
|
|
50
|
+
- **AND** it SHALL store an absolute runtime-local path in machine-local state instead of the raw user input
|
|
51
|
+
- **AND** relative inputs SHALL be resolved against the command's current working directory
|
|
52
|
+
|
|
53
|
+
#### Scenario: Preserving equals signs in setup link paths
|
|
54
|
+
- **WHEN** non-interactive setup receives a `--link` value that resolves to an existing folder and contains `=`
|
|
55
|
+
- **THEN** OpenSpec SHALL treat the full value as the path
|
|
56
|
+
- **AND** it SHALL infer the link name from the folder basename
|
|
57
|
+
- **AND** explicit `--link <name>=<path>` inputs SHALL preserve `=` characters inside `<path>`
|
|
58
|
+
|
|
59
|
+
#### Scenario: Running setup with non-interactive inputs
|
|
60
|
+
- **WHEN** `openspec workspace setup --no-interactive` receives a workspace name and at least one valid link
|
|
61
|
+
- **THEN** OpenSpec SHALL create the workspace without prompts
|
|
62
|
+
- **AND** it SHALL support repeated `--link` values
|
|
63
|
+
|
|
64
|
+
#### Scenario: Non-interactive setup duplicate link names
|
|
65
|
+
- **WHEN** `openspec workspace setup --no-interactive` receives two links with the same inferred or explicit name
|
|
66
|
+
- **THEN** OpenSpec SHALL fail with a clear duplicate link-name error
|
|
67
|
+
- **AND** the error SHALL show the conflicting link name and the first path using that name
|
|
68
|
+
- **AND** it SHALL suggest using explicit `--link <name>=<path>` values with different names
|
|
69
|
+
|
|
70
|
+
#### Scenario: Missing non-interactive setup inputs
|
|
71
|
+
- **WHEN** `openspec workspace setup --no-interactive` is missing a workspace name or link
|
|
72
|
+
- **THEN** OpenSpec SHALL fail with a clear message
|
|
73
|
+
- **AND** it SHALL explain which flags are required
|
|
74
|
+
|
|
75
|
+
#### Scenario: Finishing setup
|
|
76
|
+
- **WHEN** setup finishes
|
|
77
|
+
- **THEN** OpenSpec SHALL show the workspace location, planning path, and linked repos or folders
|
|
78
|
+
- **AND** it SHALL check what the current machine can resolve
|
|
79
|
+
|
|
80
|
+
#### Scenario: Recording created workspaces locally
|
|
81
|
+
- **WHEN** setup creates a workspace
|
|
82
|
+
- **THEN** OpenSpec SHALL record it in the local workspace registry
|
|
83
|
+
- **AND** the workspace folder SHALL remain the source of truth for workspace state
|
|
84
|
+
|
|
85
|
+
#### Scenario: Reusing an existing workspace name during setup
|
|
86
|
+
- **GIVEN** a managed workspace already exists with the requested name
|
|
87
|
+
- **WHEN** a user runs setup with that workspace name
|
|
88
|
+
- **THEN** OpenSpec SHALL explain that the workspace already exists
|
|
89
|
+
- **AND** it SHALL not overwrite the existing workspace
|
|
90
|
+
|
|
91
|
+
### Requirement: Workspace Discovery
|
|
92
|
+
OpenSpec SHALL let users see the OpenSpec-managed workspaces available on the current machine.
|
|
93
|
+
|
|
94
|
+
#### Scenario: Listing workspaces
|
|
95
|
+
- **WHEN** a user runs `openspec workspace list`
|
|
96
|
+
- **THEN** OpenSpec SHALL list known managed workspaces
|
|
97
|
+
- **AND** each workspace SHALL include the workspace name, workspace location, and linked repos or folders
|
|
98
|
+
|
|
99
|
+
#### Scenario: Using the short list command
|
|
100
|
+
- **WHEN** a user runs `openspec workspace ls`
|
|
101
|
+
- **THEN** OpenSpec SHALL behave the same as `openspec workspace list`
|
|
102
|
+
|
|
103
|
+
#### Scenario: Listing when no workspaces exist
|
|
104
|
+
- **WHEN** a user runs `openspec workspace list`
|
|
105
|
+
- **AND** no managed workspaces exist
|
|
106
|
+
- **THEN** OpenSpec SHALL say that no workspaces were found
|
|
107
|
+
- **AND** it SHALL show the user how to create one
|
|
108
|
+
|
|
109
|
+
#### Scenario: Listing stale registry entries
|
|
110
|
+
- **WHEN** the local registry contains a workspace location that no longer exists
|
|
111
|
+
- **THEN** `workspace list` SHALL report the stale workspace entry
|
|
112
|
+
- **AND** it SHALL avoid silently deleting registry state
|
|
113
|
+
- **AND** it SHALL avoid rewriting or repairing registry state automatically
|
|
114
|
+
|
|
115
|
+
#### Scenario: Avoiding registry cleanup commands
|
|
116
|
+
- **WHEN** users inspect stale workspace registry entries in this slice
|
|
117
|
+
- **THEN** OpenSpec SHALL treat stale entries as report-only diagnostics
|
|
118
|
+
- **AND** it SHALL not expose a registry cleanup command such as `workspace forget`
|
|
119
|
+
|
|
120
|
+
### Requirement: Global Workspace Commands
|
|
121
|
+
OpenSpec SHALL let workspace commands run from outside workspace directories.
|
|
122
|
+
|
|
123
|
+
#### Scenario: Selecting a workspace by flag
|
|
124
|
+
- **WHEN** a command that needs one workspace receives `--workspace <name>`
|
|
125
|
+
- **THEN** OpenSpec SHALL use that workspace from the local registry
|
|
126
|
+
- **AND** it SHALL fail clearly if the workspace name is unknown
|
|
127
|
+
|
|
128
|
+
#### Scenario: Using the current workspace
|
|
129
|
+
- **GIVEN** the command runs from a workspace folder or subdirectory
|
|
130
|
+
- **WHEN** the command needs one workspace and no `--workspace` flag is provided
|
|
131
|
+
- **THEN** OpenSpec SHALL use the current workspace
|
|
132
|
+
|
|
133
|
+
#### Scenario: Using an unregistered current workspace
|
|
134
|
+
- **GIVEN** the command runs from a valid workspace folder or subdirectory
|
|
135
|
+
- **AND** that workspace is not recorded in the local workspace registry
|
|
136
|
+
- **WHEN** the command needs one workspace and no `--workspace <name>` flag is provided
|
|
137
|
+
- **THEN** OpenSpec SHALL use the current workspace
|
|
138
|
+
- **AND** it SHALL include a non-fatal warning status with code `workspace_not_in_local_registry`
|
|
139
|
+
- **AND** the warning SHALL explain how the user can get the workspace recorded locally
|
|
140
|
+
|
|
141
|
+
#### Scenario: Recording an unregistered current workspace after mutation
|
|
142
|
+
- **GIVEN** a mutating workspace command uses a valid current workspace that is not recorded in the local workspace registry
|
|
143
|
+
- **WHEN** `workspace link` or `workspace relink` succeeds
|
|
144
|
+
- **THEN** OpenSpec SHALL record the workspace name and location in the local workspace registry
|
|
145
|
+
|
|
146
|
+
#### Scenario: Doctor does not register current workspaces
|
|
147
|
+
- **GIVEN** `workspace doctor` uses a valid current workspace that is not recorded in the local workspace registry
|
|
148
|
+
- **WHEN** doctor finishes
|
|
149
|
+
- **THEN** OpenSpec SHALL report the non-fatal registry warning
|
|
150
|
+
- **AND** it SHALL not write registry state
|
|
151
|
+
|
|
152
|
+
#### Scenario: Picking from multiple workspaces
|
|
153
|
+
- **GIVEN** multiple known workspaces exist
|
|
154
|
+
- **WHEN** an interactive command needs one workspace and none is specified
|
|
155
|
+
- **THEN** OpenSpec SHALL show a workspace picker
|
|
156
|
+
- **AND** the picker SHALL include workspace names and paths
|
|
157
|
+
|
|
158
|
+
#### Scenario: Ambiguous non-interactive workspace selection
|
|
159
|
+
- **GIVEN** multiple known workspaces exist
|
|
160
|
+
- **WHEN** a non-interactive command needs one workspace and none is specified
|
|
161
|
+
- **THEN** OpenSpec SHALL fail with a clear message
|
|
162
|
+
- **AND** it SHALL suggest passing `--workspace <name>`
|
|
163
|
+
|
|
164
|
+
#### Scenario: Ambiguous JSON workspace selection
|
|
165
|
+
- **GIVEN** multiple known workspaces exist
|
|
166
|
+
- **WHEN** a command running with `--json` needs one workspace and none is specified
|
|
167
|
+
- **THEN** OpenSpec SHALL fail without showing a picker
|
|
168
|
+
- **AND** it SHALL emit a structured status error
|
|
169
|
+
- **AND** it SHALL suggest passing `--workspace <name>`
|
|
170
|
+
|
|
171
|
+
#### Scenario: No known workspaces for a command that needs one
|
|
172
|
+
- **GIVEN** no known workspaces exist in the local registry
|
|
173
|
+
- **AND** the command is not running from a workspace folder or subdirectory
|
|
174
|
+
- **WHEN** `workspace link`, `workspace relink`, `workspace doctor`, or another command that needs one workspace runs without `--workspace <name>`
|
|
175
|
+
- **THEN** OpenSpec SHALL fail without showing a picker regardless of interactive mode
|
|
176
|
+
- **AND** it SHALL print `No known OpenSpec workspaces. Run 'openspec workspace setup' first.`
|
|
177
|
+
- **AND** it SHALL explain that `--workspace <name>` can be used after at least one workspace is known locally
|
|
178
|
+
|
|
179
|
+
### Requirement: Workspace Links
|
|
180
|
+
OpenSpec SHALL let users link existing repos or folders to a workspace before creating a change.
|
|
181
|
+
|
|
182
|
+
#### Scenario: Linking with an inferred name
|
|
183
|
+
- **WHEN** a user runs `openspec workspace link <path>`
|
|
184
|
+
- **THEN** OpenSpec SHALL infer the link name from the folder basename
|
|
185
|
+
- **AND** it SHALL store the verified absolute local path as machine-local state
|
|
186
|
+
|
|
187
|
+
#### Scenario: Linking with an explicit name
|
|
188
|
+
- **WHEN** a user runs `openspec workspace link <name> <path>`
|
|
189
|
+
- **THEN** OpenSpec SHALL use the explicit link name for planning
|
|
190
|
+
- **AND** it SHALL store the verified absolute local path as machine-local state
|
|
191
|
+
|
|
192
|
+
#### Scenario: Requiring an existing path
|
|
193
|
+
- **WHEN** a user links a repo or folder path
|
|
194
|
+
- **THEN** the path SHALL exist on the current machine
|
|
195
|
+
- **AND** OpenSpec SHALL reject missing paths with a clear message
|
|
196
|
+
|
|
197
|
+
#### Scenario: Resolving linked paths before storage
|
|
198
|
+
- **WHEN** a user links a repo or folder path
|
|
199
|
+
- **THEN** OpenSpec SHALL store the verified absolute path for the current runtime
|
|
200
|
+
- **AND** relative inputs SHALL be resolved against the command's current working directory
|
|
201
|
+
- **AND** OpenSpec SHALL not translate paths between native Windows, WSL2, and Unix runtimes
|
|
202
|
+
|
|
203
|
+
#### Scenario: Linking a monorepo folder
|
|
204
|
+
- **WHEN** a user links a package, service, app, or directory inside a monorepo
|
|
205
|
+
- **THEN** OpenSpec SHALL store it as a workspace link
|
|
206
|
+
- **AND** it SHALL not require that folder to have its own repo-local `openspec/` directory
|
|
207
|
+
|
|
208
|
+
#### Scenario: Linking without repo-local OpenSpec
|
|
209
|
+
- **WHEN** a user links a path that does not contain repo-local OpenSpec state
|
|
210
|
+
- **THEN** OpenSpec SHALL keep that repo or folder available for workspace planning
|
|
211
|
+
- **AND** it SHALL not treat missing repo-local OpenSpec state as a link failure
|
|
212
|
+
|
|
213
|
+
#### Scenario: Link records only
|
|
214
|
+
- **WHEN** a user links a repo or folder
|
|
215
|
+
- **THEN** OpenSpec SHALL record workspace state and local path state
|
|
216
|
+
- **AND** it SHALL not create, copy, move, initialize, or edit files in the linked repo or folder
|
|
217
|
+
|
|
218
|
+
#### Scenario: Blocking link when local state is invalid
|
|
219
|
+
- **GIVEN** the workspace machine-local state file exists but cannot be parsed or validated
|
|
220
|
+
- **WHEN** a user runs `openspec workspace link`
|
|
221
|
+
- **THEN** OpenSpec SHALL fail with status code `workspace_local_state_invalid`
|
|
222
|
+
- **AND** it SHALL not rewrite shared workspace state or machine-local path state
|
|
223
|
+
|
|
224
|
+
#### Scenario: Reusing a link name
|
|
225
|
+
- **GIVEN** a workspace already has a link with a given name
|
|
226
|
+
- **WHEN** a user tries to link another path with the same name
|
|
227
|
+
- **THEN** OpenSpec SHALL explain that the link name is already in use by another link
|
|
228
|
+
- **AND** it SHALL show the existing link name and existing path
|
|
229
|
+
- **AND** it SHALL suggest choosing a different link name
|
|
230
|
+
- **AND** it SHALL suggest `workspace relink <name> <path>` when the user intended to change the existing link path
|
|
231
|
+
- **AND** it SHALL preserve the existing link unless the user explicitly relinks it
|
|
232
|
+
|
|
233
|
+
### Requirement: Workspace Relinks
|
|
234
|
+
OpenSpec SHALL let users update existing link paths without recreating the workspace.
|
|
235
|
+
|
|
236
|
+
#### Scenario: Updating a local path
|
|
237
|
+
- **GIVEN** a workspace has a link
|
|
238
|
+
- **WHEN** a user runs `openspec workspace relink <name> <path>`
|
|
239
|
+
- **THEN** OpenSpec SHALL keep the stable link name
|
|
240
|
+
- **AND** it SHALL update the machine-local path for the current machine to the verified absolute path
|
|
241
|
+
|
|
242
|
+
#### Scenario: Requiring an existing relink path
|
|
243
|
+
- **WHEN** a user relinks to a new path
|
|
244
|
+
- **THEN** the new path SHALL exist on the current machine
|
|
245
|
+
- **AND** OpenSpec SHALL reject missing paths with a clear message
|
|
246
|
+
|
|
247
|
+
#### Scenario: Resolving relink paths before storage
|
|
248
|
+
- **WHEN** a user relinks to a new path
|
|
249
|
+
- **THEN** OpenSpec SHALL store the verified absolute path for the current runtime
|
|
250
|
+
- **AND** relative inputs SHALL be resolved against the command's current working directory
|
|
251
|
+
|
|
252
|
+
#### Scenario: Blocking relink when local state is invalid
|
|
253
|
+
- **GIVEN** the workspace machine-local state file exists but cannot be parsed or validated
|
|
254
|
+
- **WHEN** a user runs `openspec workspace relink`
|
|
255
|
+
- **THEN** OpenSpec SHALL fail with status code `workspace_local_state_invalid`
|
|
256
|
+
- **AND** it SHALL not rewrite machine-local path state
|
|
257
|
+
|
|
258
|
+
#### Scenario: Updating an unknown link
|
|
259
|
+
- **WHEN** a user tries to relink a link that does not exist
|
|
260
|
+
- **THEN** OpenSpec SHALL explain that the link name is unknown
|
|
261
|
+
- **AND** it SHALL preserve existing workspace state
|
|
262
|
+
|
|
263
|
+
#### Scenario: Avoiding owner and handoff fields
|
|
264
|
+
- **WHEN** users link or relink repos or folders in this slice
|
|
265
|
+
- **THEN** OpenSpec SHALL not ask for owner or handoff metadata
|
|
266
|
+
- **AND** link maintenance SHALL focus on names and local paths
|
|
267
|
+
|
|
268
|
+
### Requirement: Workspace Health Check
|
|
269
|
+
OpenSpec SHALL explain what the current machine can resolve for a workspace.
|
|
270
|
+
|
|
271
|
+
#### Scenario: Doctor checks one selected workspace
|
|
272
|
+
- **WHEN** a user runs `openspec workspace doctor`
|
|
273
|
+
- **THEN** OpenSpec SHALL inspect one selected workspace
|
|
274
|
+
- **AND** it SHALL not scan every known workspace in the local registry by default
|
|
275
|
+
|
|
276
|
+
#### Scenario: Doctor infers the current workspace
|
|
277
|
+
- **GIVEN** the command runs from a workspace folder or subdirectory
|
|
278
|
+
- **WHEN** the user runs `openspec workspace doctor` without `--workspace <name>`
|
|
279
|
+
- **THEN** OpenSpec SHALL inspect the current workspace
|
|
280
|
+
|
|
281
|
+
#### Scenario: Checking a healthy workspace
|
|
282
|
+
- **WHEN** a user runs `openspec workspace doctor`
|
|
283
|
+
- **THEN** OpenSpec SHALL show the workspace location and workspace planning path
|
|
284
|
+
- **AND** it SHALL show linked repos or folders and which paths resolve on the current machine
|
|
285
|
+
|
|
286
|
+
#### Scenario: Selected workspace location is missing
|
|
287
|
+
- **GIVEN** the selected workspace comes from the local registry
|
|
288
|
+
- **AND** the registered workspace location is missing or invalid
|
|
289
|
+
- **WHEN** a user runs `openspec workspace doctor`
|
|
290
|
+
- **THEN** OpenSpec SHALL report a selected-workspace status error
|
|
291
|
+
- **AND** it SHALL not attempt to inspect links for that workspace
|
|
292
|
+
|
|
293
|
+
#### Scenario: Reporting repo-local specs paths
|
|
294
|
+
- **WHEN** a linked repo or folder resolves
|
|
295
|
+
- **THEN** doctor SHALL report `repo_specs_path` when repo-local `openspec/specs` exists
|
|
296
|
+
- **AND** it SHALL report `repo_specs_path: null` when repo-local specs are not present
|
|
297
|
+
|
|
298
|
+
#### Scenario: Checking missing paths
|
|
299
|
+
- **WHEN** a link points to a path that is missing on the current machine
|
|
300
|
+
- **THEN** doctor SHALL identify the affected link name
|
|
301
|
+
- **AND** it SHALL include a suggested `workspace relink` fix
|
|
302
|
+
|
|
303
|
+
#### Scenario: Checking shared and local state drift
|
|
304
|
+
- **WHEN** shared workspace state and machine-local path state do not agree
|
|
305
|
+
- **THEN** doctor SHALL explain which link names are affected
|
|
306
|
+
- **AND** it SHALL distinguish shared workspace links from local-only paths
|
|
307
|
+
|
|
308
|
+
#### Scenario: Reporting invalid local state
|
|
309
|
+
- **WHEN** list or doctor reads a workspace whose machine-local state file cannot be parsed or validated
|
|
310
|
+
- **THEN** OpenSpec SHALL report status code `workspace_local_state_invalid`
|
|
311
|
+
- **AND** it SHALL avoid treating the invalid local state as an empty path map for mutation or repair suggestions
|
|
312
|
+
- **AND** it SHALL not rewrite workspace registry state or machine-local path state
|
|
313
|
+
|
|
314
|
+
#### Scenario: Reporting without auto-repair
|
|
315
|
+
- **WHEN** doctor finds issues
|
|
316
|
+
- **THEN** it SHALL report all issues it can find
|
|
317
|
+
- **AND** it SHALL not automatically repair workspace state
|
|
318
|
+
|
|
319
|
+
#### Scenario: Using readable human output
|
|
320
|
+
- **WHEN** doctor prints human output
|
|
321
|
+
- **THEN** it SHALL show a readable workspace summary, linked repos or folders, and issues when present
|
|
322
|
+
- **AND** it SHALL avoid printing raw JSON or relying on a rigid YAML dump as the default human experience
|
|
323
|
+
|
|
324
|
+
### Requirement: Scriptable Workspace Setup Commands
|
|
325
|
+
OpenSpec SHALL provide JSON output for direct workspace setup commands.
|
|
326
|
+
|
|
327
|
+
#### Scenario: Requesting JSON output
|
|
328
|
+
- **WHEN** a user passes `--json` to direct workspace setup commands
|
|
329
|
+
- **THEN** OpenSpec SHALL print machine-readable output
|
|
330
|
+
- **AND** the output SHALL avoid extra human-readable text
|
|
331
|
+
- **AND** the output SHALL separate primary objects from structured `status` entries
|
|
332
|
+
|
|
333
|
+
#### Scenario: Setup JSON requires non-interactive setup
|
|
334
|
+
- **WHEN** a user runs `openspec workspace setup --json` without `--no-interactive`
|
|
335
|
+
- **THEN** OpenSpec SHALL fail clearly
|
|
336
|
+
- **AND** it SHALL explain that `workspace setup --json` requires `--no-interactive`
|
|
337
|
+
|
|
338
|
+
#### Scenario: JSON output disables prompts
|
|
339
|
+
- **WHEN** a direct workspace setup command runs with `--json`
|
|
340
|
+
- **THEN** OpenSpec SHALL avoid interactive prompts
|
|
341
|
+
- **AND** it SHALL fail with structured status output when required choices are ambiguous
|
|
342
|
+
|
|
343
|
+
#### Scenario: JSON status entry shape
|
|
344
|
+
- **WHEN** a direct workspace setup command reports warnings, errors, or suggested fixes in JSON output
|
|
345
|
+
- **THEN** each status entry SHALL include a stable `code`, a `severity`, and a human-readable `message`
|
|
346
|
+
- **AND** status entries MAY include `target` and `fix` fields when a specific object field or suggested command is useful
|
|
347
|
+
|
|
348
|
+
#### Scenario: JSON object status shape
|
|
349
|
+
- **WHEN** a direct workspace setup command emits JSON for workspace, link, or list objects
|
|
350
|
+
- **THEN** each object MAY include a `status` array for object-specific warnings or errors
|
|
351
|
+
- **AND** the top-level response SHALL include a `status` array for command-level warnings or errors
|
|
352
|
+
- **AND** healthy objects and healthy responses SHALL use an empty `status` array
|
|
353
|
+
|
|
354
|
+
#### Scenario: Commands with JSON output
|
|
355
|
+
- **WHEN** users run `workspace setup --no-interactive`, `workspace list`, `workspace link`, `workspace relink`, or `workspace doctor`
|
|
356
|
+
- **THEN** each command SHALL support JSON output
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
## 1. POC Findings And Scope
|
|
2
|
+
|
|
3
|
+
- [x] 1.1 Confirm `setup`, `list`, and `doctor` belong to this slice
|
|
4
|
+
- [x] 1.2 Capture that setup should not own preferred agent or workspace open behavior
|
|
5
|
+
- [x] 1.3 Capture that linked repos or folders and monorepo paths are allowed without repo-local OpenSpec state
|
|
6
|
+
- [x] 1.4 Capture decisions for JSON output, `ls`, `.gitignore`, non-interactive setup, required first link, and relink behavior
|
|
7
|
+
- [x] 1.5 Capture that public `workspace create` is out of scope for the first release
|
|
8
|
+
- [x] 1.6 Capture `link`/`relink` as the user-facing commands
|
|
9
|
+
|
|
10
|
+
## 2. Workspace Setup
|
|
11
|
+
|
|
12
|
+
- [x] 2.1 Implement `openspec workspace setup` as the only public creation path
|
|
13
|
+
- [x] 2.2 Prompt for workspace name first in interactive setup
|
|
14
|
+
- [x] 2.3 Validate workspace names as kebab-case and let interactive users retry invalid names
|
|
15
|
+
- [x] 2.4 Require at least one existing repo or folder path during setup
|
|
16
|
+
- [x] 2.5 Infer link names from folder basenames during setup
|
|
17
|
+
- [x] 2.6 Let users add more repos or folders with a simple repeated prompt
|
|
18
|
+
- [x] 2.7 Run `workspace doctor` after setup and show a readable summary
|
|
19
|
+
- [x] 2.8 Print the workspace location, planning path, linked repos or folders, and next useful commands
|
|
20
|
+
- [x] 2.9 Keep preferred agent prompts and workspace opening out of this slice
|
|
21
|
+
- [x] 2.10 Add `.gitignore` handling for machine-local workspace state
|
|
22
|
+
- [x] 2.11 Record created workspaces in the local workspace registry
|
|
23
|
+
- [x] 2.12 Add tests for native Windows/PowerShell and WSL2-compatible path construction where practical
|
|
24
|
+
|
|
25
|
+
## 3. Non-Interactive Setup
|
|
26
|
+
|
|
27
|
+
- [x] 3.1 Add `workspace setup --no-interactive --name <name> --link <path>` support
|
|
28
|
+
- [x] 3.2 Support repeated `--link` values
|
|
29
|
+
- [x] 3.3 Support `--link <path>` with inferred names
|
|
30
|
+
- [x] 3.4 Support `--link <name>=<path>` with explicit names
|
|
31
|
+
- [x] 3.5 Fail cleanly when non-interactive setup is missing a name or at least one link
|
|
32
|
+
- [x] 3.6 Resolve relative link paths to verified absolute runtime-local paths before storing local state
|
|
33
|
+
- [x] 3.7 Require `--no-interactive` when `workspace setup --json` is used
|
|
34
|
+
- [x] 3.8 Add `--json` output for non-interactive setup
|
|
35
|
+
- [x] 3.9 Preserve the interactive setup UX when `--no-interactive` is not passed
|
|
36
|
+
|
|
37
|
+
## 4. Workspace Listing
|
|
38
|
+
|
|
39
|
+
- [x] 4.1 Implement `openspec workspace list`
|
|
40
|
+
- [x] 4.2 Add `workspace ls` as an alias for `workspace list`
|
|
41
|
+
- [x] 4.3 List known OpenSpec-managed workspaces from the local workspace registry
|
|
42
|
+
- [x] 4.4 Handle the no-workspaces case with a clear next step
|
|
43
|
+
- [x] 4.5 Show each workspace location and linked repos or folders
|
|
44
|
+
- [x] 4.6 Report stale registry entries with status entries without deleting, rewriting, or repairing registry state
|
|
45
|
+
- [x] 4.7 Add JSON output with typed workspace objects and structured status arrays
|
|
46
|
+
|
|
47
|
+
## 5. Workspace Selection
|
|
48
|
+
|
|
49
|
+
- [x] 5.1 Make workspace commands work from outside workspace directories
|
|
50
|
+
- [x] 5.2 Add `--workspace <name>` to commands that need one workspace
|
|
51
|
+
- [x] 5.3 Use the current workspace when running from inside a workspace
|
|
52
|
+
- [x] 5.4 Use unregistered current workspaces with a non-fatal warning status
|
|
53
|
+
- [x] 5.5 Record unregistered current workspaces in the local registry after successful `workspace link` or `workspace relink`
|
|
54
|
+
- [x] 5.6 Keep `workspace doctor` diagnostic-only when the current workspace is unregistered
|
|
55
|
+
- [x] 5.7 Show an interactive picker when multiple known workspaces exist and no workspace is specified
|
|
56
|
+
- [x] 5.8 Select the only known workspace automatically when there is exactly one
|
|
57
|
+
- [x] 5.9 Fail clearly in non-interactive mode when workspace selection is ambiguous
|
|
58
|
+
- [x] 5.10 Fail with structured status output instead of prompting when `--json` workspace selection is ambiguous
|
|
59
|
+
- [x] 5.11 Use the local workspace registry for workspace lookup
|
|
60
|
+
|
|
61
|
+
## 6. Workspace Links
|
|
62
|
+
|
|
63
|
+
- [x] 6.1 Implement `openspec workspace link <path>` with inferred link names
|
|
64
|
+
- [x] 6.2 Implement `openspec workspace link <name> <path>` with explicit link names
|
|
65
|
+
- [x] 6.3 Accept full repo roots and monorepo package/service/app folder paths
|
|
66
|
+
- [x] 6.4 Require linked paths to exist
|
|
67
|
+
- [x] 6.5 Allow links without repo-local `openspec/`
|
|
68
|
+
- [x] 6.6 Store stable link names in shared state and local paths in machine-local state
|
|
69
|
+
- [x] 6.7 Keep link names folder-style, and detect duplicate link names with a specific error that shows the existing link path and suggests a different name or `workspace relink`
|
|
70
|
+
- [x] 6.8 Resolve relative linked paths to verified absolute runtime-local paths before storing local state
|
|
71
|
+
- [x] 6.9 Preserve native Windows and WSL2-style paths as local path values without cross-runtime translation
|
|
72
|
+
- [x] 6.10 Ensure link only records state and does not edit the linked repo/folder
|
|
73
|
+
- [x] 6.11 Add `--json` output for `workspace link`
|
|
74
|
+
|
|
75
|
+
## 7. Workspace Relinks
|
|
76
|
+
|
|
77
|
+
- [x] 7.1 Implement `openspec workspace relink <name> <path>`
|
|
78
|
+
- [x] 7.2 Let users repair or change the local path for an existing link
|
|
79
|
+
- [x] 7.3 Require relink paths to exist
|
|
80
|
+
- [x] 7.4 Resolve relative relink paths to verified absolute runtime-local paths before storing local state
|
|
81
|
+
- [x] 7.5 Keep owner or handoff metadata out of this slice
|
|
82
|
+
- [x] 7.6 Add `--json` output for `workspace relink`
|
|
83
|
+
- [x] 7.7 Return a clear error for unknown link names
|
|
84
|
+
|
|
85
|
+
## 8. Workspace Doctor
|
|
86
|
+
|
|
87
|
+
- [x] 8.1 Implement `openspec workspace doctor` for one selected workspace only
|
|
88
|
+
- [x] 8.2 Show the workspace location and workspace planning path
|
|
89
|
+
- [x] 8.3 Show linked repos or folders in readable human output with a clear issues section
|
|
90
|
+
- [x] 8.4 Report missing local paths, missing filesystem paths, local-only names, and selected-workspace location problems
|
|
91
|
+
- [x] 8.5 Report `repo_specs_path` when repo-local `openspec/specs` exists and `null` otherwise
|
|
92
|
+
- [x] 8.6 Include suggested fixes for each issue
|
|
93
|
+
- [x] 8.7 Avoid automatic repair behavior
|
|
94
|
+
- [x] 8.8 Add JSON output with typed workspace/link objects and structured status arrays
|
|
95
|
+
- [x] 8.9 Keep stale registry cleanup commands such as `workspace forget` out of this slice
|
|
96
|
+
|
|
97
|
+
## 9. Documentation And Guidance
|
|
98
|
+
|
|
99
|
+
- [x] 9.1 Document setup/list/link/relink/doctor in user-facing product language
|
|
100
|
+
- [x] 9.2 Document linked repos or folders and large-monorepo folder links
|
|
101
|
+
- [x] 9.3 Document that workspace visibility is not change commitment
|
|
102
|
+
- [x] 9.4 Avoid "working set", "code area", "entry", "alias", and "local overlay" in human-facing docs
|
|
103
|
+
- [x] 9.5 Document JSON output support and the object/status response pattern for non-interactive/direct commands
|
|
104
|
+
- [x] 9.6 Document global command behavior, workspace picker behavior, and `--workspace <name>`
|
|
105
|
+
- [x] 9.7 Document that setup controls workspace storage and always shows the workspace location
|
|
106
|
+
|
|
107
|
+
## 10. Verification
|
|
108
|
+
|
|
109
|
+
- [x] 10.1 Run `openspec validate workspace-create-and-register-repos --strict`
|
|
110
|
+
- [x] 10.2 Run targeted command tests for workspace setup/list/link/relink/doctor, including doctor inferring the current workspace
|
|
111
|
+
- [x] 10.3 Run targeted tests for links without repo-local OpenSpec and monorepo folder links
|
|
112
|
+
- [x] 10.4 Run targeted tests for JSON output, `ls`, `.gitignore`, non-interactive setup, required first link, verified absolute path storage, and JSON/no-interactive prompt suppression
|
|
113
|
+
- [x] 10.5 Run targeted tests for global command selection, unregistered current workspace handling, and local workspace registry behavior
|
|
114
|
+
|
|
115
|
+
## 11. Review Fixes
|
|
116
|
+
|
|
117
|
+
- [x] 11.1 Preserve `=` characters in inferred setup link paths while keeping explicit `--link <name>=<path>` support
|
|
118
|
+
- [x] 11.2 Add reusable core helpers for optional local state reads and setup link input parsing
|
|
119
|
+
- [x] 11.3 Fail `workspace link` and `workspace relink` before mutation when local state is invalid
|
|
120
|
+
- [x] 11.4 Report invalid local state distinctly in `workspace list` and `workspace doctor`
|
|
121
|
+
- [x] 11.5 Add regression tests for equals-sign setup paths and malformed local state behavior
|