sauron-cli 1.3.0 → 1.4.1
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/.genesis/prompts/CLI Init_ Atualiza/303/247/303/243o com Mem/303/263ria.md" +133 -0
- package/.genesis/prompts/prompt-sauron-update-intelligence.md +20 -0
- package/README.md +4 -2
- package/dist/index.js +59 -15
- package/package.json +1 -1
- package/templates/.agents/rules/memory.md +68 -68
- package/templates/.agents/skills/wiki/SKILL.md +14 -14
- package/55ea973d-e255-4f08-a313-a5d68243bd2d.png +0 -0
- package/OpenSpec-main/.actrc +0 -1
- package/OpenSpec-main/.changeset/README.md +0 -97
- package/OpenSpec-main/.changeset/config.json +0 -15
- package/OpenSpec-main/.coderabbit.yaml +0 -11
- package/OpenSpec-main/.devcontainer/README.md +0 -92
- package/OpenSpec-main/.devcontainer/devcontainer.json +0 -68
- package/OpenSpec-main/.github/CODEOWNERS +0 -2
- package/OpenSpec-main/.github/workflows/README.md +0 -20
- package/OpenSpec-main/.github/workflows/ci.yml +0 -346
- package/OpenSpec-main/.github/workflows/release-prepare.yml +0 -60
- package/OpenSpec-main/CHANGELOG.md +0 -594
- package/OpenSpec-main/LICENSE +0 -22
- package/OpenSpec-main/MAINTAINERS.md +0 -17
- package/OpenSpec-main/README.md +0 -206
- package/OpenSpec-main/README_OLD.md +0 -475
- 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 +0 -89
- package/OpenSpec-main/assets/openspec_pixel_light.svg +0 -89
- package/OpenSpec-main/bin/openspec.js +0 -5
- package/OpenSpec-main/build.js +0 -31
- package/OpenSpec-main/eslint.config.js +0 -42
- package/OpenSpec-main/flake.lock +0 -27
- package/OpenSpec-main/flake.nix +0 -114
- package/OpenSpec-main/openspec/changes/IMPLEMENTATION_ORDER.md +0 -68
- package/OpenSpec-main/openspec/changes/add-artifact-regeneration-support/proposal.md +0 -136
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/proposal.md +0 -93
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/change-creation/spec.md +0 -15
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/change-stacking-workflow/spec.md +0 -65
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/cli-change/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/openspec-conventions/spec.md +0 -29
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/tasks.md +0 -39
- package/OpenSpec-main/openspec/changes/add-global-install-scope/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/add-global-install-scope/design.md +0 -161
- package/OpenSpec-main/openspec/changes/add-global-install-scope/proposal.md +0 -101
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/ai-tool-paths/spec.md +0 -35
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-config/spec.md +0 -21
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-init/spec.md +0 -28
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-update/spec.md +0 -34
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/command-generation/spec.md +0 -22
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/global-config/spec.md +0 -24
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/installation-scope/spec.md +0 -71
- package/OpenSpec-main/openspec/changes/add-global-install-scope/tasks.md +0 -61
- package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/proposal.md +0 -45
- package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/specs/developer-qa-workflow/spec.md +0 -49
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/proposal.md +0 -111
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/specs/cli-init/spec.md +0 -121
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/specs/cli-update/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/tasks.md +0 -53
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/design.md +0 -86
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/proposal.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/specs/cli-update/spec.md +0 -59
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/tasks.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/specs/cli-list/spec.md +0 -69
- package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/tasks.md +0 -26
- package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/design.md +0 -64
- package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/proposal.md +0 -18
- package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/tasks.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/design.md +0 -104
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/proposal.md +0 -30
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/specs/cli-init/spec.md +0 -148
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/tasks.md +0 -38
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/proposal.md +0 -24
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/specs/openspec-conventions/spec.md +0 -120
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/tasks.md +0 -38
- package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/specs/openspec-docs/README.md +0 -472
- package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/tasks.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/proposal.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/specs/cli-archive/spec.md +0 -111
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/tasks.md +0 -44
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/proposal.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/specs/cli-diff/spec.md +0 -77
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/tasks.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/design.md +0 -56
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/proposal.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-change/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-list/spec.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/tasks.md +0 -34
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-change/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-show/spec.md +0 -83
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-spec/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/tasks.md +0 -142
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/specs/cli-archive/spec.md +0 -191
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/tasks.md +0 -57
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/design.md +0 -45
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/proposal.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/specs/cli-spec/spec.md +0 -43
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/tasks.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/design.md +0 -104
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/proposal.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-archive/spec.md +0 -18
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-diff/spec.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/tasks.md +0 -59
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/proposal.md +0 -93
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-archive/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-diff/spec.md +0 -45
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/openspec-conventions/spec.md +0 -101
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/tasks.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/design.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/proposal.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/cli-list/spec.md +0 -57
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/openspec-conventions/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/tasks.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-change/spec.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-spec/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-validate/spec.md +0 -149
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/tasks.md +0 -81
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/proposal.md +0 -40
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/specs/cli-update/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/tasks.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/specs/cli-validate/spec.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/tasks.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/proposal.md +0 -36
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/specs/openspec-conventions/spec.md +0 -192
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/tasks.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/proposal.md +0 -38
- package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/specs/cli-view/spec.md +0 -109
- package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/tasks.md +0 -47
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/proposal.md +0 -28
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-init/spec.md +0 -71
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-update/spec.md +0 -41
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/tasks.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/proposal.md +0 -35
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/specs/cli-init/spec.md +0 -45
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/tasks.md +0 -16
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/proposal.md +0 -119
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-init/spec.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-update/spec.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/tasks.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/proposal.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/tasks.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-deterministic-tests/proposal.md +0 -78
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-deterministic-tests/tasks.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/specs/cli-init/spec.md +0 -92
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/tasks.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-remove-diff-command/proposal.md +0 -81
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-remove-diff-command/tasks.md +0 -37
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/specs/cli-view/spec.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/tasks.md +0 -8
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/proposal.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-init/spec.md +0 -40
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-update/spec.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/openspec-conventions/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/tasks.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/design.md +0 -130
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/proposal.md +0 -117
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/tasks.md +0 -69
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/proposal.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/specs/cli-validate/spec.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/tasks.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-init/spec.md +0 -56
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-update/spec.md +0 -41
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/tasks.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-init/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-update/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/tasks.md +0 -30
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/proposal.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-init/spec.md +0 -43
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-update/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/tasks.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/proposal.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/specs/cli-init/spec.md +0 -39
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/tasks.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/proposal.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-init/spec.md +0 -42
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-update/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/tasks.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/proposal.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/specs/cli-validate/spec.md +0 -39
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/tasks.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/proposal.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/specs/docs-agent-instructions/spec.md +0 -33
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/tasks.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-slim-root-agents-file/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-slim-root-agents-file/tasks.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/proposal.md +0 -14
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/specs/cli-init/spec.md +0 -10
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/tasks.md +0 -8
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/proposal.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-init/spec.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-update/spec.md +0 -10
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/tasks.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-release-automation/proposal.md +0 -49
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-release-automation/tasks.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/proposal.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/specs/cli-update/spec.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/tasks.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/proposal.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/specs/cli-init/spec.md +0 -97
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/tasks.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/specs/cli-init/spec.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/tasks.md +0 -7
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/proposal.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-init/spec.md +0 -54
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-update/spec.md +0 -54
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/tasks.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/design.md +0 -525
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/proposal.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/specs/cli-completion/spec.md +0 -300
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/tasks.md +0 -81
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/design.md +0 -105
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/specs/global-config/spec.md +0 -76
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/tasks.md +0 -26
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/design.md +0 -89
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/proposal.md +0 -60
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/specs/cli-config/spec.md +0 -213
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/tasks.md +0 -28
- package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/proposal.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/specs/cli-completion/spec.md +0 -328
- package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/tasks.md +0 -49
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/design.md +0 -197
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/proposal.md +0 -18
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/specs/artifact-graph/spec.md +0 -103
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/tasks.md +0 -61
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/design.md +0 -74
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/proposal.md +0 -45
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/specs/change-creation/spec.md +0 -63
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/tasks.md +0 -30
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/design.md +0 -112
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/proposal.md +0 -33
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/specs/cli-artifact-workflow/spec.md +0 -153
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/tasks.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/design.md +0 -149
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/specs/instruction-loader/spec.md +0 -70
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/tasks.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/design.md +0 -129
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/specs/artifact-graph/spec.md +0 -49
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/tasks.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/design.md +0 -151
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/proposal.md +0 -101
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/specs/cli-artifact-workflow/spec.md +0 -109
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/specs/cli-view/spec.md +0 -60
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/tasks.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/proposal.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/specs/cli-init/spec.md +0 -105
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/specs/cli-update/spec.md +0 -92
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/tasks.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/specs/cli-init/spec.md +0 -105
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/specs/cli-update/spec.md +0 -92
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/tasks.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-agent-schema-selection/proposal.md +0 -26
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-agent-schema-selection/tasks.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/design.md +0 -147
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/proposal.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/specs/cli-artifact-workflow/spec.md +0 -98
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/tasks.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/design.md +0 -77
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/proposal.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/specs/specs-sync-skill/spec.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/tasks.md +0 -40
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/proposal.md +0 -138
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md +0 -60
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/tasks.md +0 -35
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/design.md +0 -84
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/proposal.md +0 -28
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/specs/opsx-archive-skill/spec.md +0 -122
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/tasks.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/design.md +0 -94
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/specs/nix-flake-support/spec.md +0 -79
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/tasks.md +0 -65
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/design.md +0 -117
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/proposal.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/specs/flake-update-script/spec.md +0 -93
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/tasks.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/design.md +0 -175
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/proposal.md +0 -37
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/specs/global-config/spec.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/specs/telemetry/spec.md +0 -116
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/tasks.md +0 -47
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/proposal.md +0 -16
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/specs/cli-init/spec.md +0 -75
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/specs/cli-update/spec.md +0 -56
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/tasks.md +0 -6
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/design.md +0 -206
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/proposal.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/specs/ci-nix-validation/spec.md +0 -104
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/tasks.md +0 -49
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/README.md +0 -3
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/design.md +0 -70
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/proposal.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/specs/no-changes.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/tasks.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/specs/cli-feedback/spec.md +0 -188
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/tasks.md +0 -30
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/design.md +0 -115
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/proposal.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/specs/opsx-onboard-skill/spec.md +0 -162
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/tasks.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/design.md +0 -96
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/proposal.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/specs/opsx-verify-skill/spec.md +0 -190
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/tasks.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/design.md +0 -193
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/proposal.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/specs/cli-init/spec.md +0 -176
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/specs/legacy-cleanup/spec.md +0 -158
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/tasks.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/design.md +0 -144
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/proposal.md +0 -36
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/ai-tool-paths/spec.md +0 -63
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/cli-artifact-workflow/spec.md +0 -60
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/command-generation/spec.md +0 -98
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/tasks.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/design.md +0 -665
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/proposal.md +0 -774
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/config-loading/spec.md +0 -119
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/context-injection/spec.md +0 -51
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/rules-injection/spec.md +0 -99
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/schema-resolution/spec.md +0 -83
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/tasks.md +0 -72
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/design.md +0 -117
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/proposal.md +0 -167
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/specs/schema-resolution/spec.md +0 -88
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/tasks.md +0 -28
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/design.md +0 -113
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/proposal.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-fork-command/spec.md +0 -66
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-init-command/spec.md +0 -71
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-validate-command/spec.md +0 -86
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-which-command/spec.md +0 -65
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/tasks.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/README.md +0 -3
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/design.md +0 -85
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/proposal.md +0 -38
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/specs/ai-tool-paths/spec.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/specs/cli-init/spec.md +0 -37
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/tasks.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/design.md +0 -208
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/proposal.md +0 -142
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/specs/openspec-conventions/spec.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/specs/workspace-foundation/spec.md +0 -199
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/tasks.md +0 -56
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/design.md +0 -356
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/proposal.md +0 -128
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/cli-artifact-workflow/spec.md +0 -24
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/workspace-foundation/spec.md +0 -35
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/workspace-links/spec.md +0 -356
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/tasks.md +0 -121
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/design.md +0 -266
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/proposal.md +0 -65
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/specs/workspace-foundation/spec.md +0 -76
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/specs/workspace-open/spec.md +0 -199
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/tasks.md +0 -89
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/design.md +0 -242
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/proposal.md +0 -78
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/artifact-graph/spec.md +0 -36
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/change-creation/spec.md +0 -42
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-artifact-workflow/spec.md +0 -100
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-config/spec.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-update/spec.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/openspec-conventions/spec.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/schema-resolution/spec.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/workspace-change-planning/spec.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/workspace-links/spec.md +0 -163
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/tasks.md +0 -133
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/design.md +0 -48
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/proposal.md +0 -26
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/specs/command-generation/spec.md +0 -63
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/tasks.md +0 -19
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/design.md +0 -38
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/specs/graceful-status-empty/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/tasks.md +0 -16
- package/OpenSpec-main/openspec/changes/schema-alias-support/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/schema-alias-support/proposal.md +0 -28
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/design.md +0 -288
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/proposal.md +0 -202
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/cli-init/spec.md +0 -199
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/cli-update/spec.md +0 -177
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/profiles/spec.md +0 -142
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/propose-workflow/spec.md +0 -42
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/tasks.md +0 -132
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/design.md +0 -149
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/proposal.md +0 -47
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/specs/template-artifact-pipeline/spec.md +0 -89
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/tasks.md +0 -41
- package/OpenSpec-main/openspec/changes/workspace-agent-guidance/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/workspace-agent-guidance/proposal.md +0 -100
- package/OpenSpec-main/openspec/changes/workspace-apply-repo-slice/proposal.md +0 -58
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/HISTORICAL_DIRECTION.md +0 -511
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/POC_REFERENCE_GUIDE.md +0 -266
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/README.md +0 -107
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/START_HERE.md +0 -105
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/proposal.md +0 -62
- package/OpenSpec-main/openspec/changes/workspace-verify-and-archive/proposal.md +0 -57
- package/OpenSpec-main/openspec/config.yaml +0 -36
- package/OpenSpec-main/openspec/explorations/explore-workflow-ux.md +0 -116
- package/OpenSpec-main/openspec/explorations/workspace-architecture.md +0 -857
- package/OpenSpec-main/openspec/explorations/workspace-roadmap.md +0 -367
- package/OpenSpec-main/openspec/explorations/workspace-user-journeys.md +0 -2259
- package/OpenSpec-main/openspec/explorations/workspace-ux-simplification.md +0 -491
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/.initiative.yaml +0 -27
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/README.md +0 -33
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/decisions.md +0 -204
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/direction.md +0 -447
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/questions.md +0 -23
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/roadmap.md +0 -759
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/tasks.md +0 -308
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/evidence.md +0 -154
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/plan.md +0 -90
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/tasks.md +0 -44
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/evidence.md +0 -68
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/plan.md +0 -80
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/tasks.md +0 -23
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/evidence.md +0 -43
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/plan.md +0 -85
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/tasks.md +0 -17
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/evidence.md +0 -77
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/plan.md +0 -198
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/tasks.md +0 -14
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/evidence.md +0 -99
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/plan.md +0 -236
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/tasks.md +0 -21
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/evidence.md +0 -97
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/plan.md +0 -333
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/tasks.md +0 -29
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/evidence.md +0 -97
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/plan.md +0 -184
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/tasks.md +0 -27
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/evidence.md +0 -239
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/plan.md +0 -279
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/tasks.md +0 -22
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/decision-review.md +0 -64
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/evidence.md +0 -106
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/plan.md +0 -141
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/tasks.md +0 -22
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/10-let-workspaces-open-initiatives/plan.md +0 -430
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/10-let-workspaces-open-initiatives/tasks.md +0 -43
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/notes.md +0 -289
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/plan.md +0 -39
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/tasks.md +0 -8
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/evidence.md +0 -45
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/plan.md +0 -150
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/tasks.md +0 -23
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/evidence.md +0 -25
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/plan.md +0 -98
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/tasks.md +0 -25
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/14-workspaces-beta-guide-split/plan.md +0 -37
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/14-workspaces-beta-guide-split/tasks.md +0 -9
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/evidence.md +0 -140
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/plan.md +0 -344
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/tasks.md +0 -39
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/16-add-escalation-ux/plan.md +0 -26
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/16-add-escalation-ux/tasks.md +0 -7
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/17-harden-team-shared-coordination/plan.md +0 -25
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/17-harden-team-shared-coordination/tasks.md +0 -7
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/evidence.md +0 -397
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/plan.md +0 -180
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/tasks.md +0 -28
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/19-review-workspace-beta-compatibility-before-public-release/plan.md +0 -62
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/19-review-workspace-beta-compatibility-before-public-release/tasks.md +0 -16
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/evidence.md +0 -47
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/plan.md +0 -90
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/tasks.md +0 -18
- package/OpenSpec-main/openspec/specs/ai-tool-paths/spec.md +0 -63
- package/OpenSpec-main/openspec/specs/artifact-graph/spec.md +0 -165
- package/OpenSpec-main/openspec/specs/change-creation/spec.md +0 -108
- package/OpenSpec-main/openspec/specs/ci-nix-validation/spec.md +0 -107
- package/OpenSpec-main/openspec/specs/cli-archive/spec.md +0 -210
- package/OpenSpec-main/openspec/specs/cli-artifact-workflow/spec.md +0 -398
- package/OpenSpec-main/openspec/specs/cli-change/spec.md +0 -92
- package/OpenSpec-main/openspec/specs/cli-completion/spec.md +0 -432
- package/OpenSpec-main/openspec/specs/cli-config/spec.md +0 -318
- package/OpenSpec-main/openspec/specs/cli-feedback/spec.md +0 -193
- package/OpenSpec-main/openspec/specs/cli-init/spec.md +0 -269
- package/OpenSpec-main/openspec/specs/cli-list/spec.md +0 -103
- package/OpenSpec-main/openspec/specs/cli-show/spec.md +0 -86
- package/OpenSpec-main/openspec/specs/cli-spec/spec.md +0 -88
- package/OpenSpec-main/openspec/specs/cli-update/spec.md +0 -229
- package/OpenSpec-main/openspec/specs/cli-validate/spec.md +0 -219
- package/OpenSpec-main/openspec/specs/cli-view/spec.md +0 -129
- package/OpenSpec-main/openspec/specs/command-generation/spec.md +0 -97
- package/OpenSpec-main/openspec/specs/config-loading/spec.md +0 -122
- package/OpenSpec-main/openspec/specs/context-injection/spec.md +0 -53
- package/OpenSpec-main/openspec/specs/docs-agent-instructions/spec.md +0 -62
- package/OpenSpec-main/openspec/specs/global-config/spec.md +0 -101
- package/OpenSpec-main/openspec/specs/instruction-loader/spec.md +0 -70
- package/OpenSpec-main/openspec/specs/legacy-cleanup/spec.md +0 -163
- package/OpenSpec-main/openspec/specs/openspec-conventions/spec.md +0 -556
- package/OpenSpec-main/openspec/specs/opsx-archive-skill/spec.md +0 -128
- package/OpenSpec-main/openspec/specs/opsx-onboard-skill/spec.md +0 -167
- package/OpenSpec-main/openspec/specs/opsx-verify-skill/spec.md +0 -189
- package/OpenSpec-main/openspec/specs/rules-injection/spec.md +0 -102
- package/OpenSpec-main/openspec/specs/schema-fork-command/spec.md +0 -71
- package/OpenSpec-main/openspec/specs/schema-init-command/spec.md +0 -76
- package/OpenSpec-main/openspec/specs/schema-resolution/spec.md +0 -201
- package/OpenSpec-main/openspec/specs/schema-validate-command/spec.md +0 -91
- package/OpenSpec-main/openspec/specs/schema-which-command/spec.md +0 -70
- package/OpenSpec-main/openspec/specs/specs-sync-skill/spec.md +0 -72
- package/OpenSpec-main/openspec/specs/telemetry/spec.md +0 -122
- package/OpenSpec-main/openspec/specs/workspace-change-planning/spec.md +0 -71
- package/OpenSpec-main/openspec/specs/workspace-foundation/spec.md +0 -279
- package/OpenSpec-main/openspec/specs/workspace-links/spec.md +0 -529
- package/OpenSpec-main/openspec/specs/workspace-open/spec.md +0 -205
- package/OpenSpec-main/openspec-parallel-merge-plan.md +0 -98
- package/OpenSpec-main/package-lock.json +0 -4978
- package/OpenSpec-main/package.json +0 -84
- package/OpenSpec-main/pnpm-lock.yaml +0 -3187
- package/OpenSpec-main/schemas/spec-driven/schema.yaml +0 -153
- package/OpenSpec-main/schemas/spec-driven/templates/design.md +0 -19
- package/OpenSpec-main/schemas/spec-driven/templates/proposal.md +0 -23
- package/OpenSpec-main/schemas/spec-driven/templates/spec.md +0 -8
- package/OpenSpec-main/schemas/spec-driven/templates/tasks.md +0 -9
- package/OpenSpec-main/schemas/workspace-planning/schema.yaml +0 -72
- package/OpenSpec-main/schemas/workspace-planning/templates/design.md +0 -33
- package/OpenSpec-main/schemas/workspace-planning/templates/proposal.md +0 -28
- package/OpenSpec-main/schemas/workspace-planning/templates/spec.md +0 -9
- package/OpenSpec-main/schemas/workspace-planning/templates/tasks.md +0 -15
- package/OpenSpec-main/scripts/README.md +0 -37
- package/OpenSpec-main/scripts/pack-version-check.mjs +0 -111
- package/OpenSpec-main/scripts/postinstall.js +0 -83
- package/OpenSpec-main/scripts/test-postinstall.sh +0 -57
- package/OpenSpec-main/scripts/update-flake.sh +0 -128
- package/OpenSpec-main/test/cli-e2e/basic.test.ts +0 -205
- package/OpenSpec-main/test/commands/artifact-workflow.test.ts +0 -1063
- package/OpenSpec-main/test/commands/change-initiative-link.test.ts +0 -532
- package/OpenSpec-main/test/commands/change.interactive-show.test.ts +0 -45
- package/OpenSpec-main/test/commands/change.interactive-validate.test.ts +0 -48
- package/OpenSpec-main/test/commands/completion.test.ts +0 -278
- package/OpenSpec-main/test/commands/config-profile.test.ts +0 -532
- package/OpenSpec-main/test/commands/config.test.ts +0 -285
- package/OpenSpec-main/test/commands/context-store.test.ts +0 -692
- package/OpenSpec-main/test/commands/feedback.test.ts +0 -429
- package/OpenSpec-main/test/commands/initiative.test.ts +0 -907
- package/OpenSpec-main/test/commands/schema.test.ts +0 -467
- package/OpenSpec-main/test/commands/show.test.ts +0 -123
- package/OpenSpec-main/test/commands/spec.interactive-show.test.ts +0 -44
- package/OpenSpec-main/test/commands/spec.interactive-validate.test.ts +0 -44
- package/OpenSpec-main/test/commands/spec.test.ts +0 -324
- package/OpenSpec-main/test/commands/validate.enriched-output.test.ts +0 -49
- package/OpenSpec-main/test/commands/validate.test.ts +0 -147
- package/OpenSpec-main/test/commands/workspace-initiative-open.test.ts +0 -638
- package/OpenSpec-main/test/commands/workspace-open.test.ts +0 -123
- package/OpenSpec-main/test/commands/workspace.interactive.test.ts +0 -696
- package/OpenSpec-main/test/commands/workspace.test.ts +0 -1812
- package/OpenSpec-main/test/core/archive.test.ts +0 -869
- package/OpenSpec-main/test/core/artifact-graph/graph.test.ts +0 -268
- package/OpenSpec-main/test/core/artifact-graph/instruction-loader.test.ts +0 -609
- package/OpenSpec-main/test/core/artifact-graph/outputs.test.ts +0 -175
- package/OpenSpec-main/test/core/artifact-graph/resolver.test.ts +0 -651
- package/OpenSpec-main/test/core/artifact-graph/schema.test.ts +0 -207
- package/OpenSpec-main/test/core/artifact-graph/state.test.ts +0 -174
- package/OpenSpec-main/test/core/artifact-graph/workflow.integration.test.ts +0 -182
- package/OpenSpec-main/test/core/available-tools.test.ts +0 -167
- package/OpenSpec-main/test/core/collections/initiatives/operations.test.ts +0 -342
- package/OpenSpec-main/test/core/collections/initiatives/resolution.test.ts +0 -21
- package/OpenSpec-main/test/core/collections/initiatives/schema.test.ts +0 -201
- package/OpenSpec-main/test/core/collections/initiatives/templates.test.ts +0 -74
- package/OpenSpec-main/test/core/collections/runtime.test.ts +0 -214
- package/OpenSpec-main/test/core/command-generation/adapters.test.ts +0 -710
- package/OpenSpec-main/test/core/command-generation/generator.test.ts +0 -110
- package/OpenSpec-main/test/core/command-generation/registry.test.ts +0 -108
- package/OpenSpec-main/test/core/command-generation/types.test.ts +0 -79
- package/OpenSpec-main/test/core/commands/change-command.list.test.ts +0 -76
- package/OpenSpec-main/test/core/commands/change-command.show-validate.test.ts +0 -111
- package/OpenSpec-main/test/core/completions/command-registry.test.ts +0 -201
- package/OpenSpec-main/test/core/completions/completion-provider.test.ts +0 -288
- package/OpenSpec-main/test/core/completions/generators/bash-generator.test.ts +0 -586
- package/OpenSpec-main/test/core/completions/generators/fish-generator.test.ts +0 -549
- package/OpenSpec-main/test/core/completions/generators/powershell-generator.test.ts +0 -621
- package/OpenSpec-main/test/core/completions/generators/zsh-generator.test.ts +0 -425
- package/OpenSpec-main/test/core/completions/installers/bash-installer.test.ts +0 -484
- package/OpenSpec-main/test/core/completions/installers/fish-installer.test.ts +0 -321
- package/OpenSpec-main/test/core/completions/installers/powershell-installer.test.ts +0 -824
- package/OpenSpec-main/test/core/completions/installers/zsh-installer.test.ts +0 -750
- package/OpenSpec-main/test/core/config-schema.test.ts +0 -340
- package/OpenSpec-main/test/core/context-store/foundation.test.ts +0 -364
- package/OpenSpec-main/test/core/context-store/registry.test.ts +0 -599
- package/OpenSpec-main/test/core/converters/json-converter.test.ts +0 -184
- package/OpenSpec-main/test/core/global-config.test.ts +0 -371
- package/OpenSpec-main/test/core/init.test.ts +0 -786
- package/OpenSpec-main/test/core/legacy-cleanup.test.ts +0 -1162
- package/OpenSpec-main/test/core/list.test.ts +0 -165
- package/OpenSpec-main/test/core/migration.test.ts +0 -150
- package/OpenSpec-main/test/core/parsers/change-parser.test.ts +0 -52
- package/OpenSpec-main/test/core/parsers/markdown-parser.test.ts +0 -355
- package/OpenSpec-main/test/core/parsers/requirement-blocks.test.ts +0 -46
- package/OpenSpec-main/test/core/planning-home.test.ts +0 -120
- package/OpenSpec-main/test/core/profile-sync-drift.test.ts +0 -92
- package/OpenSpec-main/test/core/profiles.test.ts +0 -63
- package/OpenSpec-main/test/core/project-config.test.ts +0 -610
- package/OpenSpec-main/test/core/shared/skill-generation.test.ts +0 -301
- package/OpenSpec-main/test/core/shared/tool-detection.test.ts +0 -333
- package/OpenSpec-main/test/core/templates/skill-templates-parity.test.ts +0 -172
- package/OpenSpec-main/test/core/update.test.ts +0 -1810
- package/OpenSpec-main/test/core/validation.enriched-messages.test.ts +0 -74
- package/OpenSpec-main/test/core/validation.test.ts +0 -680
- package/OpenSpec-main/test/core/view.test.ts +0 -129
- package/OpenSpec-main/test/core/workspace/foundation.test.ts +0 -694
- package/OpenSpec-main/test/core/workspace/legacy-state.test.ts +0 -221
- package/OpenSpec-main/test/core/workspace/skills.test.ts +0 -69
- package/OpenSpec-main/test/fixtures/tmp-init/openspec/changes/c1/proposal.md +0 -7
- package/OpenSpec-main/test/fixtures/tmp-init/openspec/changes/c1/specs/alpha/spec.md +0 -8
- package/OpenSpec-main/test/fixtures/tmp-init/openspec/specs/alpha/spec.md +0 -12
- package/OpenSpec-main/test/helpers/path-env.ts +0 -26
- package/OpenSpec-main/test/helpers/run-cli.ts +0 -150
- package/OpenSpec-main/test/prompts/searchable-multi-select.test.ts +0 -220
- package/OpenSpec-main/test/specs/source-specs-normalization.test.ts +0 -63
- package/OpenSpec-main/test/telemetry/config.test.ts +0 -298
- package/OpenSpec-main/test/telemetry/index.test.ts +0 -219
- package/OpenSpec-main/test/utils/change-metadata.test.ts +0 -368
- package/OpenSpec-main/test/utils/change-utils.test.ts +0 -201
- package/OpenSpec-main/test/utils/command-references.test.ts +0 -83
- package/OpenSpec-main/test/utils/file-system.test.ts +0 -322
- package/OpenSpec-main/test/utils/interactive.test.ts +0 -125
- package/OpenSpec-main/test/utils/marker-updates.test.ts +0 -448
- package/OpenSpec-main/test/utils/shell-detection.test.ts +0 -185
- package/OpenSpec-main/vitest.config.ts +0 -47
- package/OpenSpec-main/vitest.setup.ts +0 -15
- package/Scanner CLI Inteligente para Projetos.md +0 -433
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
# Update Command Specification
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
As a developer using OpenSpec, I want to update the OpenSpec instructions in my project when new versions are released, so that I can benefit from improvements to AI agent instructions.
|
|
6
|
-
## Requirements
|
|
7
|
-
### Requirement: Update Behavior
|
|
8
|
-
The update command SHALL update OpenSpec instruction files to the latest templates in a team-friendly manner.
|
|
9
|
-
|
|
10
|
-
#### Scenario: Running update command
|
|
11
|
-
- **WHEN** a user runs `openspec update`
|
|
12
|
-
- **THEN** replace `openspec/AGENTS.md` with the latest template
|
|
13
|
-
- **AND** if a root-level stub (`AGENTS.md`/`CLAUDE.md`) exists, refresh it so it points to `@/openspec/AGENTS.md`
|
|
14
|
-
|
|
15
|
-
### Requirement: Prerequisites
|
|
16
|
-
|
|
17
|
-
The command SHALL require an existing OpenSpec structure before allowing updates.
|
|
18
|
-
|
|
19
|
-
#### Scenario: Checking prerequisites
|
|
20
|
-
|
|
21
|
-
- **GIVEN** the command requires an existing `openspec` directory (created by `openspec init`)
|
|
22
|
-
- **WHEN** the `openspec` directory does not exist
|
|
23
|
-
- **THEN** display error: "No OpenSpec directory found. Run 'openspec init' first."
|
|
24
|
-
- **AND** exit with code 1
|
|
25
|
-
|
|
26
|
-
### Requirement: File Handling
|
|
27
|
-
The update command SHALL handle file updates in a predictable and safe manner.
|
|
28
|
-
|
|
29
|
-
#### Scenario: Updating files
|
|
30
|
-
- **WHEN** updating files
|
|
31
|
-
- **THEN** completely replace `openspec/AGENTS.md` with the latest template
|
|
32
|
-
- **AND** if a root-level stub exists, update the managed block content so it keeps directing teammates to `@/openspec/AGENTS.md`
|
|
33
|
-
|
|
34
|
-
### Requirement: Tool-Agnostic Updates
|
|
35
|
-
The update command SHALL refresh OpenSpec-managed files in a predictable manner while respecting each team's chosen tooling.
|
|
36
|
-
|
|
37
|
-
#### Scenario: Updating files
|
|
38
|
-
- **WHEN** updating files
|
|
39
|
-
- **THEN** completely replace `openspec/AGENTS.md` with the latest template
|
|
40
|
-
- **AND** create or refresh the root-level `AGENTS.md` stub using the managed marker block, even if the file was previously absent
|
|
41
|
-
- **AND** update only the OpenSpec-managed sections inside existing AI tool files, leaving user-authored content untouched
|
|
42
|
-
- **AND** avoid creating new native-tool configuration files (slash commands, CLAUDE.md, etc.) unless they already exist
|
|
43
|
-
|
|
44
|
-
### Requirement: Core Files Always Updated
|
|
45
|
-
The update command SHALL always update the core OpenSpec files and display an ASCII-safe success message.
|
|
46
|
-
|
|
47
|
-
#### Scenario: Successful update
|
|
48
|
-
- **WHEN** the update completes successfully
|
|
49
|
-
- **THEN** replace `openspec/AGENTS.md` with the latest template
|
|
50
|
-
- **AND** if a root-level stub exists, refresh it so it still directs contributors to `@/openspec/AGENTS.md`
|
|
51
|
-
|
|
52
|
-
### Requirement: Slash Command Updates
|
|
53
|
-
|
|
54
|
-
The update command SHALL refresh existing slash command files for configured tools without creating new ones, and ensure the OpenCode archive command accepts change ID arguments.
|
|
55
|
-
|
|
56
|
-
#### Scenario: Updating slash commands for Antigravity
|
|
57
|
-
- **WHEN** `.agent/workflows/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
|
|
58
|
-
- **THEN** refresh the OpenSpec-managed portion of each file so the workflow copy matches other tools while preserving the existing single-field `description` frontmatter
|
|
59
|
-
- **AND** skip creating any missing workflow files during update, mirroring the behavior for Windsurf and other IDEs
|
|
60
|
-
|
|
61
|
-
#### Scenario: Updating slash commands for Claude Code
|
|
62
|
-
- **WHEN** `.claude/commands/openspec/` contains `proposal.md`, `apply.md`, and `archive.md`
|
|
63
|
-
- **THEN** refresh each file using shared templates
|
|
64
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
65
|
-
|
|
66
|
-
#### Scenario: Updating slash commands for CodeBuddy Code
|
|
67
|
-
- **WHEN** `.codebuddy/commands/openspec/` contains `proposal.md`, `apply.md`, and `archive.md`
|
|
68
|
-
- **THEN** refresh each file using the shared CodeBuddy templates that include YAML frontmatter for the `description` and `argument-hint` fields
|
|
69
|
-
- **AND** use square bracket format for `argument-hint` parameters (e.g., `[change-id]`)
|
|
70
|
-
- **AND** preserve any user customizations outside the OpenSpec managed markers
|
|
71
|
-
|
|
72
|
-
#### Scenario: Updating slash commands for Cline
|
|
73
|
-
- **WHEN** `.clinerules/workflows/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
|
|
74
|
-
- **THEN** refresh each file using shared templates
|
|
75
|
-
- **AND** include Cline-specific Markdown heading frontmatter
|
|
76
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
77
|
-
|
|
78
|
-
#### Scenario: Updating slash commands for Continue
|
|
79
|
-
- **WHEN** `.continue/prompts/` contains `openspec-proposal.prompt`, `openspec-apply.prompt`, and `openspec-archive.prompt`
|
|
80
|
-
- **THEN** refresh each file using shared templates
|
|
81
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
82
|
-
|
|
83
|
-
#### Scenario: Updating slash commands for Crush
|
|
84
|
-
- **WHEN** `.crush/commands/` contains `openspec/proposal.md`, `openspec/apply.md`, and `openspec/archive.md`
|
|
85
|
-
- **THEN** refresh each file using shared templates
|
|
86
|
-
- **AND** include Crush-specific frontmatter with OpenSpec category and tags
|
|
87
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
88
|
-
|
|
89
|
-
#### Scenario: Updating slash commands for Cursor
|
|
90
|
-
- **WHEN** `.cursor/commands/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
|
|
91
|
-
- **THEN** refresh each file using shared templates
|
|
92
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
93
|
-
|
|
94
|
-
#### Scenario: Updating slash commands for Factory Droid
|
|
95
|
-
- **WHEN** `.factory/commands/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
|
|
96
|
-
- **THEN** refresh each file using the shared Factory templates that include YAML frontmatter for the `description` and `argument-hint` fields
|
|
97
|
-
- **AND** ensure the template body retains the `$ARGUMENTS` placeholder so user input keeps flowing into droid
|
|
98
|
-
- **AND** update only the content inside the OpenSpec managed markers, leaving any unmanaged notes untouched
|
|
99
|
-
- **AND** skip creating missing files during update
|
|
100
|
-
|
|
101
|
-
#### Scenario: Updating slash commands for OpenCode
|
|
102
|
-
- **WHEN** `.opencode/command/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
|
|
103
|
-
- **THEN** refresh each file using shared templates
|
|
104
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
105
|
-
- **AND** ensure the archive command includes `$ARGUMENTS` placeholder in frontmatter for accepting change ID arguments
|
|
106
|
-
|
|
107
|
-
#### Scenario: Updating slash commands for Windsurf
|
|
108
|
-
- **WHEN** `.windsurf/workflows/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
|
|
109
|
-
- **THEN** refresh each file using shared templates wrapped in OpenSpec markers
|
|
110
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
111
|
-
- **AND** skip creating missing files (the update command only refreshes what already exists)
|
|
112
|
-
|
|
113
|
-
#### Scenario: Updating slash commands for Kilo Code
|
|
114
|
-
- **WHEN** `.kilocode/workflows/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
|
|
115
|
-
- **THEN** refresh each file using shared templates wrapped in OpenSpec markers
|
|
116
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
117
|
-
- **AND** skip creating missing files (the update command only refreshes what already exists)
|
|
118
|
-
|
|
119
|
-
#### Scenario: Updating slash commands for Codex
|
|
120
|
-
- **GIVEN** the global Codex prompt directory contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
|
|
121
|
-
- **WHEN** a user runs `openspec update`
|
|
122
|
-
- **THEN** refresh each file using the shared slash-command templates (including placeholder guidance)
|
|
123
|
-
- **AND** preserve any unmanaged content outside the OpenSpec marker block
|
|
124
|
-
- **AND** skip creation when a Codex prompt file is missing
|
|
125
|
-
|
|
126
|
-
#### Scenario: Updating slash commands for GitHub Copilot
|
|
127
|
-
- **WHEN** `.github/prompts/` contains `openspec-proposal.prompt.md`, `openspec-apply.prompt.md`, and `openspec-archive.prompt.md`
|
|
128
|
-
- **THEN** refresh each file using shared templates while preserving the YAML frontmatter
|
|
129
|
-
- **AND** update only the OpenSpec-managed block between markers
|
|
130
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
131
|
-
|
|
132
|
-
#### Scenario: Updating slash commands for Gemini CLI
|
|
133
|
-
- **WHEN** `.gemini/commands/openspec/` contains `proposal.toml`, `apply.toml`, and `archive.toml`
|
|
134
|
-
- **THEN** refresh the body of each file using the shared proposal/apply/archive templates
|
|
135
|
-
- **AND** replace only the content between `<!-- OPENSPEC:START -->` and `<!-- OPENSPEC:END -->` markers inside the `prompt = """` block so the TOML framing (`description`, `prompt`) stays intact
|
|
136
|
-
- **AND** skip creating any missing `.toml` files during update; only pre-existing Gemini commands are refreshed
|
|
137
|
-
|
|
138
|
-
#### Scenario: Updating slash commands for iFlow CLI
|
|
139
|
-
- **WHEN** `.iflow/commands/` contains `openspec-proposal.md`, `openspec-apply.md`, and `openspec-archive.md`
|
|
140
|
-
- **THEN** refresh each file using shared templates
|
|
141
|
-
- **AND** preserve the YAML frontmatter with `name`, `id`, `category`, and `description` fields
|
|
142
|
-
- **AND** update only the OpenSpec-managed block between markers
|
|
143
|
-
- **AND** ensure templates include instructions for the relevant workflow stage
|
|
144
|
-
|
|
145
|
-
#### Scenario: Missing slash command file
|
|
146
|
-
- **WHEN** a tool lacks a slash command file
|
|
147
|
-
- **THEN** do not create a new file during update
|
|
148
|
-
|
|
149
|
-
### Requirement: Archive Command Argument Support
|
|
150
|
-
The archive slash command template SHALL support optional change ID arguments for tools that support `$ARGUMENTS` placeholder.
|
|
151
|
-
|
|
152
|
-
#### Scenario: Archive command with change ID argument
|
|
153
|
-
- **WHEN** a user invokes `/openspec:archive <change-id>` with a change ID
|
|
154
|
-
- **THEN** the template SHALL instruct the AI to validate the provided change ID against `openspec list`
|
|
155
|
-
- **AND** use the provided change ID for archiving if valid
|
|
156
|
-
- **AND** fail fast if the provided change ID doesn't match an archivable change
|
|
157
|
-
|
|
158
|
-
#### Scenario: Archive command without argument (backward compatibility)
|
|
159
|
-
- **WHEN** a user invokes `/openspec:archive` without providing a change ID
|
|
160
|
-
- **THEN** the template SHALL instruct the AI to identify the change ID from context or by running `openspec list`
|
|
161
|
-
- **AND** proceed with the existing behavior (maintaining backward compatibility)
|
|
162
|
-
|
|
163
|
-
#### Scenario: OpenCode archive template generation
|
|
164
|
-
- **WHEN** generating the OpenCode archive slash command file
|
|
165
|
-
- **THEN** include the `$ARGUMENTS` placeholder in the frontmatter
|
|
166
|
-
- **AND** wrap it in a clear structure like `<ChangeId>\n $ARGUMENTS\n</ChangeId>` to indicate the expected argument
|
|
167
|
-
- **AND** include validation steps in the template body to check if the change ID is valid
|
|
168
|
-
|
|
169
|
-
### Requirement: Repo update stays separate from workspace planning homes
|
|
170
|
-
The repo-local `openspec update` command SHALL not silently treat a workspace planning home as a repo-local OpenSpec project.
|
|
171
|
-
|
|
172
|
-
#### Scenario: Running update from a workspace root
|
|
173
|
-
- **GIVEN** the command runs from an OpenSpec workspace root
|
|
174
|
-
- **WHEN** the user runs `openspec update`
|
|
175
|
-
- **THEN** OpenSpec SHALL not generate repo-local project files in the workspace root
|
|
176
|
-
- **AND** it SHALL tell the user to run `openspec workspace update`
|
|
177
|
-
|
|
178
|
-
#### Scenario: Running update from inside a workspace planning directory
|
|
179
|
-
- **GIVEN** the command runs from a subdirectory of an OpenSpec workspace planning home
|
|
180
|
-
- **WHEN** the user runs `openspec update`
|
|
181
|
-
- **THEN** OpenSpec SHALL not run repo-local update behavior
|
|
182
|
-
- **AND** it SHALL tell the user to run `openspec workspace update`
|
|
183
|
-
|
|
184
|
-
#### Scenario: Running update from a repo-local project
|
|
185
|
-
- **GIVEN** the command runs from inside a repo-local OpenSpec project
|
|
186
|
-
- **WHEN** the user runs `openspec update`
|
|
187
|
-
- **THEN** OpenSpec SHALL preserve existing repo-local update behavior
|
|
188
|
-
|
|
189
|
-
#### Scenario: Updating a repo-local project nested below a workspace folder
|
|
190
|
-
- **GIVEN** the target path contains repo-local OpenSpec state
|
|
191
|
-
- **AND** an ancestor is an OpenSpec workspace root
|
|
192
|
-
- **WHEN** the user runs `openspec update <path>`
|
|
193
|
-
- **THEN** OpenSpec SHALL preserve repo-local update behavior for the target path
|
|
194
|
-
- **AND** it SHALL not run workspace update behavior
|
|
195
|
-
|
|
196
|
-
## Edge Cases
|
|
197
|
-
|
|
198
|
-
### Error Handling
|
|
199
|
-
|
|
200
|
-
The command SHALL handle edge cases gracefully.
|
|
201
|
-
|
|
202
|
-
#### Scenario: File permission errors
|
|
203
|
-
|
|
204
|
-
- **WHEN** file write fails
|
|
205
|
-
- **THEN** let the error bubble up naturally with file path
|
|
206
|
-
|
|
207
|
-
#### Scenario: Missing AI tool files
|
|
208
|
-
|
|
209
|
-
- **WHEN** an AI tool configuration file doesn't exist
|
|
210
|
-
- **THEN** skip updating that file
|
|
211
|
-
- **AND** do not create it
|
|
212
|
-
|
|
213
|
-
#### Scenario: Custom directory names
|
|
214
|
-
|
|
215
|
-
- **WHEN** considering custom directory names
|
|
216
|
-
- **THEN** not supported in this change
|
|
217
|
-
- **AND** the default directory name `openspec` SHALL be used
|
|
218
|
-
|
|
219
|
-
## Success Criteria
|
|
220
|
-
|
|
221
|
-
Users SHALL be able to:
|
|
222
|
-
- Update OpenSpec instructions with a single command
|
|
223
|
-
- Get the latest AI agent instructions
|
|
224
|
-
- See clear confirmation of the update
|
|
225
|
-
|
|
226
|
-
The update process SHALL be:
|
|
227
|
-
- Simple and fast (no version checking)
|
|
228
|
-
- Predictable (same result every time)
|
|
229
|
-
- Self-contained (no network required)
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
# cli-validate Specification
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Define `openspec validate` behavior for validating changes and specs with actionable remediation guidance and structured output.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
### Requirement: Validation SHALL provide actionable remediation steps
|
|
8
|
-
Validation output SHALL include specific guidance to fix each error, including expected structure, example headers, and suggested commands to verify fixes.
|
|
9
|
-
|
|
10
|
-
#### Scenario: No deltas found in change
|
|
11
|
-
- **WHEN** validating a change with zero parsed deltas
|
|
12
|
-
- **THEN** show error "No deltas found" with guidance:
|
|
13
|
-
- Explain that change specs must include `## ADDED Requirements`, `## MODIFIED Requirements`, `## REMOVED Requirements`, or `## RENAMED Requirements`
|
|
14
|
-
- Remind authors that files must live under `openspec/changes/{id}/specs/<capability>/spec.md`
|
|
15
|
-
- Include an explicit note: "Spec delta files cannot start with titles before the operation headers"
|
|
16
|
-
- Suggest running `openspec change show {id} --json --deltas-only` for debugging
|
|
17
|
-
|
|
18
|
-
#### Scenario: Missing required sections
|
|
19
|
-
- **WHEN** a required section is missing
|
|
20
|
-
- **THEN** include expected header names and a minimal skeleton:
|
|
21
|
-
- For Spec: `## Purpose`, `## Requirements`
|
|
22
|
-
- For Change: `## Why`, `## What Changes`
|
|
23
|
-
- Provide an example snippet of the missing section with placeholder prose ready to copy
|
|
24
|
-
- Mention the quick-reference section in `openspec/AGENTS.md` as the authoritative template
|
|
25
|
-
|
|
26
|
-
#### Scenario: Missing requirement descriptive text
|
|
27
|
-
- **WHEN** a requirement header lacks descriptive text before scenarios
|
|
28
|
-
- **THEN** emit an error explaining that `### Requirement:` lines must be followed by narrative text before any `#### Scenario:` headers
|
|
29
|
-
- Show compliant example: "### Requirement: Foo" followed by "The system SHALL ..."
|
|
30
|
-
- Suggest adding 1-2 sentences describing the normative behavior prior to listing scenarios
|
|
31
|
-
- Reference the pre-validation checklist in `openspec/AGENTS.md`
|
|
32
|
-
|
|
33
|
-
### Requirement: Validator SHALL detect likely misformatted scenarios and warn with a fix
|
|
34
|
-
The validator SHALL recognize bulleted lines that look like scenarios (e.g., lines beginning with WHEN/THEN/AND) and emit a targeted warning with a conversion example to `#### Scenario:`.
|
|
35
|
-
|
|
36
|
-
#### Scenario: Bulleted WHEN/THEN under a Requirement
|
|
37
|
-
- **WHEN** bullets that start with WHEN/THEN/AND are found under a requirement without any `#### Scenario:` headers
|
|
38
|
-
- **THEN** emit warning: "Scenarios must use '#### Scenario:' headers", and show a conversion template:
|
|
39
|
-
```
|
|
40
|
-
#### Scenario: Short name
|
|
41
|
-
- **WHEN** ...
|
|
42
|
-
- **THEN** ...
|
|
43
|
-
- **AND** ...
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Requirement: All issues SHALL include file paths and structured locations
|
|
47
|
-
Error, warning, and info messages SHALL include:
|
|
48
|
-
- Source file path (`openspec/changes/{id}/proposal.md`, `.../specs/{cap}/spec.md`)
|
|
49
|
-
- Structured path (e.g., `deltas[0].requirements[0].scenarios`)
|
|
50
|
-
|
|
51
|
-
#### Scenario: Zod validation error
|
|
52
|
-
- **WHEN** a schema validation fails
|
|
53
|
-
- **THEN** the message SHALL include `file`, `path`, and a remediation hint if applicable
|
|
54
|
-
|
|
55
|
-
### Requirement: Invalid results SHALL include a Next steps footer in human-readable output
|
|
56
|
-
The CLI SHALL append a Next steps footer when the item is invalid and not using `--json`, including:
|
|
57
|
-
- Summary line with counts
|
|
58
|
-
- Top-3 guidance bullets (contextual to the most frequent or blocking errors)
|
|
59
|
-
- A suggestion to re-run with `--json` and/or the debug command
|
|
60
|
-
|
|
61
|
-
#### Scenario: Change invalid summary
|
|
62
|
-
- **WHEN** a change validation fails
|
|
63
|
-
- **THEN** print "Next steps" with 2-3 targeted bullets and suggest `openspec change show <id> --json --deltas-only`
|
|
64
|
-
|
|
65
|
-
### Requirement: Top-level validate command
|
|
66
|
-
|
|
67
|
-
The CLI SHALL provide a top-level `validate` command for validating changes and specs with flexible selection options.
|
|
68
|
-
|
|
69
|
-
#### Scenario: Interactive validation selection
|
|
70
|
-
|
|
71
|
-
- **WHEN** executing `openspec validate` without arguments
|
|
72
|
-
- **THEN** prompt user to select what to validate (all, changes, specs, or specific item)
|
|
73
|
-
- **AND** perform validation based on selection
|
|
74
|
-
- **AND** display results with appropriate formatting
|
|
75
|
-
|
|
76
|
-
#### Scenario: Non-interactive environments do not prompt
|
|
77
|
-
|
|
78
|
-
- **GIVEN** stdin is not a TTY or `--no-interactive` is provided or environment variable `OPEN_SPEC_INTERACTIVE=0`
|
|
79
|
-
- **WHEN** executing `openspec validate` without arguments
|
|
80
|
-
- **THEN** do not prompt interactively
|
|
81
|
-
- **AND** print a helpful hint listing available commands/flags and exit with code 1
|
|
82
|
-
|
|
83
|
-
#### Scenario: Direct item validation
|
|
84
|
-
|
|
85
|
-
- **WHEN** executing `openspec validate <item-name>`
|
|
86
|
-
- **THEN** automatically detect if item is a change or spec
|
|
87
|
-
- **AND** validate the specified item
|
|
88
|
-
- **AND** display validation results
|
|
89
|
-
|
|
90
|
-
### Requirement: Bulk and filtered validation
|
|
91
|
-
|
|
92
|
-
The validate command SHALL support flags for bulk validation (--all) and filtered validation by type (--changes, --specs).
|
|
93
|
-
|
|
94
|
-
#### Scenario: Validate everything
|
|
95
|
-
|
|
96
|
-
- **WHEN** executing `openspec validate --all`
|
|
97
|
-
- **THEN** validate all changes in openspec/changes/ (excluding archive)
|
|
98
|
-
- **AND** validate all specs in openspec/specs/
|
|
99
|
-
- **AND** display a summary showing passed/failed items
|
|
100
|
-
- **AND** exit with code 1 if any validation fails
|
|
101
|
-
|
|
102
|
-
#### Scenario: Scope of bulk validation
|
|
103
|
-
|
|
104
|
-
- **WHEN** validating with `--all` or `--changes`
|
|
105
|
-
- **THEN** include all change proposals under `openspec/changes/`
|
|
106
|
-
- **AND** exclude the `openspec/changes/archive/` directory
|
|
107
|
-
|
|
108
|
-
- **WHEN** validating with `--specs`
|
|
109
|
-
- **THEN** include all specs that have a `spec.md` under `openspec/specs/<id>/spec.md`
|
|
110
|
-
|
|
111
|
-
#### Scenario: Validate all changes
|
|
112
|
-
|
|
113
|
-
- **WHEN** executing `openspec validate --changes`
|
|
114
|
-
- **THEN** validate all changes in openspec/changes/ (excluding archive)
|
|
115
|
-
- **AND** display results for each change
|
|
116
|
-
- **AND** show summary statistics
|
|
117
|
-
|
|
118
|
-
#### Scenario: Validate all specs
|
|
119
|
-
|
|
120
|
-
- **WHEN** executing `openspec validate --specs`
|
|
121
|
-
- **THEN** validate all specs in openspec/specs/
|
|
122
|
-
- **AND** display results for each spec
|
|
123
|
-
- **AND** show summary statistics
|
|
124
|
-
|
|
125
|
-
### Requirement: Validation options and progress indication
|
|
126
|
-
|
|
127
|
-
The validate command SHALL support standard validation options (--strict, --json) and display progress during bulk operations.
|
|
128
|
-
|
|
129
|
-
#### Scenario: Strict validation
|
|
130
|
-
|
|
131
|
-
- **WHEN** executing `openspec validate --all --strict`
|
|
132
|
-
- **THEN** apply strict validation to all items
|
|
133
|
-
- **AND** treat warnings as errors
|
|
134
|
-
- **AND** fail if any item has warnings or errors
|
|
135
|
-
|
|
136
|
-
#### Scenario: JSON output
|
|
137
|
-
|
|
138
|
-
- **WHEN** executing `openspec validate --all --json`
|
|
139
|
-
- **THEN** output validation results as JSON
|
|
140
|
-
- **AND** include detailed issues for each item
|
|
141
|
-
- **AND** include summary statistics
|
|
142
|
-
|
|
143
|
-
#### Scenario: JSON output schema for bulk validation
|
|
144
|
-
|
|
145
|
-
- **WHEN** executing `openspec validate --all --json` (or `--changes` / `--specs`)
|
|
146
|
-
- **THEN** output a JSON object with the following shape:
|
|
147
|
-
- `items`: Array of objects with fields `{ id: string, type: "change"|"spec", valid: boolean, issues: Issue[], durationMs: number }`
|
|
148
|
-
- `summary`: Object `{ totals: { items: number, passed: number, failed: number }, byType: { change?: { items: number, passed: number, failed: number }, spec?: { items: number, passed: number, failed: number } } }`
|
|
149
|
-
- `version`: String identifier for the schema (e.g., `"1.0"`)
|
|
150
|
-
- **AND** exit with code 1 if any `items[].valid === false`
|
|
151
|
-
|
|
152
|
-
Where `Issue` follows the existing per-item validation report shape `{ level: "ERROR"|"WARNING"|"INFO", path: string, message: string }`.
|
|
153
|
-
|
|
154
|
-
#### Scenario: Show validation progress
|
|
155
|
-
|
|
156
|
-
- **WHEN** validating multiple items (--all, --changes, or --specs)
|
|
157
|
-
- **THEN** show progress indicator or status updates
|
|
158
|
-
- **AND** indicate which item is currently being validated
|
|
159
|
-
- **AND** display running count of passed/failed items
|
|
160
|
-
|
|
161
|
-
#### Scenario: Concurrency limits for performance
|
|
162
|
-
|
|
163
|
-
- **WHEN** validating multiple items
|
|
164
|
-
- **THEN** run validations with a bounded concurrency (e.g., 4–8 in parallel)
|
|
165
|
-
- **AND** ensure progress indicators remain responsive
|
|
166
|
-
|
|
167
|
-
### Requirement: Item type detection and ambiguity handling
|
|
168
|
-
|
|
169
|
-
The validate command SHALL handle ambiguous names and explicit type overrides to ensure clear, deterministic behavior.
|
|
170
|
-
|
|
171
|
-
#### Scenario: Direct item validation with automatic type detection
|
|
172
|
-
|
|
173
|
-
- **WHEN** executing `openspec validate <item-name>`
|
|
174
|
-
- **THEN** if `<item-name>` uniquely matches a change or a spec, validate that item
|
|
175
|
-
|
|
176
|
-
#### Scenario: Ambiguity between change and spec names
|
|
177
|
-
|
|
178
|
-
- **GIVEN** `<item-name>` exists both as a change and as a spec
|
|
179
|
-
- **WHEN** executing `openspec validate <item-name>`
|
|
180
|
-
- **THEN** print an ambiguity error explaining both matches
|
|
181
|
-
- **AND** suggest passing `--type change` or `--type spec`, or using `openspec change validate` / `openspec spec validate`
|
|
182
|
-
- **AND** exit with code 1 without performing validation
|
|
183
|
-
|
|
184
|
-
#### Scenario: Unknown item name
|
|
185
|
-
|
|
186
|
-
- **WHEN** the `<item-name>` matches neither a change nor a spec
|
|
187
|
-
- **THEN** print a not-found error
|
|
188
|
-
- **AND** show nearest-match suggestions when available
|
|
189
|
-
- **AND** exit with code 1
|
|
190
|
-
|
|
191
|
-
#### Scenario: Explicit type override
|
|
192
|
-
|
|
193
|
-
- **WHEN** executing `openspec validate --type change <item>`
|
|
194
|
-
- **THEN** treat `<item>` as a change ID and validate it (skipping auto-detection)
|
|
195
|
-
|
|
196
|
-
- **WHEN** executing `openspec validate --type spec <item>`
|
|
197
|
-
- **THEN** treat `<item>` as a spec ID and validate it (skipping auto-detection)
|
|
198
|
-
|
|
199
|
-
### Requirement: Interactivity controls
|
|
200
|
-
|
|
201
|
-
- The CLI SHALL respect `--no-interactive` to disable prompts.
|
|
202
|
-
- The CLI SHALL respect `OPEN_SPEC_INTERACTIVE=0` to disable prompts globally.
|
|
203
|
-
- Interactive prompts SHALL only be shown when stdin is a TTY and interactivity is not disabled.
|
|
204
|
-
|
|
205
|
-
#### Scenario: Disabling prompts via flags or environment
|
|
206
|
-
|
|
207
|
-
- **WHEN** `openspec validate` is executed with `--no-interactive` or with environment `OPEN_SPEC_INTERACTIVE=0`
|
|
208
|
-
- **THEN** the CLI SHALL not display interactive prompts
|
|
209
|
-
- **AND** SHALL print non-interactive hints or chosen outputs as appropriate
|
|
210
|
-
|
|
211
|
-
### Requirement: Parser SHALL handle cross-platform line endings
|
|
212
|
-
The markdown parser SHALL correctly identify sections regardless of line ending format (LF, CRLF, CR).
|
|
213
|
-
|
|
214
|
-
#### Scenario: Required sections parsed with CRLF line endings
|
|
215
|
-
- **GIVEN** a change proposal markdown saved with CRLF line endings
|
|
216
|
-
- **AND** the document contains `## Why` and `## What Changes`
|
|
217
|
-
- **WHEN** running `openspec validate <change-id>`
|
|
218
|
-
- **THEN** validation SHALL recognize the sections and NOT raise parsing errors
|
|
219
|
-
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
# cli-view Specification
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
The `openspec view` command provides a comprehensive dashboard view of the OpenSpec project state, displaying specifications, changes, and progress metrics in a unified, visually appealing format to help developers quickly understand project status.
|
|
6
|
-
## Requirements
|
|
7
|
-
### Requirement: Dashboard Display
|
|
8
|
-
|
|
9
|
-
The system SHALL provide a `view` command that displays a dashboard overview of specs and changes.
|
|
10
|
-
|
|
11
|
-
#### Scenario: Basic dashboard display
|
|
12
|
-
|
|
13
|
-
- **WHEN** user runs `openspec view`
|
|
14
|
-
- **THEN** system displays a formatted dashboard with sections for summary, active changes, completed changes, and specifications
|
|
15
|
-
|
|
16
|
-
#### Scenario: No OpenSpec directory
|
|
17
|
-
|
|
18
|
-
- **WHEN** user runs `openspec view` in a directory without OpenSpec
|
|
19
|
-
- **THEN** system displays error message "✗ No openspec directory found"
|
|
20
|
-
|
|
21
|
-
### Requirement: Summary Section
|
|
22
|
-
|
|
23
|
-
The dashboard SHALL display a summary section with key project metrics, including draft change count.
|
|
24
|
-
|
|
25
|
-
#### Scenario: Complete summary display
|
|
26
|
-
|
|
27
|
-
- **WHEN** dashboard is rendered with specs and changes
|
|
28
|
-
- **THEN** system shows total number of specifications and requirements
|
|
29
|
-
- **AND** shows number of draft changes
|
|
30
|
-
- **AND** shows number of active changes in progress
|
|
31
|
-
- **AND** shows number of completed changes
|
|
32
|
-
- **AND** shows overall task progress percentage
|
|
33
|
-
|
|
34
|
-
#### Scenario: Empty project summary
|
|
35
|
-
|
|
36
|
-
- **WHEN** no specs or changes exist
|
|
37
|
-
- **THEN** summary shows zero counts for all metrics
|
|
38
|
-
|
|
39
|
-
### Requirement: Active Changes Display
|
|
40
|
-
The dashboard SHALL show active changes with visual progress indicators.
|
|
41
|
-
|
|
42
|
-
#### Scenario: Active changes ordered by completion percentage
|
|
43
|
-
- **WHEN** multiple active changes are displayed with progress information
|
|
44
|
-
- **THEN** list them sorted by completion percentage ascending so 0% items appear first
|
|
45
|
-
- **AND** treat missing progress values as 0% for ordering
|
|
46
|
-
- **AND** break ties by change identifier in ascending alphabetical order to keep output deterministic
|
|
47
|
-
|
|
48
|
-
### Requirement: Completed Changes Display
|
|
49
|
-
|
|
50
|
-
The dashboard SHALL list completed changes in a separate section, only showing changes with ALL tasks completed.
|
|
51
|
-
|
|
52
|
-
> **Fixes bug**: Previously, changes with `total === 0` were incorrectly shown as completed.
|
|
53
|
-
|
|
54
|
-
#### Scenario: Completed changes listing
|
|
55
|
-
|
|
56
|
-
- **WHEN** there are changes with `tasks.total > 0` AND `tasks.completed === tasks.total`
|
|
57
|
-
- **THEN** system shows them with checkmark indicators in a dedicated section
|
|
58
|
-
|
|
59
|
-
#### Scenario: Mixed completion states
|
|
60
|
-
|
|
61
|
-
- **WHEN** some changes are complete and others active
|
|
62
|
-
- **THEN** system separates them into appropriate sections
|
|
63
|
-
|
|
64
|
-
#### Scenario: Empty changes not completed
|
|
65
|
-
|
|
66
|
-
- **WHEN** a change has no tasks.md or zero tasks defined
|
|
67
|
-
- **THEN** system does NOT show it in "Completed Changes" section
|
|
68
|
-
- **AND** shows it in "Draft Changes" section instead
|
|
69
|
-
|
|
70
|
-
### Requirement: Specifications Display
|
|
71
|
-
|
|
72
|
-
The dashboard SHALL display specifications sorted by requirement count.
|
|
73
|
-
|
|
74
|
-
#### Scenario: Specs listing with counts
|
|
75
|
-
|
|
76
|
-
- **WHEN** specifications exist in the project
|
|
77
|
-
- **THEN** system shows specs sorted by requirement count (descending) with count labels
|
|
78
|
-
|
|
79
|
-
#### Scenario: Specs with parsing errors
|
|
80
|
-
|
|
81
|
-
- **WHEN** a spec file cannot be parsed
|
|
82
|
-
- **THEN** system includes it with 0 requirement count
|
|
83
|
-
|
|
84
|
-
### Requirement: Visual Formatting
|
|
85
|
-
|
|
86
|
-
The dashboard SHALL use consistent visual formatting with colors and symbols.
|
|
87
|
-
|
|
88
|
-
#### Scenario: Color coding
|
|
89
|
-
|
|
90
|
-
- **WHEN** dashboard elements are displayed
|
|
91
|
-
- **THEN** system uses cyan for specification items
|
|
92
|
-
- **AND** yellow for active changes
|
|
93
|
-
- **AND** green for completed items
|
|
94
|
-
- **AND** dim gray for supplementary text
|
|
95
|
-
|
|
96
|
-
#### Scenario: Progress bar rendering
|
|
97
|
-
|
|
98
|
-
- **WHEN** displaying progress bars
|
|
99
|
-
- **THEN** system uses filled blocks (█) for completed portions and light blocks (░) for remaining
|
|
100
|
-
|
|
101
|
-
### Requirement: Error Handling
|
|
102
|
-
|
|
103
|
-
The view command SHALL handle errors gracefully.
|
|
104
|
-
|
|
105
|
-
#### Scenario: File system errors
|
|
106
|
-
|
|
107
|
-
- **WHEN** file system operations fail
|
|
108
|
-
- **THEN** system continues with available data and omits inaccessible items
|
|
109
|
-
|
|
110
|
-
#### Scenario: Invalid data structures
|
|
111
|
-
|
|
112
|
-
- **WHEN** specs or changes have invalid format
|
|
113
|
-
- **THEN** system skips invalid items and continues rendering
|
|
114
|
-
|
|
115
|
-
### Requirement: Draft Changes Display
|
|
116
|
-
|
|
117
|
-
The dashboard SHALL display changes without tasks in a separate "Draft" section.
|
|
118
|
-
|
|
119
|
-
#### Scenario: Draft changes listing
|
|
120
|
-
|
|
121
|
-
- **WHEN** there are changes with no tasks.md or zero tasks defined
|
|
122
|
-
- **THEN** system shows them in a "Draft Changes" section
|
|
123
|
-
- **AND** uses a distinct indicator (e.g., `○`) to show draft status
|
|
124
|
-
|
|
125
|
-
#### Scenario: Draft section ordering
|
|
126
|
-
|
|
127
|
-
- **WHEN** multiple draft changes exist
|
|
128
|
-
- **THEN** system sorts them alphabetically by name
|
|
129
|
-
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# command-generation Specification
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Define tool-agnostic command content and adapter contracts for generating tool-specific OpenSpec command files.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
### Requirement: CommandContent interface
|
|
8
|
-
|
|
9
|
-
The system SHALL define a tool-agnostic `CommandContent` interface for command data.
|
|
10
|
-
|
|
11
|
-
#### Scenario: CommandContent structure
|
|
12
|
-
|
|
13
|
-
- **WHEN** defining a command to generate
|
|
14
|
-
- **THEN** `CommandContent` SHALL include:
|
|
15
|
-
- `id`: string identifier (e.g., 'explore', 'apply')
|
|
16
|
-
- `name`: human-readable name (e.g., 'OpenSpec Explore')
|
|
17
|
-
- `description`: brief description of command purpose
|
|
18
|
-
- `category`: grouping category (e.g., 'OpenSpec')
|
|
19
|
-
- `tags`: array of tag strings
|
|
20
|
-
- `body`: the command instruction content
|
|
21
|
-
|
|
22
|
-
### Requirement: ToolCommandAdapter interface
|
|
23
|
-
|
|
24
|
-
The system SHALL define a `ToolCommandAdapter` interface for per-tool formatting.
|
|
25
|
-
|
|
26
|
-
#### Scenario: Adapter interface structure
|
|
27
|
-
|
|
28
|
-
- **WHEN** implementing a tool adapter
|
|
29
|
-
- **THEN** `ToolCommandAdapter` SHALL require:
|
|
30
|
-
- `toolId`: string identifier matching `AIToolOption.value`
|
|
31
|
-
- `getFilePath(commandId: string)`: returns file path for command (relative from project root, or absolute for global-scoped tools like Codex)
|
|
32
|
-
- `formatFile(content: CommandContent)`: returns complete file content with frontmatter
|
|
33
|
-
|
|
34
|
-
#### Scenario: Claude adapter formatting
|
|
35
|
-
|
|
36
|
-
- **WHEN** formatting a command for Claude Code
|
|
37
|
-
- **THEN** the adapter SHALL output YAML frontmatter with `name`, `description`, `category`, `tags` fields
|
|
38
|
-
- **AND** file path SHALL follow pattern `.claude/commands/opsx/<id>.md`
|
|
39
|
-
|
|
40
|
-
#### Scenario: Cursor adapter formatting
|
|
41
|
-
|
|
42
|
-
- **WHEN** formatting a command for Cursor
|
|
43
|
-
- **THEN** the adapter SHALL output YAML frontmatter with `name` as `/opsx-<id>`, `id`, `category`, `description` fields
|
|
44
|
-
- **AND** file path SHALL follow pattern `.cursor/commands/opsx-<id>.md`
|
|
45
|
-
|
|
46
|
-
#### Scenario: Windsurf adapter formatting
|
|
47
|
-
|
|
48
|
-
- **WHEN** formatting a command for Windsurf
|
|
49
|
-
- **THEN** the adapter SHALL output YAML frontmatter with `name`, `description`, `category`, `tags` fields
|
|
50
|
-
- **AND** file path SHALL follow pattern `.windsurf/workflows/opsx-<id>.md`
|
|
51
|
-
|
|
52
|
-
### Requirement: Command generator function
|
|
53
|
-
|
|
54
|
-
The system SHALL provide a `generateCommand` function that combines content with adapter.
|
|
55
|
-
|
|
56
|
-
#### Scenario: Generate command file
|
|
57
|
-
|
|
58
|
-
- **WHEN** calling `generateCommand(content, adapter)`
|
|
59
|
-
- **THEN** it SHALL return an object with:
|
|
60
|
-
- `path`: the file path from `adapter.getFilePath(content.id)`
|
|
61
|
-
- `fileContent`: the formatted content from `adapter.formatFile(content)`
|
|
62
|
-
|
|
63
|
-
#### Scenario: Generate multiple commands
|
|
64
|
-
|
|
65
|
-
- **WHEN** generating all opsx commands for a tool
|
|
66
|
-
- **THEN** the system SHALL iterate over command contents and generate each using the tool's adapter
|
|
67
|
-
|
|
68
|
-
### Requirement: CommandAdapterRegistry
|
|
69
|
-
|
|
70
|
-
The system SHALL provide a registry for looking up tool adapters.
|
|
71
|
-
|
|
72
|
-
#### Scenario: Get adapter by tool ID
|
|
73
|
-
|
|
74
|
-
- **WHEN** calling `CommandAdapterRegistry.get('cursor')`
|
|
75
|
-
- **THEN** it SHALL return the Cursor adapter or undefined if not registered
|
|
76
|
-
|
|
77
|
-
#### Scenario: Get all adapters
|
|
78
|
-
|
|
79
|
-
- **WHEN** calling `CommandAdapterRegistry.getAll()`
|
|
80
|
-
- **THEN** it SHALL return array of all registered adapters
|
|
81
|
-
|
|
82
|
-
#### Scenario: Adapter not found
|
|
83
|
-
|
|
84
|
-
- **WHEN** looking up an adapter for unregistered tool
|
|
85
|
-
- **THEN** `CommandAdapterRegistry.get()` SHALL return undefined
|
|
86
|
-
- **AND** caller SHALL handle missing adapter appropriately
|
|
87
|
-
|
|
88
|
-
### Requirement: Shared command body content
|
|
89
|
-
|
|
90
|
-
The body content of commands SHALL be shared across all tools.
|
|
91
|
-
|
|
92
|
-
#### Scenario: Same instructions across tools
|
|
93
|
-
|
|
94
|
-
- **WHEN** generating the 'explore' command for Claude and Cursor
|
|
95
|
-
- **THEN** both SHALL use the same `body` content
|
|
96
|
-
- **AND** only the frontmatter and file path SHALL differ
|
|
97
|
-
|