sauron-cli 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/index.js +8 -8
- 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,774 +0,0 @@
|
|
|
1
|
-
# Project Config
|
|
2
|
-
|
|
3
|
-
## Summary
|
|
4
|
-
|
|
5
|
-
Add `openspec/config.yaml` support for project-level configuration. This enables teams to customize OpenSpec behavior without forking schemas, by providing context and rules that are injected into artifact generation.
|
|
6
|
-
|
|
7
|
-
## Motivation
|
|
8
|
-
|
|
9
|
-
Currently, customizing OpenSpec requires forking entire schemas:
|
|
10
|
-
- Must copy all files even to add one rule
|
|
11
|
-
- Lose updates when openspec upgrades
|
|
12
|
-
- High friction for simple customizations
|
|
13
|
-
|
|
14
|
-
Most users don't need different workflow structure. They need to:
|
|
15
|
-
- Provide project context (tech stack, conventions, constraints)
|
|
16
|
-
- Add rules for specific artifacts (requirements, formatting preferences)
|
|
17
|
-
|
|
18
|
-
## Design Decisions
|
|
19
|
-
|
|
20
|
-
### Two-Path Model
|
|
21
|
-
|
|
22
|
-
OpenSpec customization follows two distinct paths:
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
26
|
-
│ │
|
|
27
|
-
│ CONFIGURE (this change) FORK (project-local-schemas) │
|
|
28
|
-
│ ───────────────────── ──────────────────────────── │
|
|
29
|
-
│ │
|
|
30
|
-
│ Use a preset schema Define your own schema │
|
|
31
|
-
│ + add context from scratch │
|
|
32
|
-
│ + add rules │
|
|
33
|
-
│ │
|
|
34
|
-
│ openspec/config.yaml openspec/schemas/my-flow/ │
|
|
35
|
-
│ │
|
|
36
|
-
│ ✓ Simple ✓ Full control │
|
|
37
|
-
│ ✓ Get updates ✗ You maintain everything │
|
|
38
|
-
│ │
|
|
39
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Config Schema
|
|
43
|
-
|
|
44
|
-
```yaml
|
|
45
|
-
# openspec/config.yaml
|
|
46
|
-
|
|
47
|
-
# Required: which workflow schema to use
|
|
48
|
-
schema: spec-driven
|
|
49
|
-
|
|
50
|
-
# Optional: project context injected into all artifact prompts
|
|
51
|
-
context: |
|
|
52
|
-
Tech stack: TypeScript, React, Node.js, PostgreSQL
|
|
53
|
-
API style: RESTful, documented in docs/api-conventions.md
|
|
54
|
-
Testing: Jest + React Testing Library
|
|
55
|
-
We value backwards compatibility for all public APIs
|
|
56
|
-
|
|
57
|
-
# Optional: per-artifact rules (additive)
|
|
58
|
-
rules:
|
|
59
|
-
proposal:
|
|
60
|
-
- Include rollback plan
|
|
61
|
-
- Identify affected teams and notify in #platform-changes
|
|
62
|
-
specs:
|
|
63
|
-
- Use Given/When/Then format
|
|
64
|
-
- Reference existing patterns before inventing new ones
|
|
65
|
-
tasks:
|
|
66
|
-
- Each task should be completable in < 2 hours
|
|
67
|
-
- Include acceptance criteria
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### What's NOT in Config
|
|
71
|
-
|
|
72
|
-
The following were explicitly excluded to keep the model simple:
|
|
73
|
-
|
|
74
|
-
| Feature | Decision | Rationale |
|
|
75
|
-
|---------|----------|-----------|
|
|
76
|
-
| `skip: [artifact]` | Not supported | Structural changes belong in fork path |
|
|
77
|
-
| `add: [{...}]` | Not supported | Structural changes belong in fork path |
|
|
78
|
-
| `extends: base` | Not supported | No inheritance, fork is full copy |
|
|
79
|
-
| `context: ./file.md` | Not supported (yet) | Start with string, add file reference later if needed |
|
|
80
|
-
|
|
81
|
-
### Field Definitions
|
|
82
|
-
|
|
83
|
-
#### `schema` (required)
|
|
84
|
-
|
|
85
|
-
Which workflow schema to use. Can be:
|
|
86
|
-
- Built-in name: `spec-driven`, `tdd`
|
|
87
|
-
- Project-local schema name: `my-workflow` (requires project-local-schemas change)
|
|
88
|
-
|
|
89
|
-
This becomes the default schema for:
|
|
90
|
-
- New changes created without `--schema` flag
|
|
91
|
-
- Commands run on changes without `.openspec.yaml` metadata
|
|
92
|
-
|
|
93
|
-
#### `context` (optional)
|
|
94
|
-
|
|
95
|
-
A string containing project context. Injected into ALL artifact prompts.
|
|
96
|
-
|
|
97
|
-
Use cases:
|
|
98
|
-
- Tech stack description
|
|
99
|
-
- Link to conventions/style guides
|
|
100
|
-
- Team constraints or preferences
|
|
101
|
-
- Domain-specific context
|
|
102
|
-
|
|
103
|
-
#### `rules` (optional)
|
|
104
|
-
|
|
105
|
-
Per-artifact rules, keyed by artifact ID. Additive to schema's built-in guidance.
|
|
106
|
-
|
|
107
|
-
```yaml
|
|
108
|
-
rules:
|
|
109
|
-
<artifact-id>:
|
|
110
|
-
- Rule 1
|
|
111
|
-
- Rule 2
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
Rules are injected into the specific artifact's prompt, not all prompts.
|
|
115
|
-
|
|
116
|
-
### Injection Format
|
|
117
|
-
|
|
118
|
-
When generating instructions for an artifact:
|
|
119
|
-
|
|
120
|
-
```xml
|
|
121
|
-
<context>
|
|
122
|
-
Tech stack: TypeScript, React, Node.js, PostgreSQL
|
|
123
|
-
API style: RESTful, documented in docs/api-conventions.md
|
|
124
|
-
...
|
|
125
|
-
</context>
|
|
126
|
-
|
|
127
|
-
<rules>
|
|
128
|
-
- Include rollback plan
|
|
129
|
-
- Identify affected teams and notify in #platform-changes
|
|
130
|
-
</rules>
|
|
131
|
-
|
|
132
|
-
<template>
|
|
133
|
-
[Schema's built-in template content]
|
|
134
|
-
</template>
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
Context appears for all artifacts. Rules only appear for the matching artifact.
|
|
138
|
-
|
|
139
|
-
### Config Creation Strategy
|
|
140
|
-
|
|
141
|
-
**Why integrate with `artifact-experimental-setup`?**
|
|
142
|
-
|
|
143
|
-
This feature targets **experimental workflow users**. The decision to create config during experimental setup (rather than providing standalone commands) is intentional:
|
|
144
|
-
|
|
145
|
-
**Rationale:**
|
|
146
|
-
1. **Single entry point** - Users setting up experimental features are already in "configuration mode"
|
|
147
|
-
2. **Contextual timing** - Natural to configure project defaults when setting up workflow
|
|
148
|
-
3. **Avoids premature API surface** - No standalone `openspec config init` until feature graduates
|
|
149
|
-
4. **Experimental scope** - Keeps config as experimental feature, not stable API
|
|
150
|
-
5. **Progressive disclosure** - Users can skip and create manually later if needed
|
|
151
|
-
|
|
152
|
-
**Evolution path:**
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
Today (Experimental):
|
|
156
|
-
openspec artifact-experimental-setup
|
|
157
|
-
→ prompts for config creation
|
|
158
|
-
→ creates .claude/skills/
|
|
159
|
-
→ creates openspec/config.yaml
|
|
160
|
-
|
|
161
|
-
Future (When graduating):
|
|
162
|
-
openspec init
|
|
163
|
-
→ prompts for config creation
|
|
164
|
-
→ creates openspec/ directory
|
|
165
|
-
→ creates openspec/config.yaml
|
|
166
|
-
|
|
167
|
-
+ standalone commands:
|
|
168
|
-
openspec config init
|
|
169
|
-
openspec config validate
|
|
170
|
-
openspec config set <key> <value>
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
**Why optional?**
|
|
174
|
-
|
|
175
|
-
Config is **additive**, not required:
|
|
176
|
-
- OpenSpec works without config (uses defaults)
|
|
177
|
-
- Users can skip during setup and add manually later
|
|
178
|
-
- Teams can start simple and add config when they feel friction
|
|
179
|
-
- No config file in git = no problem, everyone gets defaults
|
|
180
|
-
|
|
181
|
-
**Design principle:** The system never *requires* config, but makes it easy to create when users want customization.
|
|
182
|
-
|
|
183
|
-
## Scope
|
|
184
|
-
|
|
185
|
-
### In Scope
|
|
186
|
-
|
|
187
|
-
**Core Config System:**
|
|
188
|
-
- Define `ProjectConfig` type with Zod schema
|
|
189
|
-
- Add `readProjectConfig()` function with graceful error handling
|
|
190
|
-
- Update instruction generation to inject context (all artifacts)
|
|
191
|
-
- Update instruction generation to inject rules (per-artifact)
|
|
192
|
-
- Update schema resolution to use config's `schema` field as default
|
|
193
|
-
- Update `openspec new change` to use config's schema as default
|
|
194
|
-
|
|
195
|
-
**Config Creation (Experimental Setup):**
|
|
196
|
-
- Extend `artifact-experimental-setup` command to optionally create config
|
|
197
|
-
- Interactive prompts for schema selection (with description of each schema)
|
|
198
|
-
- Interactive prompts for project context (optional multi-line input)
|
|
199
|
-
- Interactive prompts for per-artifact rules (optional)
|
|
200
|
-
- Validate config immediately after creation
|
|
201
|
-
- Show clear "skip" option for users who want to create config manually later
|
|
202
|
-
- Display created config location and usage examples
|
|
203
|
-
|
|
204
|
-
### Out of Scope
|
|
205
|
-
|
|
206
|
-
- `skip` / `add` for structural changes (use fork path for structural changes)
|
|
207
|
-
- File reference for context (`context: ./CONTEXT.md`) - start with string, add later if needed
|
|
208
|
-
- Global user-level config (XDG directories, etc.)
|
|
209
|
-
- Integration with standard `openspec init` (will add when experimental graduates)
|
|
210
|
-
- Standalone `openspec config init` command (may add in future change)
|
|
211
|
-
- `openspec config validate` command (may add in future change)
|
|
212
|
-
- Config editing/updating commands (users edit YAML directly)
|
|
213
|
-
|
|
214
|
-
## User Experience
|
|
215
|
-
|
|
216
|
-
### Setting Up Config (Experimental Workflow)
|
|
217
|
-
|
|
218
|
-
When users set up the experimental workflow, they're prompted to optionally create config:
|
|
219
|
-
|
|
220
|
-
```bash
|
|
221
|
-
$ openspec artifact-experimental-setup
|
|
222
|
-
|
|
223
|
-
Setting up experimental artifact workflow...
|
|
224
|
-
|
|
225
|
-
✓ Created .claude/skills/openspec-explore/SKILL.md
|
|
226
|
-
✓ Created .claude/skills/openspec-new-change/SKILL.md
|
|
227
|
-
✓ Created .claude/skills/openspec-continue-change/SKILL.md
|
|
228
|
-
✓ Created .claude/skills/openspec-apply-change/SKILL.md
|
|
229
|
-
✓ Created .claude/skills/openspec-ff-change/SKILL.md
|
|
230
|
-
✓ Created .claude/skills/openspec-sync-specs/SKILL.md
|
|
231
|
-
✓ Created .claude/skills/openspec-archive-change/SKILL.md
|
|
232
|
-
|
|
233
|
-
✓ Created .claude/commands/opsx/explore.md
|
|
234
|
-
✓ Created .claude/commands/opsx/new.md
|
|
235
|
-
✓ Created .claude/commands/opsx/continue.md
|
|
236
|
-
✓ Created .claude/commands/opsx/apply.md
|
|
237
|
-
✓ Created .claude/commands/opsx/ff.md
|
|
238
|
-
✓ Created .claude/commands/opsx/sync.md
|
|
239
|
-
✓ Created .claude/commands/opsx/archive.md
|
|
240
|
-
|
|
241
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
242
|
-
|
|
243
|
-
📋 Project Configuration (Optional)
|
|
244
|
-
|
|
245
|
-
Configure project defaults for OpenSpec workflows.
|
|
246
|
-
|
|
247
|
-
? Create openspec/config.yaml? (Y/n) Y
|
|
248
|
-
|
|
249
|
-
? Default schema for new changes?
|
|
250
|
-
❯ spec-driven (proposal → specs → design → tasks)
|
|
251
|
-
tdd (spec → tests → implementation → docs)
|
|
252
|
-
|
|
253
|
-
? Add project context? (optional)
|
|
254
|
-
Context is shown to AI when creating artifacts.
|
|
255
|
-
Examples: tech stack, conventions, style guides, domain knowledge
|
|
256
|
-
|
|
257
|
-
Press Enter to skip, or type/paste context:
|
|
258
|
-
│ Tech stack: TypeScript, React, Node.js, PostgreSQL
|
|
259
|
-
│ API style: RESTful, documented in docs/api-conventions.md
|
|
260
|
-
│ Testing: Jest + React Testing Library
|
|
261
|
-
│ We value backwards compatibility for all public APIs
|
|
262
|
-
│
|
|
263
|
-
[Press Enter when done]
|
|
264
|
-
|
|
265
|
-
? Add per-artifact rules? (optional) (Y/n) Y
|
|
266
|
-
|
|
267
|
-
Which artifacts should have custom rules?
|
|
268
|
-
[Space to select, Enter when done]
|
|
269
|
-
◯ proposal
|
|
270
|
-
◉ specs
|
|
271
|
-
◯ design
|
|
272
|
-
◯ tasks
|
|
273
|
-
|
|
274
|
-
? Rules for specs artifact:
|
|
275
|
-
Enter rules one per line, press Enter on empty line to finish:
|
|
276
|
-
│ Use Given/When/Then format for scenarios
|
|
277
|
-
│ Reference existing patterns before inventing new ones
|
|
278
|
-
│
|
|
279
|
-
[Empty line to finish]
|
|
280
|
-
|
|
281
|
-
✓ Created openspec/config.yaml
|
|
282
|
-
|
|
283
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
284
|
-
|
|
285
|
-
🎉 Setup Complete!
|
|
286
|
-
|
|
287
|
-
📖 Config created at: openspec/config.yaml
|
|
288
|
-
• Default schema: spec-driven
|
|
289
|
-
• Project context: Added (4 lines)
|
|
290
|
-
• Rules: 1 artifact configured
|
|
291
|
-
|
|
292
|
-
Usage:
|
|
293
|
-
• New changes automatically use 'spec-driven' schema
|
|
294
|
-
• Context injected into all artifact instructions
|
|
295
|
-
• Rules applied to matching artifacts
|
|
296
|
-
|
|
297
|
-
To share with team:
|
|
298
|
-
git add openspec/config.yaml .claude/
|
|
299
|
-
git commit -m "Setup OpenSpec experimental workflow with project config"
|
|
300
|
-
|
|
301
|
-
[Rest of experimental setup output...]
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
**Key UX decisions:**
|
|
305
|
-
|
|
306
|
-
1. **Prompted during setup** - Natural place since users are already configuring experimental features
|
|
307
|
-
2. **Optional at every step** - Clear skip options, no forced configuration
|
|
308
|
-
3. **Guided prompts** - Schema descriptions, example context, artifact selection
|
|
309
|
-
4. **Immediate validation** - Config is validated after creation, errors shown immediately
|
|
310
|
-
5. **Clear output** - Shows exactly what was created and how it affects workflow
|
|
311
|
-
|
|
312
|
-
### Setting Up Config (Manual Creation)
|
|
313
|
-
|
|
314
|
-
Users can also create config manually (or skip during setup and add later):
|
|
315
|
-
|
|
316
|
-
```bash
|
|
317
|
-
# Create config file manually
|
|
318
|
-
cat > openspec/config.yaml << 'EOF'
|
|
319
|
-
schema: spec-driven
|
|
320
|
-
|
|
321
|
-
context: |
|
|
322
|
-
Tech stack: TypeScript, React, Node.js
|
|
323
|
-
We follow REST conventions documented in docs/api.md
|
|
324
|
-
All changes require backwards compatibility consideration
|
|
325
|
-
|
|
326
|
-
rules:
|
|
327
|
-
proposal:
|
|
328
|
-
- Must include rollback plan
|
|
329
|
-
- Must identify affected teams
|
|
330
|
-
specs:
|
|
331
|
-
- Use Given/When/Then format
|
|
332
|
-
EOF
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
### Effect on Workflow
|
|
336
|
-
|
|
337
|
-
Once config is created, it affects the experimental workflow in three ways:
|
|
338
|
-
|
|
339
|
-
**1. Default Schema Selection**
|
|
340
|
-
|
|
341
|
-
```bash
|
|
342
|
-
# Before config: must specify schema
|
|
343
|
-
/opsx:new my-feature --schema spec-driven
|
|
344
|
-
|
|
345
|
-
# After config (with schema: spec-driven): schema is automatic
|
|
346
|
-
/opsx:new my-feature
|
|
347
|
-
# Automatically uses spec-driven from config
|
|
348
|
-
|
|
349
|
-
# Override still works
|
|
350
|
-
/opsx:new my-feature --schema tdd
|
|
351
|
-
# Uses tdd, ignoring config
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
**2. Context Injection (All Artifacts)**
|
|
355
|
-
|
|
356
|
-
```bash
|
|
357
|
-
# Get instructions for any artifact
|
|
358
|
-
openspec instructions proposal --change my-feature
|
|
359
|
-
|
|
360
|
-
# Output now includes project context:
|
|
361
|
-
<context>
|
|
362
|
-
Tech stack: TypeScript, React, Node.js, PostgreSQL
|
|
363
|
-
API style: RESTful, documented in docs/api-conventions.md
|
|
364
|
-
Testing: Jest + React Testing Library
|
|
365
|
-
We value backwards compatibility for all public APIs
|
|
366
|
-
</context>
|
|
367
|
-
|
|
368
|
-
<template>
|
|
369
|
-
[Schema's proposal template]
|
|
370
|
-
</template>
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
Context appears in instructions for **all artifacts** (proposal, specs, design, tasks).
|
|
374
|
-
|
|
375
|
-
**3. Rules Injection (Per-Artifact)**
|
|
376
|
-
|
|
377
|
-
```bash
|
|
378
|
-
# Get instructions for artifact with rules configured
|
|
379
|
-
openspec instructions specs --change my-feature
|
|
380
|
-
|
|
381
|
-
# Output includes artifact-specific rules:
|
|
382
|
-
<context>
|
|
383
|
-
[Project context]
|
|
384
|
-
</context>
|
|
385
|
-
|
|
386
|
-
<rules>
|
|
387
|
-
- Use Given/When/Then format for scenarios
|
|
388
|
-
- Reference existing patterns before inventing new ones
|
|
389
|
-
</rules>
|
|
390
|
-
|
|
391
|
-
<template>
|
|
392
|
-
[Schema's specs template]
|
|
393
|
-
</template>
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
Rules only appear for the **specific artifact** they're configured for.
|
|
397
|
-
|
|
398
|
-
**Artifacts without rules** (e.g., design, tasks) don't get a `<rules>` section:
|
|
399
|
-
|
|
400
|
-
```bash
|
|
401
|
-
openspec instructions design --change my-feature
|
|
402
|
-
# Output: <context> then <template> only (no rules)
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
### Team Sharing
|
|
406
|
-
|
|
407
|
-
```bash
|
|
408
|
-
# Commit config
|
|
409
|
-
git add openspec/config.yaml
|
|
410
|
-
git commit -m "Add project config with context and rules"
|
|
411
|
-
|
|
412
|
-
# Everyone gets the same context and rules automatically
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
## Implementation Notes
|
|
416
|
-
|
|
417
|
-
### Files to Modify/Create
|
|
418
|
-
|
|
419
|
-
| File | Changes |
|
|
420
|
-
|------|---------|
|
|
421
|
-
| `src/core/project-config.ts` | **NEW FILE:** Types, parsing, reading, validation helpers |
|
|
422
|
-
| `src/core/artifact-graph/instruction-loader.ts` | Inject context (all artifacts) and rules (per-artifact) |
|
|
423
|
-
| `src/utils/change-utils.ts` | Use config schema as default in `createChange()` |
|
|
424
|
-
| `src/utils/change-metadata.ts` | Update `resolveSchemaForChange()` to check config |
|
|
425
|
-
| `src/commands/artifact-workflow.ts` | Extend `artifactExperimentalSetupCommand()` to prompt for config creation |
|
|
426
|
-
| `src/core/config-prompts.ts` | **NEW FILE:** Interactive prompts for config creation (reusable) |
|
|
427
|
-
|
|
428
|
-
### Config Location
|
|
429
|
-
|
|
430
|
-
Always at `./openspec/config.yaml` relative to project root. No XDG/global config for simplicity.
|
|
431
|
-
|
|
432
|
-
### Resolution Order Update
|
|
433
|
-
|
|
434
|
-
Schema selection order becomes:
|
|
435
|
-
|
|
436
|
-
```
|
|
437
|
-
1. --schema CLI flag # Explicit override
|
|
438
|
-
2. .openspec.yaml in change directory # Change-specific binding
|
|
439
|
-
3. openspec/config.yaml schema field # Project default (NEW)
|
|
440
|
-
4. "spec-driven" # Hardcoded fallback
|
|
441
|
-
```
|
|
442
|
-
|
|
443
|
-
### Validation
|
|
444
|
-
|
|
445
|
-
- `schema` must be a valid schema name (exists in resolution)
|
|
446
|
-
- `context` must be string
|
|
447
|
-
- `rules` must be object with string keys (artifact IDs) and array values
|
|
448
|
-
- Unknown artifact IDs in `rules` should warn, not error (allows forward compat)
|
|
449
|
-
|
|
450
|
-
### Experimental Setup Integration
|
|
451
|
-
|
|
452
|
-
**Changes to `artifactExperimentalSetupCommand()` in `src/commands/artifact-workflow.ts`:**
|
|
453
|
-
|
|
454
|
-
After creating skills and commands, the setup command will:
|
|
455
|
-
|
|
456
|
-
1. **Display section header:**
|
|
457
|
-
```
|
|
458
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
459
|
-
📋 Project Configuration (Optional)
|
|
460
|
-
Configure project defaults for OpenSpec workflows.
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
2. **Prompt: Create config?**
|
|
464
|
-
- Yes/No prompt with default "Yes"
|
|
465
|
-
- If No → skip entire config section, show usage instructions
|
|
466
|
-
- If Yes → continue to detailed prompts
|
|
467
|
-
|
|
468
|
-
3. **Prompt: Schema selection**
|
|
469
|
-
- Use `listSchemasWithInfo()` to get available schemas
|
|
470
|
-
- Display each with description and artifact flow
|
|
471
|
-
- Default to first schema (likely "spec-driven")
|
|
472
|
-
|
|
473
|
-
4. **Prompt: Project context**
|
|
474
|
-
- Multi-line input (or editor if available)
|
|
475
|
-
- Show examples: "tech stack, conventions, style guides"
|
|
476
|
-
- Allow empty (skip)
|
|
477
|
-
|
|
478
|
-
5. **Prompt: Per-artifact rules**
|
|
479
|
-
- Yes/No prompt, default "No" (rules are less common)
|
|
480
|
-
- If Yes:
|
|
481
|
-
- Show checklist of artifacts from selected schema
|
|
482
|
-
- For each selected artifact, prompt for rules (line-by-line input)
|
|
483
|
-
- Allow empty line to finish each artifact's rules
|
|
484
|
-
|
|
485
|
-
6. **Create and validate config:**
|
|
486
|
-
- Build `ProjectConfig` object from inputs
|
|
487
|
-
- Validate with Zod schema
|
|
488
|
-
- Write to `openspec/config.yaml` using YAML serializer
|
|
489
|
-
- If validation fails, show error and ask to retry or skip
|
|
490
|
-
|
|
491
|
-
7. **Display success summary:**
|
|
492
|
-
- Path to created config
|
|
493
|
-
- Summary: schema used, context added (line count), rules count
|
|
494
|
-
- Usage examples showing how config affects workflow
|
|
495
|
-
- Suggestion to commit config to git
|
|
496
|
-
|
|
497
|
-
**Error handling:**
|
|
498
|
-
- Invalid schema selection → show available schemas with fuzzy match suggestions, retry
|
|
499
|
-
- Context too large (>50KB) → reject with error, ask to reduce size
|
|
500
|
-
- Rules reference invalid artifact → warn but continue (forward compat)
|
|
501
|
-
- File write fails → show error, suggest manual creation
|
|
502
|
-
- Config already exists → show message, skip config section, continue with setup
|
|
503
|
-
- User cancellation (Ctrl+C) → log "Config creation cancelled", continue with rest of setup (skills/commands already created)
|
|
504
|
-
|
|
505
|
-
**If config already exists:**
|
|
506
|
-
|
|
507
|
-
When `openspec/config.yaml` already exists:
|
|
508
|
-
|
|
509
|
-
```bash
|
|
510
|
-
$ openspec artifact-experimental-setup
|
|
511
|
-
|
|
512
|
-
[Skills and commands created...]
|
|
513
|
-
|
|
514
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
515
|
-
|
|
516
|
-
📋 Project Configuration
|
|
517
|
-
|
|
518
|
-
ℹ️ openspec/config.yaml already exists. Skipping config creation.
|
|
519
|
-
|
|
520
|
-
To update config, edit openspec/config.yaml manually or:
|
|
521
|
-
1. Delete openspec/config.yaml
|
|
522
|
-
2. Run openspec artifact-experimental-setup again
|
|
523
|
-
|
|
524
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
525
|
-
|
|
526
|
-
[Rest of setup output...]
|
|
527
|
-
```
|
|
528
|
-
|
|
529
|
-
This prevents accidentally overwriting user's config.
|
|
530
|
-
|
|
531
|
-
**Implementation approach:**
|
|
532
|
-
|
|
533
|
-
Create separate `src/core/config-prompts.ts` module:
|
|
534
|
-
|
|
535
|
-
```typescript
|
|
536
|
-
export interface ConfigPromptResult {
|
|
537
|
-
createConfig: boolean;
|
|
538
|
-
schema?: string;
|
|
539
|
-
context?: string;
|
|
540
|
-
rules?: Record<string, string[]>;
|
|
541
|
-
}
|
|
542
|
-
|
|
543
|
-
export async function promptForConfig(): Promise<ConfigPromptResult> {
|
|
544
|
-
// Prompt logic using inquirer or similar
|
|
545
|
-
// Returns structured result for config creation
|
|
546
|
-
// Throws ExitPromptError on Ctrl+C (handled by caller)
|
|
547
|
-
}
|
|
548
|
-
```
|
|
549
|
-
|
|
550
|
-
**Ctrl+C handling in setup command:**
|
|
551
|
-
|
|
552
|
-
```typescript
|
|
553
|
-
try {
|
|
554
|
-
const configResult = await promptForConfig();
|
|
555
|
-
if (configResult.createConfig) {
|
|
556
|
-
writeConfigFile(configResult);
|
|
557
|
-
console.log('✓ Created openspec/config.yaml');
|
|
558
|
-
}
|
|
559
|
-
} catch (error) {
|
|
560
|
-
if (error.name === 'ExitPromptError') {
|
|
561
|
-
console.log('\nℹ️ Config creation cancelled');
|
|
562
|
-
console.log(' Skills and commands already created');
|
|
563
|
-
console.log(' Run setup again to create config later');
|
|
564
|
-
// Continue with rest of setup (not a fatal error)
|
|
565
|
-
} else {
|
|
566
|
-
throw error; // Re-throw unexpected errors
|
|
567
|
-
}
|
|
568
|
-
}
|
|
569
|
-
```
|
|
570
|
-
|
|
571
|
-
This keeps prompts reusable and testable separately from the setup command.
|
|
572
|
-
|
|
573
|
-
### Dependencies
|
|
574
|
-
|
|
575
|
-
**Interactive Prompting Library:**
|
|
576
|
-
|
|
577
|
-
The experimental setup command will need an interactive prompting library for the config creation flow. Options:
|
|
578
|
-
|
|
579
|
-
1. **@inquirer/prompts** (recommended)
|
|
580
|
-
- Modern, tree-shakeable, TypeScript-first
|
|
581
|
-
- Individual imports: `@inquirer/input`, `@inquirer/confirm`, `@inquirer/checkbox`, `@inquirer/editor`
|
|
582
|
-
- Already used in OpenSpec (if not, lightweight addition)
|
|
583
|
-
|
|
584
|
-
2. **inquirer** (classic)
|
|
585
|
-
- More established, larger ecosystem
|
|
586
|
-
- Heavier bundle size
|
|
587
|
-
- Single package with all prompt types
|
|
588
|
-
|
|
589
|
-
**Prompts needed:**
|
|
590
|
-
- `confirm` - "Create config?" "Add rules?"
|
|
591
|
-
- `select` - Schema selection with descriptions
|
|
592
|
-
- `editor` or multi-line `input` - Project context
|
|
593
|
-
- `checkbox` - Artifact selection for rules
|
|
594
|
-
- `input` (repeated) - Rule entry (line-by-line)
|
|
595
|
-
|
|
596
|
-
**Alternative (no dependency):**
|
|
597
|
-
|
|
598
|
-
Use Node's built-in `readline` for basic prompts:
|
|
599
|
-
- More code to write
|
|
600
|
-
- Less polished UX (no arrow key navigation, checkbox selection)
|
|
601
|
-
- Zero dependency cost
|
|
602
|
-
|
|
603
|
-
**Recommendation:** Use `@inquirer/prompts` for best UX. Config setup is a one-time operation where UX matters.
|
|
604
|
-
|
|
605
|
-
### YAML Serialization
|
|
606
|
-
|
|
607
|
-
Config creation needs YAML serialization:
|
|
608
|
-
|
|
609
|
-
- **yaml** package (already a dependency)
|
|
610
|
-
- Use `yaml.stringify()` to write config
|
|
611
|
-
- Preserve multi-line strings with `|` literal style
|
|
612
|
-
- Format: 2-space indent, no quotes unless needed
|
|
613
|
-
|
|
614
|
-
Example:
|
|
615
|
-
```typescript
|
|
616
|
-
import { stringify } from 'yaml';
|
|
617
|
-
|
|
618
|
-
const config = {
|
|
619
|
-
schema: 'spec-driven',
|
|
620
|
-
context: 'Multi-line\ncontext\nhere',
|
|
621
|
-
rules: { proposal: ['Rule 1', 'Rule 2'] }
|
|
622
|
-
};
|
|
623
|
-
|
|
624
|
-
const yamlContent = stringify(config, {
|
|
625
|
-
indent: 2,
|
|
626
|
-
defaultStringType: 'QUOTE_DOUBLE',
|
|
627
|
-
defaultKeyType: 'PLAIN',
|
|
628
|
-
});
|
|
629
|
-
// context will use | literal style automatically for multi-line
|
|
630
|
-
```
|
|
631
|
-
|
|
632
|
-
## Testing Considerations
|
|
633
|
-
|
|
634
|
-
**Core Config Functionality:**
|
|
635
|
-
- Create config with all fields (schema, context, rules), verify parsing
|
|
636
|
-
- Create minimal config (schema only), verify parsing
|
|
637
|
-
- Verify context appears in instruction output for all artifacts
|
|
638
|
-
- Verify rules appear only for matching artifact (not all artifacts)
|
|
639
|
-
- Verify schema from config is used for new changes
|
|
640
|
-
- Verify CLI `--schema` flag overrides config
|
|
641
|
-
- Verify change's `.openspec.yaml` overrides config
|
|
642
|
-
- Verify graceful handling of missing config (fallback to defaults)
|
|
643
|
-
- Verify graceful handling of invalid YAML syntax (warning, fallback)
|
|
644
|
-
- Verify graceful handling of invalid schema (warning, show valid schemas)
|
|
645
|
-
- Verify unknown artifact IDs in rules emit warnings but don't halt
|
|
646
|
-
|
|
647
|
-
**Schema Resolution Precedence:**
|
|
648
|
-
- Test all four levels of schema resolution:
|
|
649
|
-
1. CLI flag `--schema` (highest priority)
|
|
650
|
-
2. Change metadata `.openspec.yaml`
|
|
651
|
-
3. Project config `openspec/config.yaml`
|
|
652
|
-
4. Hardcoded default "spec-driven" (lowest priority)
|
|
653
|
-
- Verify each level correctly overrides lower levels
|
|
654
|
-
|
|
655
|
-
**Context and Rules Injection:**
|
|
656
|
-
- Verify context injection uses `<context>` XML-style tags
|
|
657
|
-
- Verify rules injection uses `<rules>` XML-style tags with bullets
|
|
658
|
-
- Verify injection order: `<context>` → `<rules>` → `<template>`
|
|
659
|
-
- Verify multi-line context is preserved
|
|
660
|
-
- Verify special characters in context/rules are not escaped
|
|
661
|
-
- Verify empty context/rules don't create tags
|
|
662
|
-
|
|
663
|
-
**Experimental Setup Integration:**
|
|
664
|
-
- Test `artifact-experimental-setup` with user skipping config creation
|
|
665
|
-
- Test `artifact-experimental-setup` with minimal config (schema only)
|
|
666
|
-
- Test `artifact-experimental-setup` with full config (schema + context + rules)
|
|
667
|
-
- Test schema selection from available schemas
|
|
668
|
-
- Test multi-line context input
|
|
669
|
-
- Test per-artifact rules prompts
|
|
670
|
-
- Test artifact selection (checkboxes)
|
|
671
|
-
- Test validation errors during config creation
|
|
672
|
-
- Test file write errors (permissions, etc.)
|
|
673
|
-
- Verify created config can be parsed by `readProjectConfig()`
|
|
674
|
-
- Verify success summary shows correct information
|
|
675
|
-
|
|
676
|
-
**Edge Cases:**
|
|
677
|
-
- Config file exists but is empty → treat as invalid, warn
|
|
678
|
-
- Config has `.yml` extension instead of `.yaml` → accept both
|
|
679
|
-
- Both `.yaml` and `.yml` exist → prefer `.yaml`
|
|
680
|
-
- Context contains YAML-significant characters → properly escape in output
|
|
681
|
-
- Rules array contains empty strings → filter out or warn
|
|
682
|
-
- Schema references non-existent schema → error with suggestions
|
|
683
|
-
- Config in subdirectory (not project root) → not found, use defaults
|
|
684
|
-
|
|
685
|
-
**Backward Compatibility:**
|
|
686
|
-
- Existing projects without config continue to work
|
|
687
|
-
- Existing changes with `.openspec.yaml` metadata aren't affected by config
|
|
688
|
-
- Adding config to existing project doesn't break in-progress changes
|
|
689
|
-
|
|
690
|
-
**Integration Tests:**
|
|
691
|
-
- Create config → create change → verify schema used
|
|
692
|
-
- Create config → get instructions → verify context injected
|
|
693
|
-
- Create config → get instructions → verify rules injected
|
|
694
|
-
- Update config → verify changes reflected immediately (no caching)
|
|
695
|
-
- Run `artifact-experimental-setup` → create config → create change → verify flow
|
|
696
|
-
|
|
697
|
-
## Related Changes
|
|
698
|
-
|
|
699
|
-
- **project-local-schemas**: Enables `schema: my-workflow` to reference project-local schemas
|
|
700
|
-
|
|
701
|
-
## Appendix: Full Config Schema
|
|
702
|
-
|
|
703
|
-
```typescript
|
|
704
|
-
import { z } from 'zod';
|
|
705
|
-
|
|
706
|
-
// Zod schema serves as both runtime validation and documentation
|
|
707
|
-
// Type is inferred from schema for type safety
|
|
708
|
-
export const ProjectConfigSchema = z.object({
|
|
709
|
-
// Required: which schema to use (e.g., "spec-driven", "tdd", or project-local schema name)
|
|
710
|
-
schema: z.string().min(1).describe('The workflow schema to use (e.g., "spec-driven", "tdd")'),
|
|
711
|
-
|
|
712
|
-
// Optional: project context (injected into all artifact instructions)
|
|
713
|
-
// Max size: 50KB (enforced during parsing)
|
|
714
|
-
context: z.string().optional().describe('Project context injected into all artifact instructions'),
|
|
715
|
-
|
|
716
|
-
// Optional: per-artifact rules (additive to schema's built-in guidance)
|
|
717
|
-
rules: z.record(
|
|
718
|
-
z.string(), // artifact ID
|
|
719
|
-
z.array(z.string()) // list of rules
|
|
720
|
-
).optional().describe('Per-artifact rules, keyed by artifact ID'),
|
|
721
|
-
});
|
|
722
|
-
|
|
723
|
-
export type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
|
|
724
|
-
|
|
725
|
-
// Note: Parsing uses safeParse() on individual fields for resilient error handling
|
|
726
|
-
// Invalid fields are warned about but don't prevent other fields from being loaded
|
|
727
|
-
```
|
|
728
|
-
|
|
729
|
-
## Appendix: Visual Summary
|
|
730
|
-
|
|
731
|
-
```
|
|
732
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
733
|
-
│ │
|
|
734
|
-
│ User provides: │
|
|
735
|
-
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
736
|
-
│ │ openspec/config.yaml │ │
|
|
737
|
-
│ │ │ │
|
|
738
|
-
│ │ schema: spec-driven │ │
|
|
739
|
-
│ │ context: "We use React, TypeScript..." │ │
|
|
740
|
-
│ │ rules: │ │
|
|
741
|
-
│ │ proposal: [...] │ │
|
|
742
|
-
│ └─────────────────────────────────────────────────────────┘ │
|
|
743
|
-
│ │ │
|
|
744
|
-
│ ▼ │
|
|
745
|
-
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
746
|
-
│ │ OpenSpec merges: │ │
|
|
747
|
-
│ │ │ │
|
|
748
|
-
│ │ Schema (spec-driven) │ │
|
|
749
|
-
│ │ + User's context │ │
|
|
750
|
-
│ │ + User's rules │ │
|
|
751
|
-
│ │ ───────────────────────── │ │
|
|
752
|
-
│ │ = Enriched instructions │ │
|
|
753
|
-
│ └─────────────────────────────────────────────────────────┘ │
|
|
754
|
-
│ │ │
|
|
755
|
-
│ ▼ │
|
|
756
|
-
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
757
|
-
│ │ Agent sees (for proposal artifact): │ │
|
|
758
|
-
│ │ │ │
|
|
759
|
-
│ │ <context> │ │
|
|
760
|
-
│ │ We use React, TypeScript... │ │
|
|
761
|
-
│ │ </context> │ │
|
|
762
|
-
│ │ │ │
|
|
763
|
-
│ │ <rules> │ │
|
|
764
|
-
│ │ - Include rollback plan │ │
|
|
765
|
-
│ │ - Identify affected teams │ │
|
|
766
|
-
│ │ </rules> │ │
|
|
767
|
-
│ │ │ │
|
|
768
|
-
│ │ <template> │ │
|
|
769
|
-
│ │ [Built-in proposal template] │ │
|
|
770
|
-
│ │ </template> │ │
|
|
771
|
-
│ └─────────────────────────────────────────────────────────┘ │
|
|
772
|
-
│ │
|
|
773
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
774
|
-
```
|