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,119 +0,0 @@
|
|
|
1
|
-
# Spec: Config Loading
|
|
2
|
-
|
|
3
|
-
## ADDED Requirements
|
|
4
|
-
|
|
5
|
-
### Requirement: Load project config from openspec/config.yaml
|
|
6
|
-
|
|
7
|
-
The system SHALL read and parse the project configuration file located at `openspec/config.yaml` relative to the project root.
|
|
8
|
-
|
|
9
|
-
#### Scenario: Valid config file exists
|
|
10
|
-
- **WHEN** `openspec/config.yaml` exists with valid YAML content
|
|
11
|
-
- **THEN** system parses the file and returns a ProjectConfig object
|
|
12
|
-
|
|
13
|
-
#### Scenario: Config file does not exist
|
|
14
|
-
- **WHEN** `openspec/config.yaml` does not exist
|
|
15
|
-
- **THEN** system returns null without error
|
|
16
|
-
|
|
17
|
-
#### Scenario: Config file has invalid YAML syntax
|
|
18
|
-
- **WHEN** `openspec/config.yaml` contains malformed YAML
|
|
19
|
-
- **THEN** system logs a warning message and returns null
|
|
20
|
-
|
|
21
|
-
#### Scenario: Config file has valid YAML but invalid schema
|
|
22
|
-
- **WHEN** `openspec/config.yaml` contains valid YAML that fails Zod schema validation
|
|
23
|
-
- **THEN** system logs a warning message with validation details and returns null
|
|
24
|
-
|
|
25
|
-
### Requirement: Support .yml file extension alias
|
|
26
|
-
|
|
27
|
-
The system SHALL accept both `.yaml` and `.yml` file extensions for the config file.
|
|
28
|
-
|
|
29
|
-
#### Scenario: Config file uses .yml extension
|
|
30
|
-
- **WHEN** `openspec/config.yml` exists and `openspec/config.yaml` does not exist
|
|
31
|
-
- **THEN** system reads from `openspec/config.yml`
|
|
32
|
-
|
|
33
|
-
#### Scenario: Both .yaml and .yml exist
|
|
34
|
-
- **WHEN** both `openspec/config.yaml` and `openspec/config.yml` exist
|
|
35
|
-
- **THEN** system prefers `openspec/config.yaml`
|
|
36
|
-
|
|
37
|
-
### Requirement: Use resilient field-by-field parsing
|
|
38
|
-
|
|
39
|
-
The system SHALL parse each config field independently, collecting valid fields and warning about invalid ones without rejecting the entire config.
|
|
40
|
-
|
|
41
|
-
#### Scenario: Schema field is valid
|
|
42
|
-
- **WHEN** config contains `schema: "spec-driven"`
|
|
43
|
-
- **THEN** schema field is included in returned config
|
|
44
|
-
|
|
45
|
-
#### Scenario: Schema field is missing
|
|
46
|
-
- **WHEN** config lacks the `schema` field
|
|
47
|
-
- **THEN** no warning is logged (field is optional at parse level)
|
|
48
|
-
|
|
49
|
-
#### Scenario: Schema field is empty string
|
|
50
|
-
- **WHEN** config contains `schema: ""`
|
|
51
|
-
- **THEN** warning is logged and schema field is not included in returned config
|
|
52
|
-
|
|
53
|
-
#### Scenario: Schema field is invalid type
|
|
54
|
-
- **WHEN** config contains `schema: 123` (number instead of string)
|
|
55
|
-
- **THEN** warning is logged and schema field is not included in returned config
|
|
56
|
-
|
|
57
|
-
#### Scenario: Context field is valid
|
|
58
|
-
- **WHEN** config contains `context: "Tech stack: TypeScript"`
|
|
59
|
-
- **THEN** context field is included in returned config
|
|
60
|
-
|
|
61
|
-
#### Scenario: Context field is invalid type
|
|
62
|
-
- **WHEN** config contains `context: 123` (number instead of string)
|
|
63
|
-
- **THEN** warning is logged and context field is not included in returned config
|
|
64
|
-
|
|
65
|
-
#### Scenario: Rules field has valid structure
|
|
66
|
-
- **WHEN** config contains `rules: { proposal: ["Rule 1"], specs: ["Rule 2"] }`
|
|
67
|
-
- **THEN** rules field is included in returned config with valid rules
|
|
68
|
-
|
|
69
|
-
#### Scenario: Rules field has non-array value for artifact
|
|
70
|
-
- **WHEN** config contains `rules: { proposal: "not an array", specs: ["Valid"] }`
|
|
71
|
-
- **THEN** warning is logged for proposal, but specs rules are still included in returned config
|
|
72
|
-
|
|
73
|
-
#### Scenario: Rules array contains non-string elements
|
|
74
|
-
- **WHEN** config contains `rules: { proposal: ["Valid rule", 123, ""] }`
|
|
75
|
-
- **THEN** only "Valid rule" is included, warning logged about invalid elements
|
|
76
|
-
|
|
77
|
-
#### Scenario: Mix of valid and invalid fields
|
|
78
|
-
- **WHEN** config contains valid schema, invalid context type, valid rules
|
|
79
|
-
- **THEN** config is returned with schema and rules fields, warning logged about context
|
|
80
|
-
|
|
81
|
-
### Requirement: Enforce context size limit
|
|
82
|
-
|
|
83
|
-
The system SHALL reject context fields exceeding 50KB and log a warning.
|
|
84
|
-
|
|
85
|
-
#### Scenario: Context within size limit
|
|
86
|
-
- **WHEN** config contains context of 1KB
|
|
87
|
-
- **THEN** context is included in returned config
|
|
88
|
-
|
|
89
|
-
#### Scenario: Context at size limit
|
|
90
|
-
- **WHEN** config contains context of exactly 50KB
|
|
91
|
-
- **THEN** context is included in returned config
|
|
92
|
-
|
|
93
|
-
#### Scenario: Context exceeds size limit
|
|
94
|
-
- **WHEN** config contains context of 51KB
|
|
95
|
-
- **THEN** warning is logged with size and limit, context field is not included in returned config
|
|
96
|
-
|
|
97
|
-
### Requirement: Defer artifact ID validation to instruction loading
|
|
98
|
-
|
|
99
|
-
The system SHALL NOT validate artifact IDs in rules during config load time. Validation happens during instruction loading when schema is known.
|
|
100
|
-
|
|
101
|
-
#### Scenario: Config with rules is loaded
|
|
102
|
-
- **WHEN** config contains `rules: { unknownartifact: [...] }`
|
|
103
|
-
- **THEN** config is loaded successfully without validation errors
|
|
104
|
-
|
|
105
|
-
#### Scenario: Validation happens at instruction load time
|
|
106
|
-
- **WHEN** instructions are loaded for any artifact and config has unknown artifact IDs in rules
|
|
107
|
-
- **THEN** warnings are emitted about unknown artifact IDs (see rules-injection spec for details)
|
|
108
|
-
|
|
109
|
-
### Requirement: Gracefully handle config errors without halting
|
|
110
|
-
|
|
111
|
-
The system SHALL continue operation with default values when config loading or parsing fails.
|
|
112
|
-
|
|
113
|
-
#### Scenario: Config parse failure during command execution
|
|
114
|
-
- **WHEN** config file has syntax errors and user runs `openspec new change`
|
|
115
|
-
- **THEN** command executes using default schema "spec-driven"
|
|
116
|
-
|
|
117
|
-
#### Scenario: Warning is visible to user
|
|
118
|
-
- **WHEN** config loading fails
|
|
119
|
-
- **THEN** system outputs warning message to stderr with details about the failure
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Spec: Context Injection
|
|
2
|
-
|
|
3
|
-
## ADDED Requirements
|
|
4
|
-
|
|
5
|
-
### Requirement: Inject context into all artifact instructions
|
|
6
|
-
|
|
7
|
-
The system SHALL inject the context field from project config into instructions for all artifacts, wrapped in XML-style `<context>` tags.
|
|
8
|
-
|
|
9
|
-
#### Scenario: Config has context field
|
|
10
|
-
- **WHEN** config contains `context: "Tech stack: TypeScript, React"`
|
|
11
|
-
- **THEN** instruction output includes `<context>\nTech stack: TypeScript, React\n</context>`
|
|
12
|
-
|
|
13
|
-
#### Scenario: Config has no context field
|
|
14
|
-
- **WHEN** config omits the context field or context is undefined
|
|
15
|
-
- **THEN** instruction output does not include `<context>` tags
|
|
16
|
-
|
|
17
|
-
#### Scenario: Context is multi-line string
|
|
18
|
-
- **WHEN** config contains context with multiple lines
|
|
19
|
-
- **THEN** instruction output preserves line breaks within `<context>` tags
|
|
20
|
-
|
|
21
|
-
#### Scenario: Context applied to all artifacts
|
|
22
|
-
- **WHEN** instructions are loaded for any artifact (proposal, specs, design, tasks)
|
|
23
|
-
- **THEN** context section appears in all instruction outputs
|
|
24
|
-
|
|
25
|
-
### Requirement: Format context with XML-style tags
|
|
26
|
-
|
|
27
|
-
The system SHALL wrap context content in `<context>` opening and `</context>` closing tags with content on separate lines.
|
|
28
|
-
|
|
29
|
-
#### Scenario: Context tag structure
|
|
30
|
-
- **WHEN** context is injected into instructions
|
|
31
|
-
- **THEN** format is exactly `<context>\n{content}\n</context>\n\n`
|
|
32
|
-
|
|
33
|
-
#### Scenario: Context appears before template
|
|
34
|
-
- **WHEN** instructions are generated with context
|
|
35
|
-
- **THEN** `<context>` section appears before the `<template>` section
|
|
36
|
-
|
|
37
|
-
### Requirement: Preserve context content exactly as provided
|
|
38
|
-
|
|
39
|
-
The system SHALL inject context content without modification, escaping, or interpretation.
|
|
40
|
-
|
|
41
|
-
#### Scenario: Context contains special characters
|
|
42
|
-
- **WHEN** context includes characters like `<`, `>`, `&`, quotes
|
|
43
|
-
- **THEN** characters are preserved exactly as written in the config
|
|
44
|
-
|
|
45
|
-
#### Scenario: Context contains URLs
|
|
46
|
-
- **WHEN** context includes URLs like "docs at https://example.com"
|
|
47
|
-
- **THEN** URLs are preserved exactly in the injected content
|
|
48
|
-
|
|
49
|
-
#### Scenario: Context contains markdown
|
|
50
|
-
- **WHEN** context includes markdown formatting like `**bold**` or `[links](url)`
|
|
51
|
-
- **THEN** markdown is preserved without rendering or escaping
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# Spec: Rules Injection
|
|
2
|
-
|
|
3
|
-
## ADDED Requirements
|
|
4
|
-
|
|
5
|
-
### Requirement: Inject rules only for matching artifact
|
|
6
|
-
|
|
7
|
-
The system SHALL inject rules from config into instructions only when the artifact ID matches a key in the rules object.
|
|
8
|
-
|
|
9
|
-
#### Scenario: Rules exist for the artifact
|
|
10
|
-
- **WHEN** loading instructions for "proposal" and config has `rules: { proposal: ["Rule 1", "Rule 2"] }`
|
|
11
|
-
- **THEN** instruction output includes rules section with both rules
|
|
12
|
-
|
|
13
|
-
#### Scenario: No rules for the artifact
|
|
14
|
-
- **WHEN** loading instructions for "design" and config has `rules: { proposal: [...] }`
|
|
15
|
-
- **THEN** instruction output does not include `<rules>` tags
|
|
16
|
-
|
|
17
|
-
#### Scenario: Rules object is undefined
|
|
18
|
-
- **WHEN** config omits the rules field or rules is undefined
|
|
19
|
-
- **THEN** instruction output does not include `<rules>` tags for any artifact
|
|
20
|
-
|
|
21
|
-
#### Scenario: Rules array is empty for artifact
|
|
22
|
-
- **WHEN** config has `rules: { proposal: [] }`
|
|
23
|
-
- **THEN** instruction output does not include `<rules>` tags
|
|
24
|
-
|
|
25
|
-
### Requirement: Format rules with XML-style tags and bullet list
|
|
26
|
-
|
|
27
|
-
The system SHALL wrap rules in `<rules>` tags with each rule as a bulleted list item.
|
|
28
|
-
|
|
29
|
-
#### Scenario: Single rule for artifact
|
|
30
|
-
- **WHEN** config has `rules: { proposal: ["Include rollback plan"] }`
|
|
31
|
-
- **THEN** instruction output includes `<rules>\n- Include rollback plan\n</rules>\n\n`
|
|
32
|
-
|
|
33
|
-
#### Scenario: Multiple rules for artifact
|
|
34
|
-
- **WHEN** config has `rules: { proposal: ["Rule 1", "Rule 2", "Rule 3"] }`
|
|
35
|
-
- **THEN** instruction output includes each rule as separate bullet point
|
|
36
|
-
|
|
37
|
-
#### Scenario: Rules appear after context and before template
|
|
38
|
-
- **WHEN** instructions are generated with both context and rules
|
|
39
|
-
- **THEN** order is `<context>` then `<rules>` then `<template>`
|
|
40
|
-
|
|
41
|
-
### Requirement: Preserve rule text exactly as provided
|
|
42
|
-
|
|
43
|
-
The system SHALL inject rule text without modification, escaping, or interpretation.
|
|
44
|
-
|
|
45
|
-
#### Scenario: Rule contains markdown
|
|
46
|
-
- **WHEN** rule includes markdown like "Use **Given/When/Then** format"
|
|
47
|
-
- **THEN** markdown is preserved in the injected content
|
|
48
|
-
|
|
49
|
-
#### Scenario: Rule contains special characters
|
|
50
|
-
- **WHEN** rule includes characters like `<`, `>`, quotes
|
|
51
|
-
- **THEN** characters are preserved exactly as written
|
|
52
|
-
|
|
53
|
-
#### Scenario: Rule is multi-line string
|
|
54
|
-
- **WHEN** rule text contains line breaks
|
|
55
|
-
- **THEN** line breaks are preserved within the bullet point
|
|
56
|
-
|
|
57
|
-
### Requirement: Support multiple artifacts with different rules
|
|
58
|
-
|
|
59
|
-
The system SHALL allow different rule sets for different artifacts in the same config.
|
|
60
|
-
|
|
61
|
-
#### Scenario: Multiple artifacts have rules
|
|
62
|
-
- **WHEN** config has `rules: { proposal: ["P1"], specs: ["S1", "S2"], tasks: ["T1"] }`
|
|
63
|
-
- **THEN** proposal instructions show only ["P1"], specs show only ["S1", "S2"], tasks show only ["T1"]
|
|
64
|
-
|
|
65
|
-
#### Scenario: Some artifacts have rules, others do not
|
|
66
|
-
- **WHEN** config has rules for proposal and specs only
|
|
67
|
-
- **THEN** design and tasks instructions have no `<rules>` section
|
|
68
|
-
|
|
69
|
-
### Requirement: Rules are additive to schema guidance
|
|
70
|
-
|
|
71
|
-
The system SHALL add config rules to the schema's built-in artifact instruction, not replace it.
|
|
72
|
-
|
|
73
|
-
#### Scenario: Artifact has schema instruction and config rules
|
|
74
|
-
- **WHEN** artifact has built-in instruction from schema and config provides rules
|
|
75
|
-
- **THEN** final instruction contains both schema guidance and config rules
|
|
76
|
-
|
|
77
|
-
#### Scenario: Rules provide additional constraints
|
|
78
|
-
- **WHEN** schema says "create proposal" and config rules say "include rollback plan"
|
|
79
|
-
- **THEN** agent sees both the schema template and the additional rule
|
|
80
|
-
|
|
81
|
-
### Requirement: Validate artifact IDs during instruction loading
|
|
82
|
-
|
|
83
|
-
The system SHALL validate artifact IDs in rules against the schema when instructions are loaded and emit warnings for unknown IDs.
|
|
84
|
-
|
|
85
|
-
#### Scenario: All artifact IDs are valid
|
|
86
|
-
- **WHEN** instructions loaded and config has `rules: { proposal: [...], specs: [...] }` for schema with those artifacts
|
|
87
|
-
- **THEN** no validation warnings are emitted
|
|
88
|
-
|
|
89
|
-
#### Scenario: Unknown artifact ID in rules
|
|
90
|
-
- **WHEN** instructions loaded and config has `rules: { unknownartifact: [...] }`
|
|
91
|
-
- **THEN** warning emitted: "Unknown artifact ID in rules: 'unknownartifact'. Valid IDs for schema 'spec-driven': design, proposal, specs, tasks"
|
|
92
|
-
|
|
93
|
-
#### Scenario: Multiple unknown artifact IDs
|
|
94
|
-
- **WHEN** instructions loaded and config has multiple unknown artifact IDs
|
|
95
|
-
- **THEN** separate warning emitted for each unknown artifact ID
|
|
96
|
-
|
|
97
|
-
#### Scenario: Validation warnings shown once per session
|
|
98
|
-
- **WHEN** instructions loaded multiple times in same CLI session
|
|
99
|
-
- **THEN** each unique validation warning is shown only once (cached)
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
# Spec: Schema Resolution with Config
|
|
2
|
-
|
|
3
|
-
## ADDED Requirements
|
|
4
|
-
|
|
5
|
-
### Requirement: Use config schema as default for new changes
|
|
6
|
-
|
|
7
|
-
The system SHALL use the schema field from `openspec/config.yaml` as the default when creating new changes without explicit `--schema` flag.
|
|
8
|
-
|
|
9
|
-
#### Scenario: Create change without --schema flag and config exists
|
|
10
|
-
- **WHEN** user runs `openspec new change foo` and config contains `schema: "tdd"`
|
|
11
|
-
- **THEN** system creates change with schema "tdd"
|
|
12
|
-
|
|
13
|
-
#### Scenario: Create change without --schema flag and no config
|
|
14
|
-
- **WHEN** user runs `openspec new change foo` and no config file exists
|
|
15
|
-
- **THEN** system creates change with default schema "spec-driven"
|
|
16
|
-
|
|
17
|
-
#### Scenario: Create change with explicit --schema flag
|
|
18
|
-
- **WHEN** user runs `openspec new change foo --schema custom` and config contains `schema: "tdd"`
|
|
19
|
-
- **THEN** system creates change with schema "custom" (CLI flag overrides config)
|
|
20
|
-
|
|
21
|
-
### Requirement: Resolve schema with updated precedence order
|
|
22
|
-
|
|
23
|
-
The system SHALL resolve the schema for a change using the following precedence order: CLI flag, change metadata, project config, hardcoded default.
|
|
24
|
-
|
|
25
|
-
#### Scenario: CLI flag is provided
|
|
26
|
-
- **WHEN** user runs command with `--schema custom`
|
|
27
|
-
- **THEN** system uses "custom" regardless of change metadata or config
|
|
28
|
-
|
|
29
|
-
#### Scenario: Change metadata specifies schema
|
|
30
|
-
- **WHEN** change has `.openspec.yaml` with `schema: bound` and config has `schema: tdd`
|
|
31
|
-
- **THEN** system uses "bound" from change metadata
|
|
32
|
-
|
|
33
|
-
#### Scenario: Only project config specifies schema
|
|
34
|
-
- **WHEN** no CLI flag or change metadata, but config has `schema: tdd`
|
|
35
|
-
- **THEN** system uses "tdd" from project config
|
|
36
|
-
|
|
37
|
-
#### Scenario: No schema specified anywhere
|
|
38
|
-
- **WHEN** no CLI flag, change metadata, or project config
|
|
39
|
-
- **THEN** system uses hardcoded default "spec-driven"
|
|
40
|
-
|
|
41
|
-
### Requirement: Support project-local schema names in config
|
|
42
|
-
|
|
43
|
-
The system SHALL allow the config schema field to reference project-local schemas defined in `openspec/schemas/`.
|
|
44
|
-
|
|
45
|
-
#### Scenario: Config references project-local schema
|
|
46
|
-
- **WHEN** config contains `schema: "my-workflow"` and `openspec/schemas/my-workflow/` exists
|
|
47
|
-
- **THEN** system resolves to the project-local schema
|
|
48
|
-
|
|
49
|
-
#### Scenario: Config references non-existent schema
|
|
50
|
-
- **WHEN** config contains `schema: "nonexistent"` and that schema does not exist
|
|
51
|
-
- **THEN** system shows error when attempting to load the schema with fuzzy match suggestions and list of all valid schemas
|
|
52
|
-
|
|
53
|
-
### Requirement: Provide helpful error message for invalid schema
|
|
54
|
-
|
|
55
|
-
The system SHALL display schema error with fuzzy match suggestions, list of available schemas, and fix instructions.
|
|
56
|
-
|
|
57
|
-
#### Scenario: Schema name with typo (close match)
|
|
58
|
-
- **WHEN** config contains `schema: "spce-driven"` (typo)
|
|
59
|
-
- **THEN** error message includes "Did you mean: spec-driven (built-in)" as suggestion
|
|
60
|
-
|
|
61
|
-
#### Scenario: Schema name with no close matches
|
|
62
|
-
- **WHEN** config contains `schema: "completely-wrong"`
|
|
63
|
-
- **THEN** error message shows list of all available built-in and project-local schemas
|
|
64
|
-
|
|
65
|
-
#### Scenario: Error message includes fix instructions
|
|
66
|
-
- **WHEN** config references invalid schema
|
|
67
|
-
- **THEN** error message includes "Fix: Edit openspec/config.yaml and change 'schema: X' to a valid schema name"
|
|
68
|
-
|
|
69
|
-
#### Scenario: Error distinguishes built-in vs project-local schemas
|
|
70
|
-
- **WHEN** error lists available schemas
|
|
71
|
-
- **THEN** output clearly labels each as "built-in" or "project-local"
|
|
72
|
-
|
|
73
|
-
### Requirement: Maintain backwards compatibility for existing changes
|
|
74
|
-
|
|
75
|
-
The system SHALL continue to work with existing changes that do not have project config.
|
|
76
|
-
|
|
77
|
-
#### Scenario: Existing change without config
|
|
78
|
-
- **WHEN** change was created before config feature and no config file exists
|
|
79
|
-
- **THEN** system resolves schema using existing logic (change metadata or hardcoded default)
|
|
80
|
-
|
|
81
|
-
#### Scenario: Existing change with config added later
|
|
82
|
-
- **WHEN** config file is added to project with existing changes
|
|
83
|
-
- **THEN** existing changes continue to use their bound schema from `.openspec.yaml`
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
## 1. Core Config System
|
|
2
|
-
|
|
3
|
-
- [x] 1.1 Create `src/core/project-config.ts` with ProjectConfigSchema using Zod (for docs and type inference)
|
|
4
|
-
- [x] 1.2 Implement `readProjectConfig()` with resilient field-by-field parsing using Zod's `safeParse()`
|
|
5
|
-
- [x] 1.3 Add support for both .yaml and .yml extensions (prefer .yaml)
|
|
6
|
-
- [x] 1.4 Add 50KB hard limit for context field with size check and warning
|
|
7
|
-
- [x] 1.5 Implement `validateConfigRules()` to validate artifact IDs against schema (called during instruction loading)
|
|
8
|
-
- [x] 1.6 Implement `suggestSchemas()` with Levenshtein distance fuzzy matching for helpful error messages
|
|
9
|
-
- [x] 1.7 Add unit tests for resilient parsing (partial configs, field-level errors with Zod safeParse)
|
|
10
|
-
- [x] 1.8 Add unit tests for context size limit enforcement
|
|
11
|
-
- [x] 1.9 Add unit tests for .yml/.yaml precedence
|
|
12
|
-
- [x] 1.10 Add unit tests for fuzzy schema matching with typos
|
|
13
|
-
|
|
14
|
-
## 2. Schema Resolution Integration
|
|
15
|
-
|
|
16
|
-
- [x] 2.1 Update `resolveSchemaForChange()` in `src/utils/change-metadata.ts` to check project config (3rd in precedence)
|
|
17
|
-
- [x] 2.2 Update `createNewChange()` in `src/utils/change-utils.ts` to use config schema as default
|
|
18
|
-
- [x] 2.3 Add integration tests for schema resolution precedence (CLI → change metadata → config → default)
|
|
19
|
-
- [x] 2.4 Add test for project-local schema names in config
|
|
20
|
-
- [x] 2.5 Add test for non-existent schema error handling with suggestions
|
|
21
|
-
|
|
22
|
-
## 3. Context and Rules Injection
|
|
23
|
-
|
|
24
|
-
- [x] 3.1 Update `loadInstructions()` in `src/core/artifact-graph/instruction-loader.ts` to inject context for all artifacts
|
|
25
|
-
- [x] 3.2 Add rules injection logic for matching artifacts only with XML tags and bullet formatting
|
|
26
|
-
- [x] 3.3 Add validation call during instruction loading to check artifact IDs in rules
|
|
27
|
-
- [x] 3.4 Implement session-level warning cache to avoid repeating same validation warnings
|
|
28
|
-
- [x] 3.5 Implement proper ordering: `<context>` → `<rules>` → `<template>`
|
|
29
|
-
- [x] 3.6 Preserve multi-line strings and special characters without escaping
|
|
30
|
-
- [x] 3.7 Add unit tests for context injection (present, absent, multi-line, special chars)
|
|
31
|
-
- [x] 3.8 Add unit tests for rules injection (matching artifact, non-matching, empty array, multiple artifacts)
|
|
32
|
-
- [x] 3.9 Add unit tests for validation timing (warnings during instruction load, not config load)
|
|
33
|
-
- [x] 3.10 Add unit tests for warning deduplication (same warning shown once per session)
|
|
34
|
-
- [x] 3.11 Add integration test verifying full instruction output with context + rules + template
|
|
35
|
-
|
|
36
|
-
## 4. Interactive Config Creation
|
|
37
|
-
|
|
38
|
-
- [x] 4.1 Add @inquirer/prompts dependency to package.json
|
|
39
|
-
- [x] 4.2 Create `src/core/config-prompts.ts` with ConfigPromptResult interface
|
|
40
|
-
- [x] 4.3 Implement `promptForConfig()` function with schema selection prompt
|
|
41
|
-
- [x] 4.4 Add multi-line context input prompt with examples and skip option
|
|
42
|
-
- [x] 4.5 Add per-artifact rules prompts with checkbox selection and line-by-line input
|
|
43
|
-
- [x] 4.6 Implement YAML serialization with proper multi-line string formatting
|
|
44
|
-
- [x] 4.7 Add validation and retry logic for prompt errors
|
|
45
|
-
|
|
46
|
-
## 5. Experimental Setup Integration
|
|
47
|
-
|
|
48
|
-
- [x] 5.1 Update `artifactExperimentalSetupCommand()` in `src/commands/artifact-workflow.ts` to check for existing config
|
|
49
|
-
- [x] 5.2 Add config creation section after skills/commands creation with header and description
|
|
50
|
-
- [x] 5.3 Integrate `promptForConfig()` calls with proper flow control
|
|
51
|
-
- [x] 5.4 Add Ctrl+C (ExitPromptError) handling - log cancellation message, continue with setup (non-fatal)
|
|
52
|
-
- [x] 5.5 Write created config to `openspec/config.yaml` using YAML stringify
|
|
53
|
-
- [x] 5.6 Display success summary showing path, schema, context lines, rules count
|
|
54
|
-
- [x] 5.7 Show usage examples and git commit suggestion
|
|
55
|
-
- [x] 5.8 Handle existing config case with skip message and manual update instructions
|
|
56
|
-
- [x] 5.9 Add error handling for file write failures with fallback suggestions
|
|
57
|
-
- [x] 5.10 Add test for cancellation behavior (skills/commands preserved, config not created)
|
|
58
|
-
|
|
59
|
-
## 6. Testing and Documentation
|
|
60
|
-
|
|
61
|
-
- [x] 6.1 Add end-to-end test: run experimental setup → create config → create change → verify schema used
|
|
62
|
-
- [x] 6.2 Add end-to-end test: create config → get instructions → verify context and rules injected
|
|
63
|
-
- [x] 6.3 Test backwards compatibility: existing changes work without config
|
|
64
|
-
- [x] 6.4 Test config changes are reflected immediately (no stale cache)
|
|
65
|
-
- [x] 6.5 Add performance benchmark: measure config read time with typical config (1KB context)
|
|
66
|
-
- [x] 6.6 Add performance benchmark: measure config read time with large config (50KB context)
|
|
67
|
-
- [x] 6.7 Add performance benchmark: measure repeated reads within single command
|
|
68
|
-
- [x] 6.8 Document benchmark results and decide if caching is needed (target: <10ms typical, <50ms acceptable)
|
|
69
|
-
- [x] 6.9 If benchmarks fail: implement mtime-based caching with cache invalidation
|
|
70
|
-
- [x] 6.10 Update README or docs with config feature examples and schema
|
|
71
|
-
- [x] 6.11 Document common artifact IDs for different schemas
|
|
72
|
-
- [x] 6.12 Add troubleshooting section for config validation errors
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
## Context
|
|
2
|
-
|
|
3
|
-
OpenSpec currently resolves schemas from two locations:
|
|
4
|
-
1. User override: `~/.local/share/openspec/schemas/<name>/`
|
|
5
|
-
2. Package built-in: `<npm-package>/schemas/<name>/`
|
|
6
|
-
|
|
7
|
-
This change adds a third, highest-priority level: project-local schemas at `./openspec/schemas/<name>/`.
|
|
8
|
-
|
|
9
|
-
The resolver functions in `src/core/artifact-graph/resolver.ts` currently don't take a `projectRoot` parameter because user and package paths are absolute. To support project-local schemas, we need to pass project root context into the resolver.
|
|
10
|
-
|
|
11
|
-
## Goals / Non-Goals
|
|
12
|
-
|
|
13
|
-
**Goals:**
|
|
14
|
-
- Enable version-controlled custom workflow schemas
|
|
15
|
-
- Allow teams to share schemas via git without per-machine setup
|
|
16
|
-
- Maintain backward compatibility with existing resolver API
|
|
17
|
-
- Integrate with `config.yaml`'s `schema` field (from project-config change)
|
|
18
|
-
|
|
19
|
-
**Non-Goals:**
|
|
20
|
-
- Schema inheritance or `extends` keyword
|
|
21
|
-
- Template-level overrides (partial forks)
|
|
22
|
-
- Schema management CLI commands (`openspec schema copy/which/diff/reset`)
|
|
23
|
-
- Validation that project-local schema names don't conflict with built-ins (shadowing is intentional)
|
|
24
|
-
|
|
25
|
-
## Decisions
|
|
26
|
-
|
|
27
|
-
### Decision 1: Add optional `projectRoot` parameter to resolver functions
|
|
28
|
-
|
|
29
|
-
**Choice:** Add optional `projectRoot?: string` parameter to resolver functions rather than using `process.cwd()` internally.
|
|
30
|
-
|
|
31
|
-
**Alternatives considered:**
|
|
32
|
-
- Use `process.cwd()` internally: Simpler API but implicit, harder to test, doesn't match existing codebase patterns
|
|
33
|
-
- Create separate project-aware functions: No breaking changes but awkward API, callers must compose
|
|
34
|
-
|
|
35
|
-
**Rationale:** The codebase already follows a pattern where CLI commands get project root via `process.cwd()` and pass it down to functions that need it. Adding an optional parameter maintains backward compatibility while enabling explicit, testable behavior.
|
|
36
|
-
|
|
37
|
-
**Affected functions:**
|
|
38
|
-
```typescript
|
|
39
|
-
getSchemaDir(name: string, projectRoot?: string): string | null
|
|
40
|
-
listSchemas(projectRoot?: string): string[]
|
|
41
|
-
listSchemasWithInfo(projectRoot?: string): SchemaInfo[]
|
|
42
|
-
resolveSchema(name: string, projectRoot?: string): SchemaYaml
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Decision 2: Resolution order is project → user → package
|
|
46
|
-
|
|
47
|
-
**Choice:** Project-local schemas have highest priority, then user overrides, then package built-ins.
|
|
48
|
-
|
|
49
|
-
**Rationale:**
|
|
50
|
-
- Project-local should win because it represents team intent (version controlled, shared)
|
|
51
|
-
- User overrides still useful for personal experimentation without affecting team
|
|
52
|
-
- Package built-ins are the fallback defaults
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
1. ./openspec/schemas/<name>/ # Project-local (highest)
|
|
56
|
-
2. ~/.local/share/openspec/schemas/<name>/ # User override
|
|
57
|
-
3. <npm-package>/schemas/<name>/ # Package built-in (lowest)
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Decision 3: Add `getProjectSchemasDir()` helper function
|
|
61
|
-
|
|
62
|
-
**Choice:** Create a dedicated function to get the project schemas directory path.
|
|
63
|
-
|
|
64
|
-
```typescript
|
|
65
|
-
function getProjectSchemasDir(projectRoot: string): string {
|
|
66
|
-
return path.join(projectRoot, 'openspec', 'schemas');
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**Rationale:** Matches existing pattern with `getPackageSchemasDir()` and `getUserSchemasDir()`. Keeps path logic centralized.
|
|
71
|
-
|
|
72
|
-
### Decision 4: Extend `SchemaInfo.source` to include `'project'`
|
|
73
|
-
|
|
74
|
-
**Choice:** Update the source type from `'package' | 'user'` to `'project' | 'user' | 'package'`.
|
|
75
|
-
|
|
76
|
-
**Rationale:** Consumers need to distinguish project-local schemas for display purposes (e.g., `schemasCommand` output).
|
|
77
|
-
|
|
78
|
-
### Decision 5: No special handling for schema name conflicts
|
|
79
|
-
|
|
80
|
-
**Choice:** If a project-local schema has the same name as a built-in (e.g., `spec-driven`), the project-local version wins. No warning, no error.
|
|
81
|
-
|
|
82
|
-
**Rationale:** This is intentional shadowing. Teams may want to customize a built-in schema while keeping the same name for familiarity.
|
|
83
|
-
|
|
84
|
-
## Risks / Trade-offs
|
|
85
|
-
|
|
86
|
-
### Risk: Confusion when project schema shadows built-in
|
|
87
|
-
A team could create `openspec/schemas/spec-driven/` that shadows the built-in, causing confusion when someone expects default behavior.
|
|
88
|
-
|
|
89
|
-
**Mitigation:** The `openspec schemas` command shows the source of each schema. Users can see `spec-driven (project)` vs `spec-driven (package)`.
|
|
90
|
-
|
|
91
|
-
### Risk: Missing projectRoot parameter
|
|
92
|
-
If callers forget to pass `projectRoot`, project-local schemas won't be found.
|
|
93
|
-
|
|
94
|
-
**Mitigation:**
|
|
95
|
-
- Make the change incrementally, updating call sites that need project-local support
|
|
96
|
-
- Existing behavior (user + package only) is preserved when `projectRoot` is undefined
|
|
97
|
-
|
|
98
|
-
### Trade-off: Optional parameter vs required
|
|
99
|
-
Making `projectRoot` optional maintains backward compatibility but means some code paths may silently skip project-local resolution.
|
|
100
|
-
|
|
101
|
-
**Accepted:** Backward compatibility is more important. The main entry points (CLI commands) will always pass `projectRoot`.
|
|
102
|
-
|
|
103
|
-
## Implementation Approach
|
|
104
|
-
|
|
105
|
-
1. **Update `resolver.ts`:**
|
|
106
|
-
- Add `getProjectSchemasDir(projectRoot: string)` function
|
|
107
|
-
- Update `getSchemaDir()` to check project-local first when `projectRoot` provided
|
|
108
|
-
- Update `listSchemas()` to include project schemas when `projectRoot` provided
|
|
109
|
-
- Update `listSchemasWithInfo()` to return `source: 'project'` for project schemas
|
|
110
|
-
- Update `SchemaInfo` type to include `'project'` in source union
|
|
111
|
-
|
|
112
|
-
2. **Update `artifact-workflow.ts`:**
|
|
113
|
-
- Update `schemasCommand` to pass `projectRoot` and display source labels
|
|
114
|
-
|
|
115
|
-
3. **Update call sites:**
|
|
116
|
-
- Any existing code that needs project-local resolution should pass `projectRoot`
|
|
117
|
-
- `config.yaml` schema resolution already has access to `projectRoot`
|