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,556 @@
|
|
|
1
|
+
# OpenSpec Conventions Specification
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
OpenSpec conventions SHALL define how system capabilities are documented, how changes are proposed and tracked, and how specifications evolve over time. This meta-specification serves as the source of truth for OpenSpec's own conventions.
|
|
6
|
+
## Requirements
|
|
7
|
+
### Requirement: Structured conventions for specs and changes
|
|
8
|
+
|
|
9
|
+
OpenSpec conventions SHALL mandate a structured spec format with clear requirement and scenario sections so tooling can parse consistently.
|
|
10
|
+
|
|
11
|
+
#### Scenario: Following the structured spec format
|
|
12
|
+
|
|
13
|
+
- **WHEN** writing or updating OpenSpec specifications
|
|
14
|
+
- **THEN** authors SHALL use `### Requirement: ...` followed by at least one `#### Scenario: ...` section
|
|
15
|
+
|
|
16
|
+
### Requirement: Behavior-First Specification Boundary
|
|
17
|
+
OpenSpec specifications SHALL capture verifiable behavior contracts and avoid internal implementation detail.
|
|
18
|
+
|
|
19
|
+
#### Scenario: Writing behavior requirements
|
|
20
|
+
- **WHEN** documenting a capability in `spec.md`
|
|
21
|
+
- **THEN** requirements focus on externally observable behavior, interfaces, error handling, and constraints
|
|
22
|
+
- **AND** scenarios remain testable or explicitly verifiable
|
|
23
|
+
|
|
24
|
+
#### Scenario: Avoiding implementation leakage
|
|
25
|
+
- **WHEN** details involve concrete library choices, class/function structure, or execution mechanics
|
|
26
|
+
- **THEN** those details SHALL be documented in `design.md` or `tasks.md` instead of behavioral requirements
|
|
27
|
+
|
|
28
|
+
### Requirement: Progressive Rigor
|
|
29
|
+
OpenSpec conventions SHALL keep specs lightweight by default and scale rigor only when risk or coordination complexity demands it.
|
|
30
|
+
|
|
31
|
+
#### Scenario: Routine change specification
|
|
32
|
+
- **WHEN** a change is local and low-risk
|
|
33
|
+
- **THEN** authors use concise, behavior-first requirements with minimal ceremony
|
|
34
|
+
|
|
35
|
+
#### Scenario: High-risk or cross-boundary change specification
|
|
36
|
+
- **WHEN** a change is cross-team, cross-repo, API-contract breaking, migration-heavy, or security/privacy sensitive
|
|
37
|
+
- **THEN** authors increase detail and explicit validation expectations proportionally
|
|
38
|
+
|
|
39
|
+
### Requirement: Project Structure
|
|
40
|
+
An OpenSpec project SHALL maintain a consistent directory structure for specifications and changes.
|
|
41
|
+
|
|
42
|
+
#### Scenario: Initializing project structure
|
|
43
|
+
- **WHEN** an OpenSpec project is initialized
|
|
44
|
+
- **THEN** it SHALL have this structure:
|
|
45
|
+
```
|
|
46
|
+
openspec/
|
|
47
|
+
├── project.md # Project-specific context
|
|
48
|
+
├── AGENTS.md # AI assistant instructions
|
|
49
|
+
├── specs/ # Current deployed capabilities
|
|
50
|
+
│ └── [capability]/ # Single, focused capability
|
|
51
|
+
│ ├── spec.md # WHAT and WHY
|
|
52
|
+
│ └── design.md # HOW (optional, for established patterns)
|
|
53
|
+
└── changes/ # Proposed changes
|
|
54
|
+
├── [change-name]/ # Descriptive change identifier
|
|
55
|
+
│ ├── proposal.md # Why, what, and impact
|
|
56
|
+
│ ├── tasks.md # Implementation checklist
|
|
57
|
+
│ ├── design.md # Technical decisions (optional)
|
|
58
|
+
│ └── specs/ # Complete future state
|
|
59
|
+
│ └── [capability]/
|
|
60
|
+
│ └── spec.md # Clean markdown (no diff syntax)
|
|
61
|
+
└── archive/ # Completed changes
|
|
62
|
+
└── YYYY-MM-DD-[name]/
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Requirement: Structured Format for Behavioral Specs
|
|
66
|
+
|
|
67
|
+
Behavioral specifications SHALL use a structured format with consistent section headers and keywords to ensure visual consistency and parseability.
|
|
68
|
+
|
|
69
|
+
#### Scenario: Writing requirement sections
|
|
70
|
+
|
|
71
|
+
- **WHEN** documenting a requirement in a behavioral specification
|
|
72
|
+
- **THEN** use a level-3 heading with format `### Requirement: [Name]`
|
|
73
|
+
- **AND** immediately follow with a SHALL statement describing core behavior
|
|
74
|
+
- **AND** keep requirement names descriptive and under 50 characters
|
|
75
|
+
|
|
76
|
+
#### Scenario: Documenting scenarios
|
|
77
|
+
|
|
78
|
+
- **WHEN** documenting specific behaviors or use cases
|
|
79
|
+
- **THEN** use level-4 headings with format `#### Scenario: [Description]`
|
|
80
|
+
- **AND** use bullet points with bold keywords for steps:
|
|
81
|
+
- **GIVEN** for initial state (optional)
|
|
82
|
+
- **WHEN** for conditions or triggers
|
|
83
|
+
- **THEN** for expected outcomes
|
|
84
|
+
- **AND** for additional outcomes or conditions
|
|
85
|
+
|
|
86
|
+
#### Scenario: Adding implementation details
|
|
87
|
+
|
|
88
|
+
- **WHEN** a step requires additional detail
|
|
89
|
+
- **THEN** use sub-bullets under the main step
|
|
90
|
+
- **AND** maintain consistent indentation
|
|
91
|
+
- Sub-bullets provide examples or specifics
|
|
92
|
+
- Keep sub-bullets concise
|
|
93
|
+
|
|
94
|
+
### Requirement: Header-Based Requirement Identification
|
|
95
|
+
|
|
96
|
+
Requirement headers SHALL serve as unique identifiers for programmatic matching between current specs and proposed changes.
|
|
97
|
+
|
|
98
|
+
#### Scenario: Matching requirements programmatically
|
|
99
|
+
|
|
100
|
+
- **WHEN** processing delta changes
|
|
101
|
+
- **THEN** use the `### Requirement: [Name]` header as the unique identifier
|
|
102
|
+
- **AND** match using normalized headers: `normalize(header) = trim(header)`
|
|
103
|
+
- **AND** compare headers with case-sensitive equality after normalization
|
|
104
|
+
|
|
105
|
+
#### Scenario: Handling requirement renames
|
|
106
|
+
|
|
107
|
+
- **WHEN** renaming a requirement
|
|
108
|
+
- **THEN** use a special `## RENAMED Requirements` section
|
|
109
|
+
- **AND** specify both old and new names explicitly:
|
|
110
|
+
```markdown
|
|
111
|
+
## RENAMED Requirements
|
|
112
|
+
- FROM: `### Requirement: Old Name`
|
|
113
|
+
- TO: `### Requirement: New Name`
|
|
114
|
+
```
|
|
115
|
+
- **AND** if content also changes, include under MODIFIED using the NEW header
|
|
116
|
+
|
|
117
|
+
#### Scenario: Validating header uniqueness
|
|
118
|
+
|
|
119
|
+
- **WHEN** creating or modifying requirements
|
|
120
|
+
- **THEN** ensure no duplicate headers exist within a spec
|
|
121
|
+
- **AND** validation tools SHALL flag duplicate headers as errors
|
|
122
|
+
|
|
123
|
+
### Requirement: Change Storage Convention
|
|
124
|
+
|
|
125
|
+
Change proposals SHALL store only the additions, modifications, and removals to specifications, not complete future states.
|
|
126
|
+
|
|
127
|
+
#### Scenario: Creating change proposals with additions
|
|
128
|
+
|
|
129
|
+
- **WHEN** creating a change proposal that adds new requirements
|
|
130
|
+
- **THEN** include only the new requirements under `## ADDED Requirements`
|
|
131
|
+
- **AND** each requirement SHALL include its complete content
|
|
132
|
+
- **AND** use the standard structured format for requirements and scenarios
|
|
133
|
+
|
|
134
|
+
#### Scenario: Creating change proposals with modifications
|
|
135
|
+
|
|
136
|
+
- **WHEN** creating a change proposal that modifies existing requirements
|
|
137
|
+
- **THEN** include the modified requirements under `## MODIFIED Requirements`
|
|
138
|
+
- **AND** use the same header text as in the current spec (normalized)
|
|
139
|
+
- **AND** include the complete modified requirement (not a diff)
|
|
140
|
+
- **AND** optionally annotate what changed with inline comments like `← (was X)`
|
|
141
|
+
|
|
142
|
+
#### Scenario: Creating change proposals with removals
|
|
143
|
+
|
|
144
|
+
- **WHEN** creating a change proposal that removes requirements
|
|
145
|
+
- **THEN** list them under `## REMOVED Requirements`
|
|
146
|
+
- **AND** use the normalized header text for identification
|
|
147
|
+
- **AND** include reason for removal
|
|
148
|
+
- **AND** document any migration path if applicable
|
|
149
|
+
|
|
150
|
+
The `changes/[name]/specs/` directory SHALL contain:
|
|
151
|
+
- Delta files showing only what changes
|
|
152
|
+
- Sections for ADDED, MODIFIED, REMOVED, and RENAMED requirements
|
|
153
|
+
- Normalized header matching for requirement identification
|
|
154
|
+
- Complete requirements using the structured format
|
|
155
|
+
- Clear indication of change type for each requirement
|
|
156
|
+
|
|
157
|
+
#### Scenario: Using standard output symbols
|
|
158
|
+
|
|
159
|
+
- **WHEN** displaying delta operations in CLI output
|
|
160
|
+
- **THEN** use these standard symbols:
|
|
161
|
+
- `+` for ADDED (green)
|
|
162
|
+
- `~` for MODIFIED (yellow)
|
|
163
|
+
- `-` for REMOVED (red)
|
|
164
|
+
- `→` for RENAMED (cyan)
|
|
165
|
+
|
|
166
|
+
### Requirement: Archive Process Enhancement
|
|
167
|
+
|
|
168
|
+
The archive process SHALL programmatically apply delta changes to current specifications using header-based matching.
|
|
169
|
+
|
|
170
|
+
#### Scenario: Archiving changes with deltas
|
|
171
|
+
|
|
172
|
+
- **WHEN** archiving a completed change
|
|
173
|
+
- **THEN** the archive command SHALL:
|
|
174
|
+
1. Parse RENAMED sections first and apply renames
|
|
175
|
+
2. Parse REMOVED sections and remove by normalized header match
|
|
176
|
+
3. Parse MODIFIED sections and replace by normalized header match (using new names if renamed)
|
|
177
|
+
4. Parse ADDED sections and append new requirements
|
|
178
|
+
- **AND** validate that all MODIFIED/REMOVED headers exist in current spec
|
|
179
|
+
- **AND** validate that ADDED headers don't already exist
|
|
180
|
+
- **AND** generate the updated spec in the main specs/ directory
|
|
181
|
+
|
|
182
|
+
#### Scenario: Handling conflicts during archive
|
|
183
|
+
|
|
184
|
+
- **WHEN** delta changes conflict with current spec state
|
|
185
|
+
- **THEN** the archive command SHALL report specific conflicts
|
|
186
|
+
- **AND** require manual resolution before proceeding
|
|
187
|
+
- **AND** provide clear guidance on resolving conflicts
|
|
188
|
+
|
|
189
|
+
### Requirement: Proposal Format
|
|
190
|
+
|
|
191
|
+
Proposals SHALL explicitly document all changes with clear from/to comparisons.
|
|
192
|
+
|
|
193
|
+
#### Scenario: Documenting changes
|
|
194
|
+
|
|
195
|
+
- **WHEN** documenting what changes
|
|
196
|
+
- **THEN** the proposal SHALL explicitly describe each change:
|
|
197
|
+
|
|
198
|
+
```markdown
|
|
199
|
+
**[Section or Behavior Name]**
|
|
200
|
+
- From: [current state/requirement]
|
|
201
|
+
- To: [future state/requirement]
|
|
202
|
+
- Reason: [why this change is needed]
|
|
203
|
+
- Impact: [breaking/non-breaking, who's affected]
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
This explicit format compensates for not having inline diffs and ensures reviewers understand exactly what will change.
|
|
207
|
+
|
|
208
|
+
### Requirement: Change Review
|
|
209
|
+
|
|
210
|
+
The system SHALL support multiple methods for reviewing proposed changes.
|
|
211
|
+
|
|
212
|
+
#### Scenario: Reviewing changes
|
|
213
|
+
|
|
214
|
+
- **WHEN** reviewing proposed changes
|
|
215
|
+
- **THEN** reviewers can compare using:
|
|
216
|
+
- GitHub PR diff view when changes are committed
|
|
217
|
+
- Command line: `diff -u specs/[capability]/spec.md changes/[name]/specs/[capability]/spec.md`
|
|
218
|
+
- Any visual diff tool comparing current vs future state
|
|
219
|
+
|
|
220
|
+
### Requirement: Structured Format Adoption
|
|
221
|
+
|
|
222
|
+
Behavioral specifications SHALL adopt the structured format with `### Requirement:` and `#### Scenario:` headers as the default.
|
|
223
|
+
|
|
224
|
+
#### Scenario: Use structured headings for behavior
|
|
225
|
+
|
|
226
|
+
- **WHEN** documenting behavioral requirements
|
|
227
|
+
- **THEN** use `### Requirement:` for requirements
|
|
228
|
+
- **AND** use `#### Scenario:` for scenarios with bold WHEN/THEN/AND keywords
|
|
229
|
+
|
|
230
|
+
### Requirement: Verb–Noun CLI Command Structure
|
|
231
|
+
OpenSpec CLI design SHALL use verbs as top-level commands with nouns provided as arguments or flags for scoping.
|
|
232
|
+
|
|
233
|
+
#### Scenario: Verb-first command discovery
|
|
234
|
+
- **WHEN** a user runs a command like `openspec list`
|
|
235
|
+
- **THEN** the verb communicates the action clearly
|
|
236
|
+
- **AND** nouns refine scope via flags or arguments (e.g., `--changes`, `--specs`)
|
|
237
|
+
|
|
238
|
+
#### Scenario: Backward compatibility for noun commands
|
|
239
|
+
- **WHEN** users run noun-prefixed commands such as `openspec spec ...` or `openspec change ...`
|
|
240
|
+
- **THEN** the CLI SHALL continue to support them for at least one release
|
|
241
|
+
- **AND** display a deprecation warning that points to verb-first alternatives
|
|
242
|
+
|
|
243
|
+
#### Scenario: Disambiguation guidance
|
|
244
|
+
- **WHEN** item names are ambiguous between changes and specs
|
|
245
|
+
- **THEN** `openspec show` and `openspec validate` SHALL accept `--type spec|change`
|
|
246
|
+
- **AND** the help text SHALL document this clearly
|
|
247
|
+
|
|
248
|
+
### Requirement: Workspace Product Language
|
|
249
|
+
OpenSpec conventions SHALL describe coordination workspaces in user-facing product terms.
|
|
250
|
+
|
|
251
|
+
#### Scenario: Describing workspace structure
|
|
252
|
+
- **WHEN** OpenSpec documentation describes workspace support
|
|
253
|
+
- **THEN** it SHALL present a workspace as the planning home for work across linked repos or folders
|
|
254
|
+
- **AND** it SHALL describe `changes/` as the workspace planning area
|
|
255
|
+
|
|
256
|
+
#### Scenario: Avoiding internal workspace vocabulary
|
|
257
|
+
- **WHEN** OpenSpec documentation explains what a workspace includes
|
|
258
|
+
- **THEN** it SHALL prefer plain product language such as "repos or folders"
|
|
259
|
+
- **AND** it SHALL avoid user-facing reliance on terms such as "working set", "code area", "entry", "alias", or "local overlay"
|
|
260
|
+
|
|
261
|
+
#### Scenario: Distinguishing workspaces from changes
|
|
262
|
+
- **WHEN** OpenSpec documentation explains workspace planning
|
|
263
|
+
- **THEN** it SHALL describe a workspace as a durable planning home
|
|
264
|
+
- **AND** it SHALL describe individual features, fixes, and projects as changes inside the workspace
|
|
265
|
+
|
|
266
|
+
#### Scenario: Distinguishing workspace and repo-local surfaces
|
|
267
|
+
- **WHEN** OpenSpec documentation compares workspace and repo-local flows
|
|
268
|
+
- **THEN** it SHALL explain that workspace planning lives in the workspace folder
|
|
269
|
+
- **AND** it SHALL explain that repo-local specs and changes continue to live under each repo's `openspec/` directory
|
|
270
|
+
|
|
271
|
+
#### Scenario: Sequencing the workspace roadmap
|
|
272
|
+
- **WHEN** workspace reimplementation work is split across multiple active changes
|
|
273
|
+
- **THEN** conventions SHALL allow those changes to remain flat siblings under `openspec/changes/`
|
|
274
|
+
- **AND** dependency order MAY be documented in proposal prose until formal change stacking metadata is available
|
|
275
|
+
|
|
276
|
+
### Requirement: Workspace planning vocabulary
|
|
277
|
+
OpenSpec conventions SHALL distinguish workspace planning concepts using user-facing product language.
|
|
278
|
+
|
|
279
|
+
#### Scenario: Naming affected areas
|
|
280
|
+
- **WHEN** documentation or generated guidance refers to repos, folders, packages, services, apps, or docs sites touched by a workspace change
|
|
281
|
+
- **THEN** it SHALL call them affected areas
|
|
282
|
+
- **AND** it SHALL avoid using "target repo" or "repo slice" as the primary user-facing term
|
|
283
|
+
|
|
284
|
+
#### Scenario: Naming delivery slices
|
|
285
|
+
- **WHEN** documentation or generated guidance refers to delivery increments inside a larger change
|
|
286
|
+
- **THEN** it SHALL call them slices or phases only when delivery sequencing is the subject
|
|
287
|
+
- **AND** it SHALL not use slice as a synonym for repo, folder, or affected area
|
|
288
|
+
|
|
289
|
+
### Requirement: Workspace planning and implementation boundary
|
|
290
|
+
OpenSpec conventions SHALL distinguish workspace-level planning from repo-local implementation ownership.
|
|
291
|
+
|
|
292
|
+
#### Scenario: Workspace as shared planning home
|
|
293
|
+
- **WHEN** a change spans linked repos or folders
|
|
294
|
+
- **THEN** conventions SHALL describe the workspace as the shared planning home
|
|
295
|
+
- **AND** repo-local implementation homes SHALL retain ownership of their code and canonical behavior
|
|
296
|
+
|
|
297
|
+
#### Scenario: Avoiding materialization-first language
|
|
298
|
+
- **WHEN** documentation explains workspace change creation
|
|
299
|
+
- **THEN** it SHALL describe the user outcome in terms of shared planning and affected areas
|
|
300
|
+
- **AND** it SHALL avoid making users understand implementation terms such as materialization before they can plan
|
|
301
|
+
|
|
302
|
+
#### Scenario: Preserving familiar workflow verbs
|
|
303
|
+
- **WHEN** workspace guidance describes OpenSpec workflows
|
|
304
|
+
- **THEN** it SHALL keep the familiar verbs explore, propose, apply, verify, and archive
|
|
305
|
+
- **AND** it SHALL explain that workspace context changes paths, scope, and allowed edit roots rather than creating a separate workflow family
|
|
306
|
+
|
|
307
|
+
## Core Principles
|
|
308
|
+
|
|
309
|
+
The system SHALL follow these principles:
|
|
310
|
+
- Specs reflect what IS currently built and deployed
|
|
311
|
+
- Changes contain proposals for what SHOULD be changed
|
|
312
|
+
- AI drives the documentation process
|
|
313
|
+
- Specs are living documentation kept in sync with deployed code
|
|
314
|
+
|
|
315
|
+
## Directory Structure
|
|
316
|
+
|
|
317
|
+
### Project Structure
|
|
318
|
+
|
|
319
|
+
An OpenSpec project SHALL maintain a consistent directory structure for specifications and changes.
|
|
320
|
+
|
|
321
|
+
#### Scenario: Initializing project structure
|
|
322
|
+
|
|
323
|
+
- **WHEN** an OpenSpec project is initialized
|
|
324
|
+
- **THEN** it SHALL have this structure:
|
|
325
|
+
```
|
|
326
|
+
openspec/
|
|
327
|
+
├── project.md # Project-specific context
|
|
328
|
+
├── AGENTS.md # AI assistant instructions
|
|
329
|
+
├── specs/ # Current deployed capabilities
|
|
330
|
+
│ └── [capability]/ # Single, focused capability
|
|
331
|
+
│ ├── spec.md # WHAT and WHY
|
|
332
|
+
│ └── design.md # HOW (optional, for established patterns)
|
|
333
|
+
└── changes/ # Proposed changes
|
|
334
|
+
├── [change-name]/ # Descriptive change identifier
|
|
335
|
+
│ ├── proposal.md # Why, what, and impact
|
|
336
|
+
│ ├── tasks.md # Implementation checklist
|
|
337
|
+
│ ├── design.md # Technical decisions (optional)
|
|
338
|
+
│ └── specs/ # Complete future state
|
|
339
|
+
│ └── [capability]/
|
|
340
|
+
│ └── spec.md # Clean markdown (no diff syntax)
|
|
341
|
+
└── archive/ # Completed changes
|
|
342
|
+
└── YYYY-MM-DD-[name]/
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
## Specification Format
|
|
346
|
+
|
|
347
|
+
### Behavioral Spec Format
|
|
348
|
+
|
|
349
|
+
Behavioral specifications SHALL use a structured format with consistent section headers and keywords to ensure visual consistency and parseability.
|
|
350
|
+
|
|
351
|
+
#### Scenario: Writing requirement sections
|
|
352
|
+
|
|
353
|
+
- **WHEN** documenting a requirement in a behavioral specification
|
|
354
|
+
- **THEN** use a level-3 heading with format `### Requirement: [Name]`
|
|
355
|
+
- **AND** immediately follow with a SHALL statement describing core behavior
|
|
356
|
+
- **AND** keep requirement names descriptive and under 50 characters
|
|
357
|
+
|
|
358
|
+
#### Scenario: Documenting scenarios
|
|
359
|
+
|
|
360
|
+
- **WHEN** documenting specific behaviors or use cases
|
|
361
|
+
- **THEN** use level-4 headings with format `#### Scenario: [Description]`
|
|
362
|
+
- **AND** use bullet points with bold keywords for steps:
|
|
363
|
+
- **GIVEN** for initial state (optional)
|
|
364
|
+
- **WHEN** for conditions or triggers
|
|
365
|
+
- **THEN** for expected outcomes
|
|
366
|
+
- **AND** for additional outcomes or conditions
|
|
367
|
+
|
|
368
|
+
#### Scenario: Adding implementation details
|
|
369
|
+
|
|
370
|
+
- **WHEN** a step requires additional detail
|
|
371
|
+
- **THEN** use sub-bullets under the main step
|
|
372
|
+
- **AND** maintain consistent indentation
|
|
373
|
+
- Sub-bullets provide examples or specifics
|
|
374
|
+
- Keep sub-bullets concise
|
|
375
|
+
|
|
376
|
+
## Change Storage Convention
|
|
377
|
+
|
|
378
|
+
### Header-Based Requirement Identification
|
|
379
|
+
|
|
380
|
+
Requirement headers SHALL serve as unique identifiers for programmatic matching between current specs and proposed changes.
|
|
381
|
+
|
|
382
|
+
#### Scenario: Matching requirements programmatically
|
|
383
|
+
|
|
384
|
+
- **WHEN** processing delta changes
|
|
385
|
+
- **THEN** use the `### Requirement: [Name]` header as the unique identifier
|
|
386
|
+
- **AND** match using normalized headers: `normalize(header) = trim(header)`
|
|
387
|
+
- **AND** compare headers with case-sensitive equality after normalization
|
|
388
|
+
|
|
389
|
+
#### Scenario: Handling requirement renames
|
|
390
|
+
|
|
391
|
+
- **WHEN** renaming a requirement
|
|
392
|
+
- **THEN** use a special `## RENAMED Requirements` section
|
|
393
|
+
- **AND** specify both old and new names explicitly:
|
|
394
|
+
```markdown
|
|
395
|
+
## RENAMED Requirements
|
|
396
|
+
- FROM: `### Requirement: Old Name`
|
|
397
|
+
- TO: `### Requirement: New Name`
|
|
398
|
+
```
|
|
399
|
+
- **AND** if content also changes, include under MODIFIED using the NEW header
|
|
400
|
+
|
|
401
|
+
#### Scenario: Validating header uniqueness
|
|
402
|
+
|
|
403
|
+
- **WHEN** creating or modifying requirements
|
|
404
|
+
- **THEN** ensure no duplicate headers exist within a spec
|
|
405
|
+
- **AND** validation tools SHALL flag duplicate headers as errors
|
|
406
|
+
|
|
407
|
+
### Change Storage Convention
|
|
408
|
+
|
|
409
|
+
Change proposals SHALL store only the additions, modifications, and removals to specifications, not complete future states.
|
|
410
|
+
|
|
411
|
+
#### Scenario: Creating change proposals with additions
|
|
412
|
+
|
|
413
|
+
- **WHEN** creating a change proposal that adds new requirements
|
|
414
|
+
- **THEN** include only the new requirements under `## ADDED Requirements`
|
|
415
|
+
- **AND** each requirement SHALL include its complete content
|
|
416
|
+
- **AND** use the standard structured format for requirements and scenarios
|
|
417
|
+
|
|
418
|
+
#### Scenario: Creating change proposals with modifications
|
|
419
|
+
|
|
420
|
+
- **WHEN** creating a change proposal that modifies existing requirements
|
|
421
|
+
- **THEN** include the modified requirements under `## MODIFIED Requirements`
|
|
422
|
+
- **AND** use the same header text as in the current spec (normalized)
|
|
423
|
+
- **AND** include the complete modified requirement (not a diff)
|
|
424
|
+
- **AND** optionally annotate what changed with inline comments like `← (was X)`
|
|
425
|
+
|
|
426
|
+
#### Scenario: Creating change proposals with removals
|
|
427
|
+
|
|
428
|
+
- **WHEN** creating a change proposal that removes requirements
|
|
429
|
+
- **THEN** list them under `## REMOVED Requirements`
|
|
430
|
+
- **AND** use the normalized header text for identification
|
|
431
|
+
- **AND** include reason for removal
|
|
432
|
+
- **AND** document any migration path if applicable
|
|
433
|
+
|
|
434
|
+
The `changes/[name]/specs/` directory SHALL contain:
|
|
435
|
+
- Delta files showing only what changes
|
|
436
|
+
- Sections for ADDED, MODIFIED, REMOVED, and RENAMED requirements
|
|
437
|
+
- Normalized header matching for requirement identification
|
|
438
|
+
- Complete requirements using the structured format
|
|
439
|
+
- Clear indication of change type for each requirement
|
|
440
|
+
|
|
441
|
+
#### Scenario: Using standard output symbols
|
|
442
|
+
|
|
443
|
+
- **WHEN** displaying delta operations in CLI output
|
|
444
|
+
- **THEN** use these standard symbols:
|
|
445
|
+
- `+` for ADDED (green)
|
|
446
|
+
- `~` for MODIFIED (yellow)
|
|
447
|
+
- `-` for REMOVED (red)
|
|
448
|
+
- `→` for RENAMED (cyan)
|
|
449
|
+
|
|
450
|
+
### Archive Process Enhancement
|
|
451
|
+
|
|
452
|
+
The archive process SHALL programmatically apply delta changes to current specifications using header-based matching.
|
|
453
|
+
|
|
454
|
+
#### Scenario: Archiving changes with deltas
|
|
455
|
+
|
|
456
|
+
- **WHEN** archiving a completed change
|
|
457
|
+
- **THEN** the archive command SHALL:
|
|
458
|
+
1. Parse RENAMED sections first and apply renames
|
|
459
|
+
2. Parse REMOVED sections and remove by normalized header match
|
|
460
|
+
3. Parse MODIFIED sections and replace by normalized header match (using new names if renamed)
|
|
461
|
+
4. Parse ADDED sections and append new requirements
|
|
462
|
+
- **AND** validate that all MODIFIED/REMOVED headers exist in current spec
|
|
463
|
+
- **AND** validate that ADDED headers don't already exist
|
|
464
|
+
- **AND** generate the updated spec in the main specs/ directory
|
|
465
|
+
|
|
466
|
+
#### Scenario: Handling conflicts during archive
|
|
467
|
+
|
|
468
|
+
- **WHEN** delta changes conflict with current spec state
|
|
469
|
+
- **THEN** the archive command SHALL report specific conflicts
|
|
470
|
+
- **AND** require manual resolution before proceeding
|
|
471
|
+
- **AND** provide clear guidance on resolving conflicts
|
|
472
|
+
|
|
473
|
+
### Proposal Format
|
|
474
|
+
|
|
475
|
+
Proposals SHALL explicitly document all changes with clear from/to comparisons.
|
|
476
|
+
|
|
477
|
+
#### Scenario: Documenting changes
|
|
478
|
+
|
|
479
|
+
- **WHEN** documenting what changes
|
|
480
|
+
- **THEN** the proposal SHALL explicitly describe each change:
|
|
481
|
+
|
|
482
|
+
```markdown
|
|
483
|
+
**[Section or Behavior Name]**
|
|
484
|
+
- From: [current state/requirement]
|
|
485
|
+
- To: [future state/requirement]
|
|
486
|
+
- Reason: [why this change is needed]
|
|
487
|
+
- Impact: [breaking/non-breaking, who's affected]
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
This explicit format compensates for not having inline diffs and ensures reviewers understand exactly what will change.
|
|
491
|
+
|
|
492
|
+
## Change Lifecycle
|
|
493
|
+
|
|
494
|
+
The change process SHALL follow these states:
|
|
495
|
+
|
|
496
|
+
1. **Propose**: AI creates change with future state specs and explicit proposal
|
|
497
|
+
2. **Review**: Humans review proposal and future state
|
|
498
|
+
3. **Approve**: Change is approved for implementation
|
|
499
|
+
4. **Implement**: Follow tasks.md checklist (can span multiple PRs)
|
|
500
|
+
5. **Deploy**: Changes are deployed to production
|
|
501
|
+
6. **Update**: Specs in `specs/` are updated to match deployed reality
|
|
502
|
+
7. **Archive**: Change is moved to `archive/YYYY-MM-DD-[name]/`
|
|
503
|
+
|
|
504
|
+
## Viewing Changes
|
|
505
|
+
|
|
506
|
+
### Change Review
|
|
507
|
+
|
|
508
|
+
The system SHALL support multiple methods for reviewing proposed changes.
|
|
509
|
+
|
|
510
|
+
#### Scenario: Reviewing changes
|
|
511
|
+
|
|
512
|
+
- **WHEN** reviewing proposed changes
|
|
513
|
+
- **THEN** reviewers can compare using:
|
|
514
|
+
- GitHub PR diff view when changes are committed
|
|
515
|
+
- Command line: `diff -u specs/[capability]/spec.md changes/[name]/specs/[capability]/spec.md`
|
|
516
|
+
- Any visual diff tool comparing current vs future state
|
|
517
|
+
|
|
518
|
+
The system relies on tools to generate diffs rather than storing them.
|
|
519
|
+
|
|
520
|
+
## Capability Naming
|
|
521
|
+
|
|
522
|
+
Capabilities SHALL use:
|
|
523
|
+
- Verb-noun patterns (e.g., `user-auth`, `payment-capture`)
|
|
524
|
+
- Hyphenated lowercase names
|
|
525
|
+
- Singular focus (one responsibility per capability)
|
|
526
|
+
- No nesting (flat structure under `specs/`)
|
|
527
|
+
|
|
528
|
+
## When Changes Require Proposals
|
|
529
|
+
|
|
530
|
+
A proposal SHALL be created for:
|
|
531
|
+
- New features or capabilities
|
|
532
|
+
- Breaking changes to existing behavior
|
|
533
|
+
- Architecture or pattern changes
|
|
534
|
+
- Performance optimizations that change behavior
|
|
535
|
+
- Security updates affecting access patterns
|
|
536
|
+
|
|
537
|
+
A proposal is NOT required for:
|
|
538
|
+
- Bug fixes restoring intended behavior
|
|
539
|
+
- Typos or formatting fixes
|
|
540
|
+
- Non-breaking dependency updates
|
|
541
|
+
- Adding tests for existing behavior
|
|
542
|
+
- Documentation clarifications
|
|
543
|
+
|
|
544
|
+
## Why This Approach
|
|
545
|
+
|
|
546
|
+
Clean future state storage provides:
|
|
547
|
+
- **Readability**: No diff syntax pollution
|
|
548
|
+
- **AI-compatibility**: Standard markdown that AI tools understand
|
|
549
|
+
- **Simplicity**: No special parsing or processing needed
|
|
550
|
+
- **Tool-agnostic**: Any diff tool can show changes
|
|
551
|
+
- **Clear intent**: Explicit proposals document reasoning
|
|
552
|
+
|
|
553
|
+
The structured format adds:
|
|
554
|
+
- **Visual Consistency**: Requirement and Scenario prefixes make sections instantly recognizable
|
|
555
|
+
- **Parseability**: Consistent structure enables tooling and automation
|
|
556
|
+
- **Gradual Adoption**: Existing specs can migrate incrementally
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# OPSX Archive Skill Spec
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Define the expected behavior for the `/opsx:archive` skill, including readiness checks, spec sync prompting, archive execution, and user-facing output.
|
|
6
|
+
|
|
7
|
+
## Requirements
|
|
8
|
+
|
|
9
|
+
### Requirement: OPSX Archive Skill
|
|
10
|
+
|
|
11
|
+
The system SHALL provide an `/opsx:archive` skill that archives completed changes in the experimental workflow.
|
|
12
|
+
|
|
13
|
+
#### Scenario: Archive a change with all artifacts complete
|
|
14
|
+
|
|
15
|
+
- **WHEN** agent executes `/opsx:archive` with a change name
|
|
16
|
+
- **AND** all artifacts in the schema are complete
|
|
17
|
+
- **AND** all tasks are complete
|
|
18
|
+
- **THEN** the agent moves the change to `openspec/changes/archive/YYYY-MM-DD-<name>/`
|
|
19
|
+
- **AND** displays success message with archived location
|
|
20
|
+
|
|
21
|
+
#### Scenario: Change selection prompt
|
|
22
|
+
|
|
23
|
+
- **WHEN** agent executes `/opsx:archive` without specifying a change
|
|
24
|
+
- **THEN** the agent prompts user to select from available changes
|
|
25
|
+
- **AND** shows only active changes (excludes archive/)
|
|
26
|
+
|
|
27
|
+
### Requirement: Artifact Completion Check
|
|
28
|
+
|
|
29
|
+
The skill SHALL check artifact completion status using the artifact graph before archiving.
|
|
30
|
+
|
|
31
|
+
#### Scenario: Incomplete artifacts warning
|
|
32
|
+
|
|
33
|
+
- **WHEN** agent checks artifact status
|
|
34
|
+
- **AND** one or more artifacts have status other than `done`
|
|
35
|
+
- **THEN** display warning listing incomplete artifacts
|
|
36
|
+
- **AND** prompt user for confirmation to continue
|
|
37
|
+
- **AND** proceed if user confirms
|
|
38
|
+
|
|
39
|
+
#### Scenario: All artifacts complete
|
|
40
|
+
|
|
41
|
+
- **WHEN** agent checks artifact status
|
|
42
|
+
- **AND** all artifacts have status `done`
|
|
43
|
+
- **THEN** proceed without warning
|
|
44
|
+
|
|
45
|
+
### Requirement: Task Completion Check
|
|
46
|
+
|
|
47
|
+
The skill SHALL check task completion status from tasks.md before archiving.
|
|
48
|
+
|
|
49
|
+
#### Scenario: Incomplete tasks found
|
|
50
|
+
|
|
51
|
+
- **WHEN** agent reads tasks.md
|
|
52
|
+
- **AND** incomplete tasks are found (marked with `- [ ]`)
|
|
53
|
+
- **THEN** display warning showing count of incomplete tasks
|
|
54
|
+
- **AND** prompt user for confirmation to continue
|
|
55
|
+
- **AND** proceed if user confirms
|
|
56
|
+
|
|
57
|
+
#### Scenario: All tasks complete
|
|
58
|
+
|
|
59
|
+
- **WHEN** agent reads tasks.md
|
|
60
|
+
- **AND** all tasks are complete (marked with `- [x]`)
|
|
61
|
+
- **THEN** proceed without task-related warning
|
|
62
|
+
|
|
63
|
+
#### Scenario: No tasks file
|
|
64
|
+
|
|
65
|
+
- **WHEN** tasks.md does not exist
|
|
66
|
+
- **THEN** proceed without task-related warning
|
|
67
|
+
|
|
68
|
+
### Requirement: Spec Sync Prompt
|
|
69
|
+
|
|
70
|
+
The skill SHALL prompt to sync delta specs before archiving if specs exist.
|
|
71
|
+
|
|
72
|
+
#### Scenario: Delta specs exist
|
|
73
|
+
|
|
74
|
+
- **WHEN** agent checks for delta specs
|
|
75
|
+
- **AND** `specs/` directory exists in the change with spec files
|
|
76
|
+
- **THEN** prompt user: "This change has delta specs. Would you like to sync them to main specs before archiving?"
|
|
77
|
+
- **AND** if user confirms, execute `/opsx:sync` logic
|
|
78
|
+
- **AND** proceed with archive regardless of sync choice
|
|
79
|
+
|
|
80
|
+
#### Scenario: No delta specs
|
|
81
|
+
|
|
82
|
+
- **WHEN** agent checks for delta specs
|
|
83
|
+
- **AND** no `specs/` directory or no spec files exist
|
|
84
|
+
- **THEN** proceed without sync prompt
|
|
85
|
+
|
|
86
|
+
### Requirement: Archive Process
|
|
87
|
+
|
|
88
|
+
The skill SHALL move the change to the archive folder with date prefix.
|
|
89
|
+
|
|
90
|
+
#### Scenario: Successful archive
|
|
91
|
+
|
|
92
|
+
- **WHEN** archiving a change
|
|
93
|
+
- **THEN** create `archive/` directory if it doesn't exist
|
|
94
|
+
- **AND** generate target name as `YYYY-MM-DD-<change-name>` using current date
|
|
95
|
+
- **AND** move entire change directory to archive location
|
|
96
|
+
- **AND** preserve `.openspec.yaml` file in archived change
|
|
97
|
+
|
|
98
|
+
#### Scenario: Archive already exists
|
|
99
|
+
|
|
100
|
+
- **WHEN** target archive directory already exists
|
|
101
|
+
- **THEN** fail with error message
|
|
102
|
+
- **AND** suggest renaming existing archive or using different date
|
|
103
|
+
|
|
104
|
+
### Requirement: Skill Output
|
|
105
|
+
|
|
106
|
+
The skill SHALL provide clear feedback about the archive operation.
|
|
107
|
+
|
|
108
|
+
#### Scenario: Archive complete with sync
|
|
109
|
+
|
|
110
|
+
- **WHEN** archive completes after syncing specs
|
|
111
|
+
- **THEN** display summary:
|
|
112
|
+
- Specs synced (from `/opsx:sync` output)
|
|
113
|
+
- Change archived to location
|
|
114
|
+
- Schema that was used
|
|
115
|
+
|
|
116
|
+
#### Scenario: Archive complete without sync
|
|
117
|
+
|
|
118
|
+
- **WHEN** archive completes without syncing specs
|
|
119
|
+
- **THEN** display summary:
|
|
120
|
+
- Note that specs were not synced (if applicable)
|
|
121
|
+
- Change archived to location
|
|
122
|
+
- Schema that was used
|
|
123
|
+
|
|
124
|
+
#### Scenario: Archive complete with warnings
|
|
125
|
+
|
|
126
|
+
- **WHEN** archive completes with incomplete artifacts or tasks
|
|
127
|
+
- **THEN** include note about what was incomplete
|
|
128
|
+
- **AND** suggest reviewing if archive was intentional
|