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,300 +0,0 @@
|
|
|
1
|
-
# CLI Completion Specification
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
The `openspec completion` command SHALL provide shell completion functionality for all OpenSpec CLI commands, flags, and dynamic values (change IDs, spec IDs), with support for Zsh (including Oh My Zsh) and a scalable architecture ready for future shells (bash, fish, PowerShell). The completion system SHALL integrate with Zsh's native completion behavior rather than attempting to customize the user experience.
|
|
6
|
-
|
|
7
|
-
## ADDED Requirements
|
|
8
|
-
|
|
9
|
-
### Requirement: Native Shell Behavior Integration
|
|
10
|
-
|
|
11
|
-
The completion system SHALL respect and integrate with Zsh's native completion patterns and user interaction model.
|
|
12
|
-
|
|
13
|
-
#### Scenario: Zsh native completion
|
|
14
|
-
|
|
15
|
-
- **WHEN** generating Zsh completion scripts
|
|
16
|
-
- **THEN** use Zsh completion system with `_arguments`, `_describe`, and `compadd`
|
|
17
|
-
- **AND** completions SHALL trigger on single TAB (standard Zsh behavior)
|
|
18
|
-
- **AND** display as an interactive menu that users navigate with TAB/arrow keys
|
|
19
|
-
- **AND** support Oh My Zsh's enhanced menu styling automatically
|
|
20
|
-
|
|
21
|
-
#### Scenario: No custom UX patterns
|
|
22
|
-
|
|
23
|
-
- **WHEN** implementing Zsh completion
|
|
24
|
-
- **THEN** do NOT attempt to customize completion trigger behavior
|
|
25
|
-
- **AND** do NOT override Zsh-specific navigation patterns
|
|
26
|
-
- **AND** ensure completions feel native to experienced Zsh users
|
|
27
|
-
|
|
28
|
-
### Requirement: Command Structure
|
|
29
|
-
|
|
30
|
-
The completion command SHALL follow a subcommand pattern for generating and managing completion scripts.
|
|
31
|
-
|
|
32
|
-
#### Scenario: Available subcommands
|
|
33
|
-
|
|
34
|
-
- **WHEN** user executes `openspec completion --help`
|
|
35
|
-
- **THEN** display available subcommands:
|
|
36
|
-
- `zsh` - Generate Zsh completion script
|
|
37
|
-
- `install [shell]` - Install completion for Zsh (auto-detects or requires explicit shell)
|
|
38
|
-
- `uninstall [shell]` - Remove completion for Zsh (auto-detects or requires explicit shell)
|
|
39
|
-
|
|
40
|
-
### Requirement: Shell Detection
|
|
41
|
-
|
|
42
|
-
The completion system SHALL automatically detect the user's current shell environment.
|
|
43
|
-
|
|
44
|
-
#### Scenario: Detecting Zsh from environment
|
|
45
|
-
|
|
46
|
-
- **WHEN** no shell is explicitly specified
|
|
47
|
-
- **THEN** read the `$SHELL` environment variable
|
|
48
|
-
- **AND** extract the shell name from the path (e.g., `/bin/zsh` → `zsh`)
|
|
49
|
-
- **AND** validate the shell is `zsh`
|
|
50
|
-
- **AND** throw an error if the shell is not `zsh`, with message indicating only Zsh is currently supported
|
|
51
|
-
|
|
52
|
-
#### Scenario: Non-Zsh shell detection
|
|
53
|
-
|
|
54
|
-
- **WHEN** shell path indicates bash, fish, powershell, or other non-Zsh shell
|
|
55
|
-
- **THEN** throw error: "Shell '<name>' is not supported yet. Currently supported: zsh"
|
|
56
|
-
|
|
57
|
-
### Requirement: Completion Generation
|
|
58
|
-
|
|
59
|
-
The completion command SHALL generate Zsh completion scripts on demand.
|
|
60
|
-
|
|
61
|
-
#### Scenario: Generating Zsh completion
|
|
62
|
-
|
|
63
|
-
- **WHEN** user executes `openspec completion zsh`
|
|
64
|
-
- **THEN** output a complete Zsh completion script to stdout
|
|
65
|
-
- **AND** include completions for all commands: init, list, show, validate, archive, view, update, change, spec, completion
|
|
66
|
-
- **AND** include all command-specific flags and options
|
|
67
|
-
- **AND** use Zsh's `_arguments` and `_describe` built-in functions
|
|
68
|
-
- **AND** support dynamic completion for change and spec IDs
|
|
69
|
-
|
|
70
|
-
### Requirement: Dynamic Completions
|
|
71
|
-
|
|
72
|
-
The completion system SHALL provide context-aware dynamic completions for project-specific values.
|
|
73
|
-
|
|
74
|
-
#### Scenario: Completing change IDs
|
|
75
|
-
|
|
76
|
-
- **WHEN** completing arguments for commands that accept change names (show, validate, archive)
|
|
77
|
-
- **THEN** discover active changes from `openspec/changes/` directory
|
|
78
|
-
- **AND** exclude archived changes in `openspec/changes/archive/`
|
|
79
|
-
- **AND** return change IDs as completion suggestions
|
|
80
|
-
- **AND** only provide suggestions when inside an OpenSpec-enabled project
|
|
81
|
-
|
|
82
|
-
#### Scenario: Completing spec IDs
|
|
83
|
-
|
|
84
|
-
- **WHEN** completing arguments for commands that accept spec names (show, validate)
|
|
85
|
-
- **THEN** discover specs from `openspec/specs/` directory
|
|
86
|
-
- **AND** return spec IDs as completion suggestions
|
|
87
|
-
- **AND** only provide suggestions when inside an OpenSpec-enabled project
|
|
88
|
-
|
|
89
|
-
#### Scenario: Completion caching
|
|
90
|
-
|
|
91
|
-
- **WHEN** dynamic completions are requested
|
|
92
|
-
- **THEN** cache discovered change and spec IDs for 2 seconds
|
|
93
|
-
- **AND** reuse cached values for subsequent requests within cache window
|
|
94
|
-
- **AND** automatically refresh cache after expiration
|
|
95
|
-
|
|
96
|
-
#### Scenario: Project detection
|
|
97
|
-
|
|
98
|
-
- **WHEN** user requests completions outside an OpenSpec project
|
|
99
|
-
- **THEN** skip dynamic change/spec ID completions
|
|
100
|
-
- **AND** only suggest static commands and flags
|
|
101
|
-
|
|
102
|
-
### Requirement: Installation Automation
|
|
103
|
-
|
|
104
|
-
The completion command SHALL automatically install completion scripts into shell configuration files.
|
|
105
|
-
|
|
106
|
-
#### Scenario: Installing for Oh My Zsh
|
|
107
|
-
|
|
108
|
-
- **WHEN** user executes `openspec completion install zsh`
|
|
109
|
-
- **THEN** detect if Oh My Zsh is installed by checking for `$ZSH` environment variable or `~/.oh-my-zsh/` directory
|
|
110
|
-
- **AND** create custom completions directory at `~/.oh-my-zsh/custom/completions/` if it doesn't exist
|
|
111
|
-
- **AND** write completion script to `~/.oh-my-zsh/custom/completions/_openspec`
|
|
112
|
-
- **AND** ensure `~/.oh-my-zsh/custom/completions` is in `$fpath` by updating `~/.zshrc` if needed
|
|
113
|
-
- **AND** display success message with instruction to run `exec zsh` or restart terminal
|
|
114
|
-
|
|
115
|
-
#### Scenario: Installing for standard Zsh
|
|
116
|
-
|
|
117
|
-
- **WHEN** user executes `openspec completion install zsh` and Oh My Zsh is not detected
|
|
118
|
-
- **THEN** create completions directory at `~/.zsh/completions/` if it doesn't exist
|
|
119
|
-
- **AND** write completion script to `~/.zsh/completions/_openspec`
|
|
120
|
-
- **AND** add `fpath=(~/.zsh/completions $fpath)` to `~/.zshrc` if not already present
|
|
121
|
-
- **AND** add `autoload -Uz compinit && compinit` to `~/.zshrc` if not already present
|
|
122
|
-
- **AND** display success message with instruction to run `exec zsh` or restart terminal
|
|
123
|
-
|
|
124
|
-
#### Scenario: Auto-detecting Zsh for installation
|
|
125
|
-
|
|
126
|
-
- **WHEN** user executes `openspec completion install` without specifying a shell
|
|
127
|
-
- **THEN** detect current shell using shell detection logic
|
|
128
|
-
- **AND** install completion if detected shell is Zsh
|
|
129
|
-
- **AND** throw error if detected shell is not Zsh
|
|
130
|
-
- **AND** display which shell was detected
|
|
131
|
-
|
|
132
|
-
#### Scenario: Already installed
|
|
133
|
-
|
|
134
|
-
- **WHEN** completion is already installed for the target shell
|
|
135
|
-
- **THEN** display message indicating completion is already installed
|
|
136
|
-
- **AND** offer to reinstall/update by overwriting existing files
|
|
137
|
-
- **AND** exit with code 0
|
|
138
|
-
|
|
139
|
-
### Requirement: Uninstallation
|
|
140
|
-
|
|
141
|
-
The completion command SHALL remove installed completion scripts and configuration.
|
|
142
|
-
|
|
143
|
-
#### Scenario: Uninstalling Oh My Zsh completion
|
|
144
|
-
|
|
145
|
-
- **WHEN** user executes `openspec completion uninstall zsh`
|
|
146
|
-
- **THEN** remove `~/.oh-my-zsh/custom/completions/_openspec` if Oh My Zsh is detected
|
|
147
|
-
- **AND** remove `~/.zsh/completions/_openspec` if standard Zsh setup is detected
|
|
148
|
-
- **AND** optionally remove fpath modifications from `~/.zshrc` (with confirmation)
|
|
149
|
-
- **AND** display success message
|
|
150
|
-
|
|
151
|
-
#### Scenario: Auto-detecting Zsh for uninstallation
|
|
152
|
-
|
|
153
|
-
- **WHEN** user executes `openspec completion uninstall` without specifying a shell
|
|
154
|
-
- **THEN** detect current shell and uninstall completion if shell is Zsh
|
|
155
|
-
- **AND** throw error if detected shell is not Zsh
|
|
156
|
-
|
|
157
|
-
#### Scenario: Not installed
|
|
158
|
-
|
|
159
|
-
- **WHEN** attempting to uninstall completion that isn't installed
|
|
160
|
-
- **THEN** display message indicating completion is not installed
|
|
161
|
-
- **AND** exit with code 0
|
|
162
|
-
|
|
163
|
-
### Requirement: Architecture Patterns
|
|
164
|
-
|
|
165
|
-
The completion implementation SHALL follow clean architecture principles with TypeScript best practices.
|
|
166
|
-
|
|
167
|
-
#### Scenario: Shell-specific generators
|
|
168
|
-
|
|
169
|
-
- **WHEN** implementing completion generators
|
|
170
|
-
- **THEN** create `ZshCompletionGenerator` class for Zsh
|
|
171
|
-
- **AND** implement a common `CompletionGenerator` interface with methods:
|
|
172
|
-
- `generate(): string` - Returns complete shell script
|
|
173
|
-
- `getInstallPath(): string` - Returns target installation path
|
|
174
|
-
- `getConfigFile(): string` - Returns shell configuration file path
|
|
175
|
-
- **AND** design interface to be extensible for future shells (bash, fish, powershell)
|
|
176
|
-
|
|
177
|
-
#### Scenario: Dynamic completion providers
|
|
178
|
-
|
|
179
|
-
- **WHEN** implementing dynamic completions
|
|
180
|
-
- **THEN** create a `CompletionProvider` class that encapsulates project discovery logic
|
|
181
|
-
- **AND** implement methods:
|
|
182
|
-
- `getChangeIds(): Promise<string[]>` - Discovers active change IDs
|
|
183
|
-
- `getSpecIds(): Promise<string[]>` - Discovers spec IDs
|
|
184
|
-
- `isOpenSpecProject(): boolean` - Checks if current directory is OpenSpec-enabled
|
|
185
|
-
- **AND** implement caching with 2-second TTL using class properties
|
|
186
|
-
|
|
187
|
-
#### Scenario: Command registry
|
|
188
|
-
|
|
189
|
-
- **WHEN** defining completable commands
|
|
190
|
-
- **THEN** create a centralized `CommandDefinition` type with properties:
|
|
191
|
-
- `name: string` - Command name
|
|
192
|
-
- `description: string` - Help text
|
|
193
|
-
- `flags: FlagDefinition[]` - Available flags
|
|
194
|
-
- `acceptsChangeId: boolean` - Whether command takes change ID argument
|
|
195
|
-
- `acceptsSpecId: boolean` - Whether command takes spec ID argument
|
|
196
|
-
- `subcommands?: CommandDefinition[]` - Nested subcommands
|
|
197
|
-
- **AND** export a `COMMAND_REGISTRY` constant with all command definitions
|
|
198
|
-
- **AND** generators consume this registry to ensure consistency
|
|
199
|
-
|
|
200
|
-
#### Scenario: Type-safe shell detection
|
|
201
|
-
|
|
202
|
-
- **WHEN** implementing shell detection
|
|
203
|
-
- **THEN** define a `SupportedShell` type as literal type: `'zsh'`
|
|
204
|
-
- **AND** implement `detectShell()` function that returns 'zsh' or throws error
|
|
205
|
-
- **AND** design type to be extensible (e.g., future: `'bash' | 'zsh' | 'fish' | 'powershell'`)
|
|
206
|
-
|
|
207
|
-
### Requirement: Error Handling
|
|
208
|
-
|
|
209
|
-
The completion command SHALL provide clear error messages for common failure scenarios.
|
|
210
|
-
|
|
211
|
-
#### Scenario: Unsupported shell
|
|
212
|
-
|
|
213
|
-
- **WHEN** user requests completion for unsupported shell (bash, fish, powershell, etc.)
|
|
214
|
-
- **THEN** display error message: "Shell '<name>' is not supported yet. Currently supported: zsh"
|
|
215
|
-
- **AND** exit with code 1
|
|
216
|
-
|
|
217
|
-
#### Scenario: Permission errors during installation
|
|
218
|
-
|
|
219
|
-
- **WHEN** installation fails due to file permission issues
|
|
220
|
-
- **THEN** display clear error message indicating permission problem
|
|
221
|
-
- **AND** suggest using appropriate permissions or alternative installation method
|
|
222
|
-
- **AND** exit with code 1
|
|
223
|
-
|
|
224
|
-
#### Scenario: Missing shell configuration directory
|
|
225
|
-
|
|
226
|
-
- **WHEN** expected shell configuration directory doesn't exist
|
|
227
|
-
- **THEN** create the directory automatically (with user notification)
|
|
228
|
-
- **AND** proceed with installation
|
|
229
|
-
|
|
230
|
-
#### Scenario: Shell not detected
|
|
231
|
-
|
|
232
|
-
- **WHEN** `openspec completion install` cannot detect current shell or detects non-Zsh shell
|
|
233
|
-
- **THEN** display error: "Could not detect Zsh. Please specify explicitly: openspec completion install zsh"
|
|
234
|
-
- **AND** exit with code 1
|
|
235
|
-
|
|
236
|
-
### Requirement: Output Format
|
|
237
|
-
|
|
238
|
-
The completion command SHALL provide machine-parseable and human-readable output.
|
|
239
|
-
|
|
240
|
-
#### Scenario: Script generation output
|
|
241
|
-
|
|
242
|
-
- **WHEN** generating completion script to stdout
|
|
243
|
-
- **THEN** output only the completion script content (no extra messages)
|
|
244
|
-
- **AND** allow redirection to files: `openspec completion zsh > /path/to/_openspec`
|
|
245
|
-
|
|
246
|
-
#### Scenario: Installation success output
|
|
247
|
-
|
|
248
|
-
- **WHEN** installation completes successfully
|
|
249
|
-
- **THEN** display formatted success message with:
|
|
250
|
-
- Checkmark indicator
|
|
251
|
-
- Installation location
|
|
252
|
-
- Next steps (shell reload instructions)
|
|
253
|
-
- **AND** use colors when terminal supports it (unless `--no-color` is set)
|
|
254
|
-
|
|
255
|
-
#### Scenario: Verbose installation output
|
|
256
|
-
|
|
257
|
-
- **WHEN** user provides `--verbose` flag during installation
|
|
258
|
-
- **THEN** display detailed steps:
|
|
259
|
-
- Shell detection result
|
|
260
|
-
- Target file paths
|
|
261
|
-
- Configuration modifications
|
|
262
|
-
- File creation confirmations
|
|
263
|
-
|
|
264
|
-
### Requirement: Testing Support
|
|
265
|
-
|
|
266
|
-
The completion implementation SHALL be testable with unit and integration tests.
|
|
267
|
-
|
|
268
|
-
#### Scenario: Mock shell environment
|
|
269
|
-
|
|
270
|
-
- **WHEN** writing tests for shell detection
|
|
271
|
-
- **THEN** allow overriding `$SHELL` environment variable
|
|
272
|
-
- **AND** use dependency injection for file system operations
|
|
273
|
-
|
|
274
|
-
#### Scenario: Generator output verification
|
|
275
|
-
|
|
276
|
-
- **WHEN** testing completion generators
|
|
277
|
-
- **THEN** verify generated scripts contain expected patterns
|
|
278
|
-
- **AND** test that command registry is properly consumed
|
|
279
|
-
- **AND** ensure dynamic completion placeholders are present
|
|
280
|
-
|
|
281
|
-
#### Scenario: Installation simulation
|
|
282
|
-
|
|
283
|
-
- **WHEN** testing installation logic
|
|
284
|
-
- **THEN** use temporary test directories instead of actual home directories
|
|
285
|
-
- **AND** verify file creation without modifying real shell configurations
|
|
286
|
-
- **AND** test path resolution logic independently
|
|
287
|
-
|
|
288
|
-
## Not in Scope
|
|
289
|
-
|
|
290
|
-
The following shells are **architecturally documented but not implemented** in this proposal. They will be added in future proposals:
|
|
291
|
-
|
|
292
|
-
- **Bash completion** - Will use bash-completion framework with `_init_completion`, `compgen`, and `COMPREPLY`
|
|
293
|
-
- **Fish completion** - Will use Fish's declarative `complete -c` syntax
|
|
294
|
-
- **PowerShell completion** - Will use `Register-ArgumentCompleter` with completion result objects
|
|
295
|
-
|
|
296
|
-
The plugin-based architecture (CompletionGenerator interface, command registry, dynamic providers) is designed to make adding these shells straightforward in follow-up changes.
|
|
297
|
-
|
|
298
|
-
## Why
|
|
299
|
-
|
|
300
|
-
Shell completions are essential for professional CLI tools and significantly improve developer experience by reducing friction, errors, and cognitive load during daily workflows.
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Implementation Tasks
|
|
2
|
-
|
|
3
|
-
## Phase 1: Foundation & Architecture
|
|
4
|
-
|
|
5
|
-
- [x] Create `src/utils/shell-detection.ts` with `SupportedShell` type and `detectShell()` function
|
|
6
|
-
- [x] Create `src/core/completions/types.ts` with interfaces: `CompletionGenerator`, `CommandDefinition`, `FlagDefinition`
|
|
7
|
-
- [x] Create `src/core/completions/command-registry.ts` with `COMMAND_REGISTRY` constant defining all OpenSpec commands, flags, and metadata
|
|
8
|
-
- [x] Create `src/core/completions/completion-provider.ts` with `CompletionProvider` class for dynamic change/spec ID discovery with 2-second caching
|
|
9
|
-
- [x] Write tests for shell detection (`test/utils/shell-detection.test.ts`)
|
|
10
|
-
- [x] Write tests for completion provider (`test/core/completions/completion-provider.test.ts`)
|
|
11
|
-
|
|
12
|
-
## Phase 2: Zsh Completion (Oh My Zsh Priority)
|
|
13
|
-
|
|
14
|
-
- [x] Create `src/core/completions/generators/zsh-generator.ts` implementing `CompletionGenerator` interface
|
|
15
|
-
- [x] Implement Zsh script generation using `_arguments` and `_describe` patterns
|
|
16
|
-
- [x] Add dynamic completion logic for change/spec IDs using completion provider
|
|
17
|
-
- [x] Test Zsh generator output (`test/core/completions/generators/zsh-generator.test.ts`)
|
|
18
|
-
- [x] Create `src/core/completions/installers/zsh-installer.ts` with Oh My Zsh and standard Zsh support
|
|
19
|
-
- [x] Implement Oh My Zsh detection (`$ZSH` env var or `~/.oh-my-zsh/` directory)
|
|
20
|
-
- [x] Implement installation to `~/.oh-my-zsh/custom/completions/_openspec` for Oh My Zsh
|
|
21
|
-
- [x] Implement fallback installation to `~/.zsh/completions/_openspec` with `fpath` updates
|
|
22
|
-
- [x] Test Zsh installer logic with mocked file system (`test/core/completions/installers/zsh-installer.test.ts`)
|
|
23
|
-
|
|
24
|
-
## Phase 3: CLI Command Implementation
|
|
25
|
-
|
|
26
|
-
- [x] Create `src/commands/completion.ts` with `CompletionCommand` class
|
|
27
|
-
- [x] Register `completion` command in `src/cli/index.ts` with subcommands: generate, install, uninstall
|
|
28
|
-
- [x] Implement `generateSubcommand()` that outputs Zsh script to stdout
|
|
29
|
-
- [x] Implement `installSubcommand(shell?: 'zsh')` with auto-detection for Zsh-only
|
|
30
|
-
- [x] Implement `uninstallSubcommand(shell?: 'zsh')` for removing Zsh completions
|
|
31
|
-
- [x] Add `--verbose` flag support for detailed installation output
|
|
32
|
-
- [x] Add error handling with clear messages: "Shell '<name>' is not supported yet. Currently supported: zsh"
|
|
33
|
-
- [x] Test completion command integration (`test/commands/completion.test.ts`)
|
|
34
|
-
|
|
35
|
-
## Phase 4: Integration & Polish
|
|
36
|
-
|
|
37
|
-
- [x] Create factory pattern in `src/core/completions/factory.ts` to instantiate Zsh generator/installer (extensible for future shells)
|
|
38
|
-
- [x] Add `completion` command to command registry for self-referential completion
|
|
39
|
-
- [x] Implement dynamic completion helper functions in Zsh generator (`_openspec_complete_changes`, `_openspec_complete_specs`, `_openspec_complete_items`)
|
|
40
|
-
- [x] Add 'shell' positional type for completion command arguments
|
|
41
|
-
- [x] Test completion generation with dynamic helpers
|
|
42
|
-
- [x] Test completion install/uninstall flow
|
|
43
|
-
- [x] Verify all tests pass (97 completion tests, 340 total tests)
|
|
44
|
-
- [x] Implement auto-install via npm postinstall script
|
|
45
|
-
- [x] Add safety checks (CI detection, opt-out flag)
|
|
46
|
-
- [x] Handle Oh My Zsh vs standard Zsh installation paths
|
|
47
|
-
- [x] Add test script for postinstall validation
|
|
48
|
-
- [x] Document auto-install behavior and opt-out in README
|
|
49
|
-
- [ ] Manually test Zsh completion in Oh My Zsh environment (install, test tab completion, uninstall)
|
|
50
|
-
- [ ] Manually test Zsh completion in standard Zsh environment
|
|
51
|
-
- [ ] Test dynamic change/spec ID completion in real OpenSpec projects
|
|
52
|
-
- [ ] Verify completion cache behavior (2-second TTL)
|
|
53
|
-
- [ ] Test behavior outside OpenSpec projects (should skip dynamic completions)
|
|
54
|
-
- [x] Update `openspec --help` output to include completion command (automatically done via Commander)
|
|
55
|
-
|
|
56
|
-
## Phase 5: Edge Cases & Error Handling
|
|
57
|
-
|
|
58
|
-
- [ ] Test and handle permission errors during installation
|
|
59
|
-
- [ ] Test and handle missing shell configuration directories (auto-create with notification)
|
|
60
|
-
- [ ] Test "already installed" detection and reinstall flow
|
|
61
|
-
- [ ] Test "not installed" detection during uninstall
|
|
62
|
-
- [ ] Verify `--no-color` flag is respected in completion command output
|
|
63
|
-
- [ ] Test shell detection failure scenarios with helpful error messages
|
|
64
|
-
- [ ] Ensure graceful handling when `$SHELL` is unset or invalid
|
|
65
|
-
- [ ] Test non-Zsh shells get clear "not supported yet" error messages
|
|
66
|
-
- [ ] Test generator output can be redirected to files without corruption
|
|
67
|
-
|
|
68
|
-
## Dependencies
|
|
69
|
-
|
|
70
|
-
- Phase 2 depends on Phase 1 (foundation must exist first)
|
|
71
|
-
- Phase 3 depends on Phase 2 (CLI needs Zsh generator working)
|
|
72
|
-
- Phase 4 depends on Phase 3 (integration requires CLI + Zsh implementation)
|
|
73
|
-
- Phase 5 depends on Phase 4 (edge case testing after core functionality works)
|
|
74
|
-
|
|
75
|
-
## Future Work (Not in This Proposal)
|
|
76
|
-
|
|
77
|
-
- **Bash completions** - Create bash-generator.ts and bash-installer.ts in follow-up proposal
|
|
78
|
-
- **Fish completions** - Create fish-generator.ts and fish-installer.ts in follow-up proposal
|
|
79
|
-
- **PowerShell completions** - Create powershell-generator.ts and powershell-installer.ts in follow-up proposal
|
|
80
|
-
|
|
81
|
-
The architecture is designed to make adding these shells straightforward by implementing the `CompletionGenerator` interface.
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
## Context
|
|
2
|
-
|
|
3
|
-
OpenSpec needs a standard location for user-level configuration that works across platforms and follows established conventions. This will serve as the foundation for settings, feature flags, and future artifacts like workflows or templates.
|
|
4
|
-
|
|
5
|
-
## Goals / Non-Goals
|
|
6
|
-
|
|
7
|
-
**Goals:**
|
|
8
|
-
- Provide a single, well-defined location for global config
|
|
9
|
-
- Follow XDG Base Directory Specification (widely adopted by CLI tools)
|
|
10
|
-
- Support cross-platform usage (Unix, macOS, Windows)
|
|
11
|
-
- Keep implementation minimal - just the foundation
|
|
12
|
-
- Enable future expansion (cache, state, workflows)
|
|
13
|
-
|
|
14
|
-
**Non-Goals:**
|
|
15
|
-
- Project-local config override (not in scope)
|
|
16
|
-
- Config file migration tooling
|
|
17
|
-
- Config validation CLI commands
|
|
18
|
-
- Multiple config profiles
|
|
19
|
-
|
|
20
|
-
## Decisions
|
|
21
|
-
|
|
22
|
-
### Path Resolution Strategy
|
|
23
|
-
|
|
24
|
-
**Decision:** Use XDG Base Directory Specification with platform fallbacks.
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
Unix/macOS: $XDG_CONFIG_HOME/openspec/ or ~/.config/openspec/
|
|
28
|
-
Windows: %APPDATA%/openspec/
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
**Rationale:**
|
|
32
|
-
- XDG is the de facto standard for CLI tools (used by gh, bat, ripgrep, etc.)
|
|
33
|
-
- Environment variable override allows user customization
|
|
34
|
-
- Windows uses its native convention (%APPDATA%) for better integration
|
|
35
|
-
|
|
36
|
-
**Alternatives considered:**
|
|
37
|
-
- `~/.openspec/` - Simple but clutters home directory
|
|
38
|
-
- `~/Library/Application Support/` on macOS - Overkill for a CLI tool
|
|
39
|
-
|
|
40
|
-
### Config File Format
|
|
41
|
-
|
|
42
|
-
**Decision:** JSON (`config.json`)
|
|
43
|
-
|
|
44
|
-
**Rationale:**
|
|
45
|
-
- Native Node.js support (no dependencies)
|
|
46
|
-
- Human-readable and editable
|
|
47
|
-
- Type-safe with TypeScript
|
|
48
|
-
- Matches project.md's "minimal dependencies" principle
|
|
49
|
-
|
|
50
|
-
**Alternatives considered:**
|
|
51
|
-
- YAML - Requires dependency, more error-prone to edit
|
|
52
|
-
- TOML - Less common in Node.js ecosystem
|
|
53
|
-
- Environment variables only - Too limited for structured settings
|
|
54
|
-
|
|
55
|
-
### Config Schema
|
|
56
|
-
|
|
57
|
-
**Decision:** Flat structure with typed fields, start minimal.
|
|
58
|
-
|
|
59
|
-
```typescript
|
|
60
|
-
interface GlobalConfig {
|
|
61
|
-
featureFlags?: Record<string, boolean>;
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**Rationale:**
|
|
66
|
-
- `featureFlags` enables controlled rollout of new features
|
|
67
|
-
- Optional fields with defaults avoid breaking changes
|
|
68
|
-
- Flat structure is easy to understand and extend
|
|
69
|
-
|
|
70
|
-
### Loading Strategy
|
|
71
|
-
|
|
72
|
-
**Decision:** Read from disk on each call, no caching.
|
|
73
|
-
|
|
74
|
-
```typescript
|
|
75
|
-
export function getGlobalConfig(): GlobalConfig {
|
|
76
|
-
return loadConfigFromDisk();
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**Rationale:**
|
|
81
|
-
- CLI commands are short-lived; caching adds complexity without benefit
|
|
82
|
-
- Reading a small JSON file is ~1ms; negligible overhead
|
|
83
|
-
- Always returns fresh data; no cache invalidation concerns
|
|
84
|
-
- Simpler implementation
|
|
85
|
-
|
|
86
|
-
### Directory Creation
|
|
87
|
-
|
|
88
|
-
**Decision:** Create directory only when saving, not when reading.
|
|
89
|
-
|
|
90
|
-
**Rationale:**
|
|
91
|
-
- Don't create empty directories on read operations
|
|
92
|
-
- Users who never save config won't have unnecessary directories
|
|
93
|
-
- Aligns with principle of least surprise
|
|
94
|
-
|
|
95
|
-
## Risks / Trade-offs
|
|
96
|
-
|
|
97
|
-
| Risk | Mitigation |
|
|
98
|
-
|------|------------|
|
|
99
|
-
| Config file corruption | Return defaults on parse error, log warning |
|
|
100
|
-
| Permissions issues | Check write permissions before save, clear error message |
|
|
101
|
-
| Future schema changes | Use optional fields, add version field if needed later |
|
|
102
|
-
|
|
103
|
-
## Open Questions
|
|
104
|
-
|
|
105
|
-
None - this proposal is intentionally minimal.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
## Why
|
|
2
|
-
|
|
3
|
-
OpenSpec currently has no mechanism for user-level global settings or feature flags. As the CLI grows, we need a standard location to store user preferences, experimental features, and other configuration that persists across projects. Following XDG Base Directory Specification provides a well-understood, cross-platform approach.
|
|
4
|
-
|
|
5
|
-
## What Changes
|
|
6
|
-
|
|
7
|
-
- Add new `src/core/global-config.ts` module with:
|
|
8
|
-
- Path resolution following XDG Base Directory spec (`$XDG_CONFIG_HOME/openspec/` or fallback)
|
|
9
|
-
- Cross-platform support (Unix, macOS, Windows)
|
|
10
|
-
- Lazy config loading with sensible defaults
|
|
11
|
-
- TypeScript types for config shape
|
|
12
|
-
- Export a global config directory path getter for future use (workflows, templates, cache)
|
|
13
|
-
- Initial config schema supports 1-2 settings/feature flags only
|
|
14
|
-
|
|
15
|
-
## Impact
|
|
16
|
-
|
|
17
|
-
- Affected specs: New `global-config` capability (no existing specs modified)
|
|
18
|
-
- Affected code:
|
|
19
|
-
- New `src/core/global-config.ts`
|
|
20
|
-
- Update `src/core/index.ts` to export new module
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
## ADDED Requirements
|
|
2
|
-
|
|
3
|
-
### Requirement: Global Config Directory Path
|
|
4
|
-
|
|
5
|
-
The system SHALL resolve the global configuration directory path following XDG Base Directory Specification with platform-specific fallbacks.
|
|
6
|
-
|
|
7
|
-
#### Scenario: Unix/macOS with XDG_CONFIG_HOME set
|
|
8
|
-
- **WHEN** `$XDG_CONFIG_HOME` environment variable is set to `/custom/config`
|
|
9
|
-
- **THEN** `getGlobalConfigDir()` returns `/custom/config/openspec`
|
|
10
|
-
|
|
11
|
-
#### Scenario: Unix/macOS without XDG_CONFIG_HOME
|
|
12
|
-
- **WHEN** `$XDG_CONFIG_HOME` environment variable is not set
|
|
13
|
-
- **AND** the platform is Unix or macOS
|
|
14
|
-
- **THEN** `getGlobalConfigDir()` returns `~/.config/openspec` (expanded to absolute path)
|
|
15
|
-
|
|
16
|
-
#### Scenario: Windows platform
|
|
17
|
-
- **WHEN** the platform is Windows
|
|
18
|
-
- **AND** `%APPDATA%` is set to `C:\Users\User\AppData\Roaming`
|
|
19
|
-
- **THEN** `getGlobalConfigDir()` returns `C:\Users\User\AppData\Roaming\openspec`
|
|
20
|
-
|
|
21
|
-
### Requirement: Global Config Loading
|
|
22
|
-
|
|
23
|
-
The system SHALL load global configuration from the config directory with sensible defaults when the config file does not exist or cannot be parsed.
|
|
24
|
-
|
|
25
|
-
#### Scenario: Config file exists and is valid
|
|
26
|
-
- **WHEN** `config.json` exists in the global config directory
|
|
27
|
-
- **AND** the file contains valid JSON matching the config schema
|
|
28
|
-
- **THEN** `getGlobalConfig()` returns the parsed configuration
|
|
29
|
-
|
|
30
|
-
#### Scenario: Config file does not exist
|
|
31
|
-
- **WHEN** `config.json` does not exist in the global config directory
|
|
32
|
-
- **THEN** `getGlobalConfig()` returns the default configuration
|
|
33
|
-
- **AND** no directory or file is created
|
|
34
|
-
|
|
35
|
-
#### Scenario: Config file is invalid JSON
|
|
36
|
-
- **WHEN** `config.json` exists but contains invalid JSON
|
|
37
|
-
- **THEN** `getGlobalConfig()` returns the default configuration
|
|
38
|
-
- **AND** a warning is logged to stderr
|
|
39
|
-
|
|
40
|
-
### Requirement: Global Config Saving
|
|
41
|
-
|
|
42
|
-
The system SHALL save global configuration to the config directory, creating the directory if it does not exist.
|
|
43
|
-
|
|
44
|
-
#### Scenario: Save config to new directory
|
|
45
|
-
- **WHEN** `saveGlobalConfig(config)` is called
|
|
46
|
-
- **AND** the global config directory does not exist
|
|
47
|
-
- **THEN** the directory is created
|
|
48
|
-
- **AND** `config.json` is written with the provided configuration
|
|
49
|
-
|
|
50
|
-
#### Scenario: Save config to existing directory
|
|
51
|
-
- **WHEN** `saveGlobalConfig(config)` is called
|
|
52
|
-
- **AND** the global config directory already exists
|
|
53
|
-
- **THEN** `config.json` is written (overwriting if exists)
|
|
54
|
-
|
|
55
|
-
### Requirement: Default Configuration
|
|
56
|
-
|
|
57
|
-
The system SHALL provide a default configuration that is used when no config file exists.
|
|
58
|
-
|
|
59
|
-
#### Scenario: Default config structure
|
|
60
|
-
- **WHEN** no config file exists
|
|
61
|
-
- **THEN** the default configuration includes an empty `featureFlags` object
|
|
62
|
-
|
|
63
|
-
### Requirement: Config Schema Evolution
|
|
64
|
-
|
|
65
|
-
The system SHALL merge loaded configuration with default values to ensure new config fields are available even when loading older config files.
|
|
66
|
-
|
|
67
|
-
#### Scenario: Config file missing new fields
|
|
68
|
-
- **WHEN** `config.json` exists with `{ "featureFlags": {} }`
|
|
69
|
-
- **AND** the current schema includes a new field `defaultAiTool`
|
|
70
|
-
- **THEN** `getGlobalConfig()` returns `{ featureFlags: {}, defaultAiTool: <default> }`
|
|
71
|
-
- **AND** the loaded values take precedence over defaults for fields that exist in both
|
|
72
|
-
|
|
73
|
-
#### Scenario: Config file has extra unknown fields
|
|
74
|
-
- **WHEN** `config.json` contains fields not in the current schema
|
|
75
|
-
- **THEN** the unknown fields are preserved in the returned configuration
|
|
76
|
-
- **AND** no error or warning is raised
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
## 1. Core Implementation
|
|
2
|
-
|
|
3
|
-
- [x] 1.1 Create `src/core/global-config.ts` with path resolution
|
|
4
|
-
- Implement `getGlobalConfigDir()` following XDG spec
|
|
5
|
-
- Support `$XDG_CONFIG_HOME` environment variable override
|
|
6
|
-
- Platform-specific fallbacks (Unix: `~/.config/`, Windows: `%APPDATA%`)
|
|
7
|
-
- [x] 1.2 Define TypeScript interfaces for config shape
|
|
8
|
-
- `GlobalConfig` interface with optional fields
|
|
9
|
-
- Start minimal: just `featureFlags?: Record<string, boolean>`
|
|
10
|
-
- [x] 1.3 Implement config loading with defaults
|
|
11
|
-
- `getGlobalConfig()` - reads config.json if exists, merges with defaults
|
|
12
|
-
- No directory/file creation on read (lazy initialization)
|
|
13
|
-
- [x] 1.4 Implement config saving
|
|
14
|
-
- `saveGlobalConfig(config)` - writes config.json, creates directory if needed
|
|
15
|
-
|
|
16
|
-
## 2. Integration
|
|
17
|
-
|
|
18
|
-
- [x] 2.1 Export new module from `src/core/index.ts`
|
|
19
|
-
- [x] 2.2 Add constants for config file name and directory name
|
|
20
|
-
|
|
21
|
-
## 3. Testing
|
|
22
|
-
|
|
23
|
-
- [x] 3.1 Manual testing of path resolution on current platform
|
|
24
|
-
- [x] 3.2 Test with/without `$XDG_CONFIG_HOME` set
|
|
25
|
-
- [x] 3.3 Test config load when file doesn't exist (should return defaults)
|
|
26
|
-
- [x] 3.4 Unit tests in `test/core/global-config.test.ts` (18 tests)
|