sauron-cli 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.genesis/prompts/CLI Init_ Atualiza/303/247/303/243o com Mem/303/263ria.md" +133 -0
- package/.genesis/prompts/prompt-sauron-update-intelligence.md +20 -0
- package/README.md +4 -2
- package/dist/index.js +59 -15
- package/package.json +1 -1
- package/templates/.agents/rules/memory.md +68 -68
- package/templates/.agents/skills/wiki/SKILL.md +14 -14
- package/55ea973d-e255-4f08-a313-a5d68243bd2d.png +0 -0
- package/OpenSpec-main/.actrc +0 -1
- package/OpenSpec-main/.changeset/README.md +0 -97
- package/OpenSpec-main/.changeset/config.json +0 -15
- package/OpenSpec-main/.coderabbit.yaml +0 -11
- package/OpenSpec-main/.devcontainer/README.md +0 -92
- package/OpenSpec-main/.devcontainer/devcontainer.json +0 -68
- package/OpenSpec-main/.github/CODEOWNERS +0 -2
- package/OpenSpec-main/.github/workflows/README.md +0 -20
- package/OpenSpec-main/.github/workflows/ci.yml +0 -346
- package/OpenSpec-main/.github/workflows/release-prepare.yml +0 -60
- package/OpenSpec-main/CHANGELOG.md +0 -594
- package/OpenSpec-main/LICENSE +0 -22
- package/OpenSpec-main/MAINTAINERS.md +0 -17
- package/OpenSpec-main/README.md +0 -206
- package/OpenSpec-main/README_OLD.md +0 -475
- package/OpenSpec-main/assets/openspec_bg.png +0 -0
- package/OpenSpec-main/assets/openspec_dashboard.png +0 -0
- package/OpenSpec-main/assets/openspec_pixel_dark.svg +0 -89
- package/OpenSpec-main/assets/openspec_pixel_light.svg +0 -89
- package/OpenSpec-main/bin/openspec.js +0 -5
- package/OpenSpec-main/build.js +0 -31
- package/OpenSpec-main/eslint.config.js +0 -42
- package/OpenSpec-main/flake.lock +0 -27
- package/OpenSpec-main/flake.nix +0 -114
- package/OpenSpec-main/openspec/changes/IMPLEMENTATION_ORDER.md +0 -68
- package/OpenSpec-main/openspec/changes/add-artifact-regeneration-support/proposal.md +0 -136
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/proposal.md +0 -93
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/change-creation/spec.md +0 -15
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/change-stacking-workflow/spec.md +0 -65
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/cli-change/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/openspec-conventions/spec.md +0 -29
- package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/tasks.md +0 -39
- package/OpenSpec-main/openspec/changes/add-global-install-scope/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/add-global-install-scope/design.md +0 -161
- package/OpenSpec-main/openspec/changes/add-global-install-scope/proposal.md +0 -101
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/ai-tool-paths/spec.md +0 -35
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-config/spec.md +0 -21
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-init/spec.md +0 -28
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-update/spec.md +0 -34
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/command-generation/spec.md +0 -22
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/global-config/spec.md +0 -24
- package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/installation-scope/spec.md +0 -71
- package/OpenSpec-main/openspec/changes/add-global-install-scope/tasks.md +0 -61
- package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/proposal.md +0 -45
- package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/specs/developer-qa-workflow/spec.md +0 -49
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/proposal.md +0 -111
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/specs/cli-init/spec.md +0 -121
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/specs/cli-update/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/tasks.md +0 -53
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/design.md +0 -86
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/proposal.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/specs/cli-update/spec.md +0 -59
- package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/tasks.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/specs/cli-list/spec.md +0 -69
- package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/tasks.md +0 -26
- package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/design.md +0 -64
- package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/proposal.md +0 -18
- package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/tasks.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/design.md +0 -104
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/proposal.md +0 -30
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/specs/cli-init/spec.md +0 -148
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/tasks.md +0 -38
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/proposal.md +0 -24
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/specs/openspec-conventions/spec.md +0 -120
- package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/tasks.md +0 -38
- package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/specs/openspec-docs/README.md +0 -472
- package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/tasks.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/proposal.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/specs/cli-archive/spec.md +0 -111
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/tasks.md +0 -44
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/proposal.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/specs/cli-diff/spec.md +0 -77
- package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/tasks.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/design.md +0 -56
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/proposal.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-change/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-list/spec.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/tasks.md +0 -34
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-change/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-show/spec.md +0 -83
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-spec/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/tasks.md +0 -142
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/specs/cli-archive/spec.md +0 -191
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/tasks.md +0 -57
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/design.md +0 -45
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/proposal.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/specs/cli-spec/spec.md +0 -43
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/tasks.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/design.md +0 -104
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/proposal.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-archive/spec.md +0 -18
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-diff/spec.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/tasks.md +0 -59
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/proposal.md +0 -93
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-archive/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-diff/spec.md +0 -45
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/openspec-conventions/spec.md +0 -101
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/tasks.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/design.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/proposal.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/cli-list/spec.md +0 -57
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/openspec-conventions/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/tasks.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-change/spec.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-spec/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-validate/spec.md +0 -149
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/tasks.md +0 -81
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/proposal.md +0 -40
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/specs/cli-update/spec.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/tasks.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/specs/cli-validate/spec.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/tasks.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/proposal.md +0 -36
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/specs/openspec-conventions/spec.md +0 -192
- package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/tasks.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/proposal.md +0 -38
- package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/specs/cli-view/spec.md +0 -109
- package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/tasks.md +0 -47
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/proposal.md +0 -28
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-init/spec.md +0 -71
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-update/spec.md +0 -41
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/tasks.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/proposal.md +0 -35
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/specs/cli-init/spec.md +0 -45
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/tasks.md +0 -16
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/proposal.md +0 -119
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-init/spec.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-update/spec.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/tasks.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/proposal.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/tasks.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-deterministic-tests/proposal.md +0 -78
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-deterministic-tests/tasks.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/specs/cli-init/spec.md +0 -92
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/tasks.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-remove-diff-command/proposal.md +0 -81
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-remove-diff-command/tasks.md +0 -37
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/specs/cli-view/spec.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/tasks.md +0 -8
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/proposal.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-init/spec.md +0 -40
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-update/spec.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/openspec-conventions/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/tasks.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/design.md +0 -130
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/proposal.md +0 -117
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/tasks.md +0 -69
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/proposal.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/specs/cli-validate/spec.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/tasks.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-init/spec.md +0 -56
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-update/spec.md +0 -41
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/tasks.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-init/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-update/spec.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/tasks.md +0 -30
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/proposal.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-init/spec.md +0 -43
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-update/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/tasks.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/proposal.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/specs/cli-init/spec.md +0 -39
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/tasks.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/proposal.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-init/spec.md +0 -42
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-update/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/tasks.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/proposal.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/specs/cli-validate/spec.md +0 -39
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/tasks.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/proposal.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/specs/docs-agent-instructions/spec.md +0 -33
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/tasks.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-slim-root-agents-file/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-slim-root-agents-file/tasks.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/proposal.md +0 -14
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/specs/cli-init/spec.md +0 -10
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/tasks.md +0 -8
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/proposal.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-init/spec.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-update/spec.md +0 -10
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/tasks.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-release-automation/proposal.md +0 -49
- package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-release-automation/tasks.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/proposal.md +0 -17
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/specs/cli-update/spec.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/tasks.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/proposal.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/specs/cli-init/spec.md +0 -97
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/tasks.md +0 -19
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/specs/cli-init/spec.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/tasks.md +0 -7
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/proposal.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-init/spec.md +0 -54
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-update/spec.md +0 -54
- package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/tasks.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/design.md +0 -525
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/proposal.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/specs/cli-completion/spec.md +0 -300
- package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/tasks.md +0 -81
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/design.md +0 -105
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/specs/global-config/spec.md +0 -76
- package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/tasks.md +0 -26
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/design.md +0 -89
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/proposal.md +0 -60
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/specs/cli-config/spec.md +0 -213
- package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/tasks.md +0 -28
- package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/proposal.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/specs/cli-completion/spec.md +0 -328
- package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/tasks.md +0 -49
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/design.md +0 -197
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/proposal.md +0 -18
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/specs/artifact-graph/spec.md +0 -103
- package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/tasks.md +0 -61
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/design.md +0 -74
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/proposal.md +0 -45
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/specs/change-creation/spec.md +0 -63
- package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/tasks.md +0 -30
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/design.md +0 -112
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/proposal.md +0 -33
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/specs/cli-artifact-workflow/spec.md +0 -153
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/tasks.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/design.md +0 -149
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/specs/instruction-loader/spec.md +0 -70
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/tasks.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/design.md +0 -129
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/specs/artifact-graph/spec.md +0 -49
- package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/tasks.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/design.md +0 -151
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/proposal.md +0 -101
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/specs/cli-artifact-workflow/spec.md +0 -109
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/specs/cli-view/spec.md +0 -60
- package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/tasks.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/proposal.md +0 -11
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/specs/cli-init/spec.md +0 -105
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/specs/cli-update/spec.md +0 -92
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/tasks.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/proposal.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/specs/cli-init/spec.md +0 -105
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/specs/cli-update/spec.md +0 -92
- package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/tasks.md +0 -13
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-agent-schema-selection/proposal.md +0 -26
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-agent-schema-selection/tasks.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/design.md +0 -147
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/proposal.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/specs/cli-artifact-workflow/spec.md +0 -98
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/tasks.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/design.md +0 -77
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/proposal.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/specs/specs-sync-skill/spec.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/tasks.md +0 -40
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/proposal.md +0 -138
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md +0 -60
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/tasks.md +0 -35
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/design.md +0 -84
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/proposal.md +0 -28
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/specs/opsx-archive-skill/spec.md +0 -122
- package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/tasks.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/design.md +0 -94
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/specs/nix-flake-support/spec.md +0 -79
- package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/tasks.md +0 -65
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/design.md +0 -117
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/proposal.md +0 -23
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/specs/flake-update-script/spec.md +0 -93
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/tasks.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/design.md +0 -175
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/proposal.md +0 -37
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/specs/global-config/spec.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/specs/telemetry/spec.md +0 -116
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/tasks.md +0 -47
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/proposal.md +0 -16
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/specs/cli-init/spec.md +0 -75
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/specs/cli-update/spec.md +0 -56
- package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/tasks.md +0 -6
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/design.md +0 -206
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/proposal.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/specs/ci-nix-validation/spec.md +0 -104
- package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/tasks.md +0 -49
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/README.md +0 -3
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/design.md +0 -70
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/proposal.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/specs/no-changes.md +0 -9
- package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/tasks.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/proposal.md +0 -20
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/specs/cli-feedback/spec.md +0 -188
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/tasks.md +0 -30
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/design.md +0 -115
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/proposal.md +0 -27
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/specs/opsx-onboard-skill/spec.md +0 -162
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/tasks.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/design.md +0 -96
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/proposal.md +0 -48
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/specs/opsx-verify-skill/spec.md +0 -190
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/tasks.md +0 -15
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/design.md +0 -193
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/proposal.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/specs/cli-init/spec.md +0 -176
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/specs/legacy-cleanup/spec.md +0 -158
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/tasks.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/design.md +0 -144
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/proposal.md +0 -36
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/ai-tool-paths/spec.md +0 -63
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/cli-artifact-workflow/spec.md +0 -60
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/command-generation/spec.md +0 -98
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/tasks.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/design.md +0 -665
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/proposal.md +0 -774
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/config-loading/spec.md +0 -119
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/context-injection/spec.md +0 -51
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/rules-injection/spec.md +0 -99
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/schema-resolution/spec.md +0 -83
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/tasks.md +0 -72
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/design.md +0 -117
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/proposal.md +0 -167
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/specs/schema-resolution/spec.md +0 -88
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/tasks.md +0 -28
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/design.md +0 -113
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/proposal.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-fork-command/spec.md +0 -66
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-init-command/spec.md +0 -71
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-validate-command/spec.md +0 -86
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-which-command/spec.md +0 -65
- package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/tasks.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/README.md +0 -3
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/design.md +0 -85
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/proposal.md +0 -38
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/specs/ai-tool-paths/spec.md +0 -12
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/specs/cli-init/spec.md +0 -37
- package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/tasks.md +0 -22
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/design.md +0 -208
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/proposal.md +0 -142
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/specs/openspec-conventions/spec.md +0 -29
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/specs/workspace-foundation/spec.md +0 -199
- package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/tasks.md +0 -56
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/design.md +0 -356
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/proposal.md +0 -128
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/cli-artifact-workflow/spec.md +0 -24
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/workspace-foundation/spec.md +0 -35
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/workspace-links/spec.md +0 -356
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/tasks.md +0 -121
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/design.md +0 -266
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/proposal.md +0 -65
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/specs/workspace-foundation/spec.md +0 -76
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/specs/workspace-open/spec.md +0 -199
- package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/tasks.md +0 -89
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/design.md +0 -242
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/proposal.md +0 -78
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/artifact-graph/spec.md +0 -36
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/change-creation/spec.md +0 -42
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-artifact-workflow/spec.md +0 -100
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-config/spec.md +0 -55
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-update/spec.md +0 -21
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/openspec-conventions/spec.md +0 -32
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/schema-resolution/spec.md +0 -25
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/workspace-change-planning/spec.md +0 -67
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/workspace-links/spec.md +0 -163
- package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/tasks.md +0 -133
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/design.md +0 -48
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/proposal.md +0 -26
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/specs/command-generation/spec.md +0 -63
- package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/tasks.md +0 -19
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/design.md +0 -38
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/proposal.md +0 -25
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/specs/graceful-status-empty/spec.md +0 -27
- package/OpenSpec-main/openspec/changes/graceful-status-no-changes/tasks.md +0 -16
- package/OpenSpec-main/openspec/changes/schema-alias-support/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/schema-alias-support/proposal.md +0 -28
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/design.md +0 -288
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/proposal.md +0 -202
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/cli-init/spec.md +0 -199
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/cli-update/spec.md +0 -177
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/profiles/spec.md +0 -142
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/propose-workflow/spec.md +0 -42
- package/OpenSpec-main/openspec/changes/simplify-skill-installation/tasks.md +0 -132
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/design.md +0 -149
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/proposal.md +0 -47
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/specs/template-artifact-pipeline/spec.md +0 -89
- package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/tasks.md +0 -41
- package/OpenSpec-main/openspec/changes/workspace-agent-guidance/.openspec.yaml +0 -2
- package/OpenSpec-main/openspec/changes/workspace-agent-guidance/proposal.md +0 -100
- package/OpenSpec-main/openspec/changes/workspace-apply-repo-slice/proposal.md +0 -58
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/HISTORICAL_DIRECTION.md +0 -511
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/POC_REFERENCE_GUIDE.md +0 -266
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/README.md +0 -107
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/START_HERE.md +0 -105
- package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/proposal.md +0 -62
- package/OpenSpec-main/openspec/changes/workspace-verify-and-archive/proposal.md +0 -57
- package/OpenSpec-main/openspec/config.yaml +0 -36
- package/OpenSpec-main/openspec/explorations/explore-workflow-ux.md +0 -116
- package/OpenSpec-main/openspec/explorations/workspace-architecture.md +0 -857
- package/OpenSpec-main/openspec/explorations/workspace-roadmap.md +0 -367
- package/OpenSpec-main/openspec/explorations/workspace-user-journeys.md +0 -2259
- package/OpenSpec-main/openspec/explorations/workspace-ux-simplification.md +0 -491
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/.initiative.yaml +0 -27
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/README.md +0 -33
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/decisions.md +0 -204
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/direction.md +0 -447
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/questions.md +0 -23
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/roadmap.md +0 -759
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/tasks.md +0 -308
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/evidence.md +0 -154
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/plan.md +0 -90
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/tasks.md +0 -44
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/evidence.md +0 -68
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/plan.md +0 -80
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/tasks.md +0 -23
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/evidence.md +0 -43
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/plan.md +0 -85
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/tasks.md +0 -17
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/evidence.md +0 -77
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/plan.md +0 -198
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/tasks.md +0 -14
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/evidence.md +0 -99
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/plan.md +0 -236
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/tasks.md +0 -21
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/evidence.md +0 -97
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/plan.md +0 -333
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/tasks.md +0 -29
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/evidence.md +0 -97
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/plan.md +0 -184
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/tasks.md +0 -27
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/evidence.md +0 -239
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/plan.md +0 -279
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/tasks.md +0 -22
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/decision-review.md +0 -64
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/evidence.md +0 -106
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/plan.md +0 -141
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/tasks.md +0 -22
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/10-let-workspaces-open-initiatives/plan.md +0 -430
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/10-let-workspaces-open-initiatives/tasks.md +0 -43
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/notes.md +0 -289
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/plan.md +0 -39
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/tasks.md +0 -8
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/evidence.md +0 -45
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/plan.md +0 -150
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/tasks.md +0 -23
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/evidence.md +0 -25
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/plan.md +0 -98
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/tasks.md +0 -25
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/14-workspaces-beta-guide-split/plan.md +0 -37
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/14-workspaces-beta-guide-split/tasks.md +0 -9
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/evidence.md +0 -140
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/plan.md +0 -344
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/tasks.md +0 -39
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/16-add-escalation-ux/plan.md +0 -26
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/16-add-escalation-ux/tasks.md +0 -7
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/17-harden-team-shared-coordination/plan.md +0 -25
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/17-harden-team-shared-coordination/tasks.md +0 -7
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/evidence.md +0 -397
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/plan.md +0 -180
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/tasks.md +0 -28
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/19-review-workspace-beta-compatibility-before-public-release/plan.md +0 -62
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/19-review-workspace-beta-compatibility-before-public-release/tasks.md +0 -16
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/evidence.md +0 -47
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/plan.md +0 -90
- package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/tasks.md +0 -18
- package/OpenSpec-main/openspec/specs/ai-tool-paths/spec.md +0 -63
- package/OpenSpec-main/openspec/specs/artifact-graph/spec.md +0 -165
- package/OpenSpec-main/openspec/specs/change-creation/spec.md +0 -108
- package/OpenSpec-main/openspec/specs/ci-nix-validation/spec.md +0 -107
- package/OpenSpec-main/openspec/specs/cli-archive/spec.md +0 -210
- package/OpenSpec-main/openspec/specs/cli-artifact-workflow/spec.md +0 -398
- package/OpenSpec-main/openspec/specs/cli-change/spec.md +0 -92
- package/OpenSpec-main/openspec/specs/cli-completion/spec.md +0 -432
- package/OpenSpec-main/openspec/specs/cli-config/spec.md +0 -318
- package/OpenSpec-main/openspec/specs/cli-feedback/spec.md +0 -193
- package/OpenSpec-main/openspec/specs/cli-init/spec.md +0 -269
- package/OpenSpec-main/openspec/specs/cli-list/spec.md +0 -103
- package/OpenSpec-main/openspec/specs/cli-show/spec.md +0 -86
- package/OpenSpec-main/openspec/specs/cli-spec/spec.md +0 -88
- package/OpenSpec-main/openspec/specs/cli-update/spec.md +0 -229
- package/OpenSpec-main/openspec/specs/cli-validate/spec.md +0 -219
- package/OpenSpec-main/openspec/specs/cli-view/spec.md +0 -129
- package/OpenSpec-main/openspec/specs/command-generation/spec.md +0 -97
- package/OpenSpec-main/openspec/specs/config-loading/spec.md +0 -122
- package/OpenSpec-main/openspec/specs/context-injection/spec.md +0 -53
- package/OpenSpec-main/openspec/specs/docs-agent-instructions/spec.md +0 -62
- package/OpenSpec-main/openspec/specs/global-config/spec.md +0 -101
- package/OpenSpec-main/openspec/specs/instruction-loader/spec.md +0 -70
- package/OpenSpec-main/openspec/specs/legacy-cleanup/spec.md +0 -163
- package/OpenSpec-main/openspec/specs/openspec-conventions/spec.md +0 -556
- package/OpenSpec-main/openspec/specs/opsx-archive-skill/spec.md +0 -128
- package/OpenSpec-main/openspec/specs/opsx-onboard-skill/spec.md +0 -167
- package/OpenSpec-main/openspec/specs/opsx-verify-skill/spec.md +0 -189
- package/OpenSpec-main/openspec/specs/rules-injection/spec.md +0 -102
- package/OpenSpec-main/openspec/specs/schema-fork-command/spec.md +0 -71
- package/OpenSpec-main/openspec/specs/schema-init-command/spec.md +0 -76
- package/OpenSpec-main/openspec/specs/schema-resolution/spec.md +0 -201
- package/OpenSpec-main/openspec/specs/schema-validate-command/spec.md +0 -91
- package/OpenSpec-main/openspec/specs/schema-which-command/spec.md +0 -70
- package/OpenSpec-main/openspec/specs/specs-sync-skill/spec.md +0 -72
- package/OpenSpec-main/openspec/specs/telemetry/spec.md +0 -122
- package/OpenSpec-main/openspec/specs/workspace-change-planning/spec.md +0 -71
- package/OpenSpec-main/openspec/specs/workspace-foundation/spec.md +0 -279
- package/OpenSpec-main/openspec/specs/workspace-links/spec.md +0 -529
- package/OpenSpec-main/openspec/specs/workspace-open/spec.md +0 -205
- package/OpenSpec-main/openspec-parallel-merge-plan.md +0 -98
- package/OpenSpec-main/package-lock.json +0 -4978
- package/OpenSpec-main/package.json +0 -84
- package/OpenSpec-main/pnpm-lock.yaml +0 -3187
- package/OpenSpec-main/schemas/spec-driven/schema.yaml +0 -153
- package/OpenSpec-main/schemas/spec-driven/templates/design.md +0 -19
- package/OpenSpec-main/schemas/spec-driven/templates/proposal.md +0 -23
- package/OpenSpec-main/schemas/spec-driven/templates/spec.md +0 -8
- package/OpenSpec-main/schemas/spec-driven/templates/tasks.md +0 -9
- package/OpenSpec-main/schemas/workspace-planning/schema.yaml +0 -72
- package/OpenSpec-main/schemas/workspace-planning/templates/design.md +0 -33
- package/OpenSpec-main/schemas/workspace-planning/templates/proposal.md +0 -28
- package/OpenSpec-main/schemas/workspace-planning/templates/spec.md +0 -9
- package/OpenSpec-main/schemas/workspace-planning/templates/tasks.md +0 -15
- package/OpenSpec-main/scripts/README.md +0 -37
- package/OpenSpec-main/scripts/pack-version-check.mjs +0 -111
- package/OpenSpec-main/scripts/postinstall.js +0 -83
- package/OpenSpec-main/scripts/test-postinstall.sh +0 -57
- package/OpenSpec-main/scripts/update-flake.sh +0 -128
- package/OpenSpec-main/test/cli-e2e/basic.test.ts +0 -205
- package/OpenSpec-main/test/commands/artifact-workflow.test.ts +0 -1063
- package/OpenSpec-main/test/commands/change-initiative-link.test.ts +0 -532
- package/OpenSpec-main/test/commands/change.interactive-show.test.ts +0 -45
- package/OpenSpec-main/test/commands/change.interactive-validate.test.ts +0 -48
- package/OpenSpec-main/test/commands/completion.test.ts +0 -278
- package/OpenSpec-main/test/commands/config-profile.test.ts +0 -532
- package/OpenSpec-main/test/commands/config.test.ts +0 -285
- package/OpenSpec-main/test/commands/context-store.test.ts +0 -692
- package/OpenSpec-main/test/commands/feedback.test.ts +0 -429
- package/OpenSpec-main/test/commands/initiative.test.ts +0 -907
- package/OpenSpec-main/test/commands/schema.test.ts +0 -467
- package/OpenSpec-main/test/commands/show.test.ts +0 -123
- package/OpenSpec-main/test/commands/spec.interactive-show.test.ts +0 -44
- package/OpenSpec-main/test/commands/spec.interactive-validate.test.ts +0 -44
- package/OpenSpec-main/test/commands/spec.test.ts +0 -324
- package/OpenSpec-main/test/commands/validate.enriched-output.test.ts +0 -49
- package/OpenSpec-main/test/commands/validate.test.ts +0 -147
- package/OpenSpec-main/test/commands/workspace-initiative-open.test.ts +0 -638
- package/OpenSpec-main/test/commands/workspace-open.test.ts +0 -123
- package/OpenSpec-main/test/commands/workspace.interactive.test.ts +0 -696
- package/OpenSpec-main/test/commands/workspace.test.ts +0 -1812
- package/OpenSpec-main/test/core/archive.test.ts +0 -869
- package/OpenSpec-main/test/core/artifact-graph/graph.test.ts +0 -268
- package/OpenSpec-main/test/core/artifact-graph/instruction-loader.test.ts +0 -609
- package/OpenSpec-main/test/core/artifact-graph/outputs.test.ts +0 -175
- package/OpenSpec-main/test/core/artifact-graph/resolver.test.ts +0 -651
- package/OpenSpec-main/test/core/artifact-graph/schema.test.ts +0 -207
- package/OpenSpec-main/test/core/artifact-graph/state.test.ts +0 -174
- package/OpenSpec-main/test/core/artifact-graph/workflow.integration.test.ts +0 -182
- package/OpenSpec-main/test/core/available-tools.test.ts +0 -167
- package/OpenSpec-main/test/core/collections/initiatives/operations.test.ts +0 -342
- package/OpenSpec-main/test/core/collections/initiatives/resolution.test.ts +0 -21
- package/OpenSpec-main/test/core/collections/initiatives/schema.test.ts +0 -201
- package/OpenSpec-main/test/core/collections/initiatives/templates.test.ts +0 -74
- package/OpenSpec-main/test/core/collections/runtime.test.ts +0 -214
- package/OpenSpec-main/test/core/command-generation/adapters.test.ts +0 -710
- package/OpenSpec-main/test/core/command-generation/generator.test.ts +0 -110
- package/OpenSpec-main/test/core/command-generation/registry.test.ts +0 -108
- package/OpenSpec-main/test/core/command-generation/types.test.ts +0 -79
- package/OpenSpec-main/test/core/commands/change-command.list.test.ts +0 -76
- package/OpenSpec-main/test/core/commands/change-command.show-validate.test.ts +0 -111
- package/OpenSpec-main/test/core/completions/command-registry.test.ts +0 -201
- package/OpenSpec-main/test/core/completions/completion-provider.test.ts +0 -288
- package/OpenSpec-main/test/core/completions/generators/bash-generator.test.ts +0 -586
- package/OpenSpec-main/test/core/completions/generators/fish-generator.test.ts +0 -549
- package/OpenSpec-main/test/core/completions/generators/powershell-generator.test.ts +0 -621
- package/OpenSpec-main/test/core/completions/generators/zsh-generator.test.ts +0 -425
- package/OpenSpec-main/test/core/completions/installers/bash-installer.test.ts +0 -484
- package/OpenSpec-main/test/core/completions/installers/fish-installer.test.ts +0 -321
- package/OpenSpec-main/test/core/completions/installers/powershell-installer.test.ts +0 -824
- package/OpenSpec-main/test/core/completions/installers/zsh-installer.test.ts +0 -750
- package/OpenSpec-main/test/core/config-schema.test.ts +0 -340
- package/OpenSpec-main/test/core/context-store/foundation.test.ts +0 -364
- package/OpenSpec-main/test/core/context-store/registry.test.ts +0 -599
- package/OpenSpec-main/test/core/converters/json-converter.test.ts +0 -184
- package/OpenSpec-main/test/core/global-config.test.ts +0 -371
- package/OpenSpec-main/test/core/init.test.ts +0 -786
- package/OpenSpec-main/test/core/legacy-cleanup.test.ts +0 -1162
- package/OpenSpec-main/test/core/list.test.ts +0 -165
- package/OpenSpec-main/test/core/migration.test.ts +0 -150
- package/OpenSpec-main/test/core/parsers/change-parser.test.ts +0 -52
- package/OpenSpec-main/test/core/parsers/markdown-parser.test.ts +0 -355
- package/OpenSpec-main/test/core/parsers/requirement-blocks.test.ts +0 -46
- package/OpenSpec-main/test/core/planning-home.test.ts +0 -120
- package/OpenSpec-main/test/core/profile-sync-drift.test.ts +0 -92
- package/OpenSpec-main/test/core/profiles.test.ts +0 -63
- package/OpenSpec-main/test/core/project-config.test.ts +0 -610
- package/OpenSpec-main/test/core/shared/skill-generation.test.ts +0 -301
- package/OpenSpec-main/test/core/shared/tool-detection.test.ts +0 -333
- package/OpenSpec-main/test/core/templates/skill-templates-parity.test.ts +0 -172
- package/OpenSpec-main/test/core/update.test.ts +0 -1810
- package/OpenSpec-main/test/core/validation.enriched-messages.test.ts +0 -74
- package/OpenSpec-main/test/core/validation.test.ts +0 -680
- package/OpenSpec-main/test/core/view.test.ts +0 -129
- package/OpenSpec-main/test/core/workspace/foundation.test.ts +0 -694
- package/OpenSpec-main/test/core/workspace/legacy-state.test.ts +0 -221
- package/OpenSpec-main/test/core/workspace/skills.test.ts +0 -69
- package/OpenSpec-main/test/fixtures/tmp-init/openspec/changes/c1/proposal.md +0 -7
- package/OpenSpec-main/test/fixtures/tmp-init/openspec/changes/c1/specs/alpha/spec.md +0 -8
- package/OpenSpec-main/test/fixtures/tmp-init/openspec/specs/alpha/spec.md +0 -12
- package/OpenSpec-main/test/helpers/path-env.ts +0 -26
- package/OpenSpec-main/test/helpers/run-cli.ts +0 -150
- package/OpenSpec-main/test/prompts/searchable-multi-select.test.ts +0 -220
- package/OpenSpec-main/test/specs/source-specs-normalization.test.ts +0 -63
- package/OpenSpec-main/test/telemetry/config.test.ts +0 -298
- package/OpenSpec-main/test/telemetry/index.test.ts +0 -219
- package/OpenSpec-main/test/utils/change-metadata.test.ts +0 -368
- package/OpenSpec-main/test/utils/change-utils.test.ts +0 -201
- package/OpenSpec-main/test/utils/command-references.test.ts +0 -83
- package/OpenSpec-main/test/utils/file-system.test.ts +0 -322
- package/OpenSpec-main/test/utils/interactive.test.ts +0 -125
- package/OpenSpec-main/test/utils/marker-updates.test.ts +0 -448
- package/OpenSpec-main/test/utils/shell-detection.test.ts +0 -185
- package/OpenSpec-main/vitest.config.ts +0 -47
- package/OpenSpec-main/vitest.setup.ts +0 -15
- package/Scanner CLI Inteligente para Projetos.md +0 -433
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
# Project-Local Schemas
|
|
2
|
-
|
|
3
|
-
## Summary
|
|
4
|
-
|
|
5
|
-
Add project-local schema resolution (`./openspec/schemas/`) as the highest priority in the schema lookup chain. This enables teams to version control custom workflow schemas with their repository.
|
|
6
|
-
|
|
7
|
-
## Motivation
|
|
8
|
-
|
|
9
|
-
Currently, schema resolution is 2-level:
|
|
10
|
-
1. User override: `~/.local/share/openspec/schemas/<name>/`
|
|
11
|
-
2. Package built-in: `<npm-package>/schemas/<name>/`
|
|
12
|
-
|
|
13
|
-
This creates friction for teams:
|
|
14
|
-
- Custom schemas must be set up per-machine via XDG paths
|
|
15
|
-
- Cannot share schemas via version control
|
|
16
|
-
- No single source of truth for team workflows
|
|
17
|
-
|
|
18
|
-
## Design Decisions
|
|
19
|
-
|
|
20
|
-
### 3-Level Resolution Order
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
1. ./openspec/schemas/<name>/ # Project-local (NEW)
|
|
24
|
-
2. ~/.local/share/openspec/schemas/<name>/ # User global (XDG)
|
|
25
|
-
3. <npm-package>/schemas/<name>/ # Package built-in
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Project-local takes highest priority, enabling:
|
|
29
|
-
- Version-controlled custom workflows
|
|
30
|
-
- Automatic team sharing via git
|
|
31
|
-
- No per-machine setup required
|
|
32
|
-
|
|
33
|
-
### Fork Model (Not Inheritance)
|
|
34
|
-
|
|
35
|
-
Custom schemas are complete definitions, not extensions. There is no `extends` keyword.
|
|
36
|
-
|
|
37
|
-
**Rationale:** Simplicity. Inheritance adds complexity (conflict resolution, partial overrides, debugging "where did this come from?"). Users who need custom workflows can define them fully. This keeps the mental model simple:
|
|
38
|
-
- Use a preset → Configure path (see project-config change)
|
|
39
|
-
- Need different structure → Fork path (define your own)
|
|
40
|
-
|
|
41
|
-
### Directory Structure
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
openspec/
|
|
45
|
-
├── schemas/ # Project-local schemas
|
|
46
|
-
│ └── my-workflow/
|
|
47
|
-
│ ├── schema.yaml # Full schema definition
|
|
48
|
-
│ └── templates/
|
|
49
|
-
│ ├── artifact1.md
|
|
50
|
-
│ ├── artifact2.md
|
|
51
|
-
│ └── ...
|
|
52
|
-
└── changes/
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Schema Naming
|
|
56
|
-
|
|
57
|
-
Project-local schemas are referenced by their directory name:
|
|
58
|
-
- `openspec/schemas/my-workflow/` → referenced as `my-workflow`
|
|
59
|
-
- Works with `--schema my-workflow` flag
|
|
60
|
-
- Works with `schema: my-workflow` in config.yaml (see project-config change)
|
|
61
|
-
|
|
62
|
-
## Scope
|
|
63
|
-
|
|
64
|
-
### In Scope
|
|
65
|
-
|
|
66
|
-
- Add `getProjectSchemasDir()` function to resolver
|
|
67
|
-
- Update `getSchemaDir()` to check project-local first
|
|
68
|
-
- Update `listSchemas()` to include project schemas
|
|
69
|
-
- Update `listSchemasWithInfo()` to include `source: 'project'`
|
|
70
|
-
- Update `schemasCommand` output to show project schemas
|
|
71
|
-
|
|
72
|
-
### Out of Scope
|
|
73
|
-
|
|
74
|
-
- Schema management CLI (`openspec schema copy/which/diff/reset`) - future enhancement
|
|
75
|
-
- Schema inheritance/extends - explicitly not supported
|
|
76
|
-
- Template-level overrides (partial fork) - explicitly not supported
|
|
77
|
-
|
|
78
|
-
## User Experience
|
|
79
|
-
|
|
80
|
-
### Creating a Custom Schema
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
# Create schema directory
|
|
84
|
-
mkdir -p openspec/schemas/my-workflow/templates
|
|
85
|
-
|
|
86
|
-
# Define schema
|
|
87
|
-
cat > openspec/schemas/my-workflow/schema.yaml << 'EOF'
|
|
88
|
-
name: my-workflow
|
|
89
|
-
version: 1
|
|
90
|
-
description: Our team's planning workflow
|
|
91
|
-
|
|
92
|
-
artifacts:
|
|
93
|
-
- id: research
|
|
94
|
-
generates: research.md
|
|
95
|
-
template: research.md
|
|
96
|
-
description: Background research
|
|
97
|
-
requires: []
|
|
98
|
-
|
|
99
|
-
- id: proposal
|
|
100
|
-
generates: proposal.md
|
|
101
|
-
template: proposal.md
|
|
102
|
-
description: Change proposal
|
|
103
|
-
requires: [research]
|
|
104
|
-
|
|
105
|
-
- id: tasks
|
|
106
|
-
generates: tasks.md
|
|
107
|
-
template: tasks.md
|
|
108
|
-
description: Implementation tasks
|
|
109
|
-
requires: [proposal]
|
|
110
|
-
EOF
|
|
111
|
-
|
|
112
|
-
# Create templates
|
|
113
|
-
echo "# Research\n\n..." > openspec/schemas/my-workflow/templates/research.md
|
|
114
|
-
# ... etc
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### Using the Custom Schema
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
# Via CLI flag
|
|
121
|
-
openspec new change add-feature --schema my-workflow
|
|
122
|
-
openspec status --change add-feature --schema my-workflow
|
|
123
|
-
|
|
124
|
-
# Via config.yaml (requires project-config change)
|
|
125
|
-
# schema: my-workflow
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Team Sharing
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
# Commit to repo
|
|
132
|
-
git add openspec/schemas/
|
|
133
|
-
git commit -m "Add custom workflow schema"
|
|
134
|
-
git push
|
|
135
|
-
|
|
136
|
-
# Team members get it automatically
|
|
137
|
-
git pull
|
|
138
|
-
openspec status --change add-feature --schema my-workflow # Just works
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
## Implementation Notes
|
|
142
|
-
|
|
143
|
-
### Files to Modify
|
|
144
|
-
|
|
145
|
-
| File | Changes |
|
|
146
|
-
|------|---------|
|
|
147
|
-
| `src/core/artifact-graph/resolver.ts` | Add `getProjectSchemasDir()`, update resolution order |
|
|
148
|
-
| `src/commands/artifact-workflow.ts` | Update `schemasCommand` to show source |
|
|
149
|
-
|
|
150
|
-
### Project Root Detection
|
|
151
|
-
|
|
152
|
-
Use existing `findProjectRoot()` pattern or current working directory. The project-local schemas directory is always `./openspec/schemas/` relative to project root.
|
|
153
|
-
|
|
154
|
-
### Source Indication
|
|
155
|
-
|
|
156
|
-
`listSchemasWithInfo()` returns `source: 'project' | 'user' | 'package'`. Update type definition and implementation.
|
|
157
|
-
|
|
158
|
-
## Testing Considerations
|
|
159
|
-
|
|
160
|
-
- Create temp project with local schema, verify resolution priority
|
|
161
|
-
- Verify local schema overrides user override with same name
|
|
162
|
-
- Verify `listSchemas()` includes project schemas
|
|
163
|
-
- Verify `schemasCommand` shows correct source labels
|
|
164
|
-
|
|
165
|
-
## Related Changes
|
|
166
|
-
|
|
167
|
-
- **project-config**: Adds `config.yaml` with `schema` field that can reference project-local schemas
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
## ADDED Requirements
|
|
2
|
-
|
|
3
|
-
### Requirement: Project-local schema resolution
|
|
4
|
-
|
|
5
|
-
The system SHALL resolve schemas from the project-local directory (`./openspec/schemas/<name>/`) with highest priority when a `projectRoot` is provided.
|
|
6
|
-
|
|
7
|
-
#### Scenario: Project-local schema takes precedence over user override
|
|
8
|
-
- **WHEN** a schema named "my-workflow" exists at `./openspec/schemas/my-workflow/schema.yaml`
|
|
9
|
-
- **AND** a schema named "my-workflow" exists at `~/.local/share/openspec/schemas/my-workflow/schema.yaml`
|
|
10
|
-
- **AND** `getSchemaDir("my-workflow", projectRoot)` is called
|
|
11
|
-
- **THEN** the system SHALL return the project-local path
|
|
12
|
-
|
|
13
|
-
#### Scenario: Project-local schema takes precedence over package built-in
|
|
14
|
-
- **WHEN** a schema named "spec-driven" exists at `./openspec/schemas/spec-driven/schema.yaml`
|
|
15
|
-
- **AND** "spec-driven" is a package built-in schema
|
|
16
|
-
- **AND** `getSchemaDir("spec-driven", projectRoot)` is called
|
|
17
|
-
- **THEN** the system SHALL return the project-local path
|
|
18
|
-
|
|
19
|
-
#### Scenario: Falls back to user override when no project-local schema
|
|
20
|
-
- **WHEN** no schema named "my-workflow" exists at `./openspec/schemas/my-workflow/`
|
|
21
|
-
- **AND** a schema named "my-workflow" exists at `~/.local/share/openspec/schemas/my-workflow/schema.yaml`
|
|
22
|
-
- **AND** `getSchemaDir("my-workflow", projectRoot)` is called
|
|
23
|
-
- **THEN** the system SHALL return the user override path
|
|
24
|
-
|
|
25
|
-
#### Scenario: Falls back to package built-in when no project-local or user schema
|
|
26
|
-
- **WHEN** no schema named "spec-driven" exists at `./openspec/schemas/spec-driven/`
|
|
27
|
-
- **AND** no schema named "spec-driven" exists at `~/.local/share/openspec/schemas/spec-driven/`
|
|
28
|
-
- **AND** "spec-driven" is a package built-in schema
|
|
29
|
-
- **AND** `getSchemaDir("spec-driven", projectRoot)` is called
|
|
30
|
-
- **THEN** the system SHALL return the package built-in path
|
|
31
|
-
|
|
32
|
-
#### Scenario: Backward compatibility when projectRoot not provided
|
|
33
|
-
- **WHEN** `getSchemaDir("my-workflow")` is called without a `projectRoot` parameter
|
|
34
|
-
- **THEN** the system SHALL only check user override and package built-in locations
|
|
35
|
-
- **AND** the system SHALL NOT check project-local location
|
|
36
|
-
|
|
37
|
-
### Requirement: Project schemas directory helper
|
|
38
|
-
|
|
39
|
-
The system SHALL provide a `getProjectSchemasDir(projectRoot)` function that returns the project-local schemas directory path.
|
|
40
|
-
|
|
41
|
-
#### Scenario: Returns correct path
|
|
42
|
-
- **WHEN** `getProjectSchemasDir("/path/to/project")` is called
|
|
43
|
-
- **THEN** the system SHALL return `/path/to/project/openspec/schemas`
|
|
44
|
-
|
|
45
|
-
### Requirement: List schemas includes project-local
|
|
46
|
-
|
|
47
|
-
The system SHALL include project-local schemas when listing available schemas if `projectRoot` is provided.
|
|
48
|
-
|
|
49
|
-
#### Scenario: Project-local schemas appear in list
|
|
50
|
-
- **WHEN** a schema named "team-flow" exists at `./openspec/schemas/team-flow/schema.yaml`
|
|
51
|
-
- **AND** `listSchemas(projectRoot)` is called
|
|
52
|
-
- **THEN** the returned list SHALL include "team-flow"
|
|
53
|
-
|
|
54
|
-
#### Scenario: Project-local schema shadows same-named user schema in list
|
|
55
|
-
- **WHEN** a schema named "custom" exists at both project-local and user override locations
|
|
56
|
-
- **AND** `listSchemas(projectRoot)` is called
|
|
57
|
-
- **THEN** the returned list SHALL include "custom" exactly once
|
|
58
|
-
|
|
59
|
-
#### Scenario: Backward compatibility for listSchemas
|
|
60
|
-
- **WHEN** `listSchemas()` is called without a `projectRoot` parameter
|
|
61
|
-
- **THEN** the system SHALL only include user override and package built-in schemas
|
|
62
|
-
|
|
63
|
-
### Requirement: Schema info includes project source
|
|
64
|
-
|
|
65
|
-
The system SHALL indicate `source: 'project'` for project-local schemas in `listSchemasWithInfo()` results.
|
|
66
|
-
|
|
67
|
-
#### Scenario: Project-local schema shows project source
|
|
68
|
-
- **WHEN** a schema named "team-flow" exists at `./openspec/schemas/team-flow/schema.yaml`
|
|
69
|
-
- **AND** `listSchemasWithInfo(projectRoot)` is called
|
|
70
|
-
- **THEN** the schema info for "team-flow" SHALL have `source: 'project'`
|
|
71
|
-
|
|
72
|
-
#### Scenario: User override schema shows user source
|
|
73
|
-
- **WHEN** a schema named "my-custom" exists only at `~/.local/share/openspec/schemas/my-custom/`
|
|
74
|
-
- **AND** `listSchemasWithInfo(projectRoot)` is called
|
|
75
|
-
- **THEN** the schema info for "my-custom" SHALL have `source: 'user'`
|
|
76
|
-
|
|
77
|
-
#### Scenario: Package built-in schema shows package source
|
|
78
|
-
- **WHEN** "spec-driven" exists only as a package built-in
|
|
79
|
-
- **AND** `listSchemasWithInfo(projectRoot)` is called
|
|
80
|
-
- **THEN** the schema info for "spec-driven" SHALL have `source: 'package'`
|
|
81
|
-
|
|
82
|
-
### Requirement: Schemas command shows source
|
|
83
|
-
|
|
84
|
-
The `openspec schemas` command SHALL display the source of each schema.
|
|
85
|
-
|
|
86
|
-
#### Scenario: Display format includes source
|
|
87
|
-
- **WHEN** user runs `openspec schemas`
|
|
88
|
-
- **THEN** the output SHALL show each schema with its source label (project, user, or package)
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
## 1. Update Resolver Types and Helpers
|
|
2
|
-
|
|
3
|
-
- [x] 1.1 Update `SchemaInfo.source` type to include `'project'` in `src/core/artifact-graph/resolver.ts`
|
|
4
|
-
- [x] 1.2 Add `getProjectSchemasDir(projectRoot: string): string` function
|
|
5
|
-
|
|
6
|
-
## 2. Update Schema Resolution Functions
|
|
7
|
-
|
|
8
|
-
- [x] 2.1 Update `getSchemaDir(name, projectRoot?)` to check project-local first when projectRoot provided
|
|
9
|
-
- [x] 2.2 Update `resolveSchema(name, projectRoot?)` to pass projectRoot to getSchemaDir
|
|
10
|
-
- [x] 2.3 Update `listSchemas(projectRoot?)` to include project-local schemas
|
|
11
|
-
- [x] 2.4 Update `listSchemasWithInfo(projectRoot?)` to include project schemas with `source: 'project'`
|
|
12
|
-
|
|
13
|
-
## 3. Update CLI Commands
|
|
14
|
-
|
|
15
|
-
- [x] 3.1 Update `schemasCommand` to pass projectRoot and display source labels in output
|
|
16
|
-
|
|
17
|
-
## 4. Update Call Sites
|
|
18
|
-
|
|
19
|
-
- [x] 4.1 Review and update call sites that need project-local schema support to pass projectRoot
|
|
20
|
-
|
|
21
|
-
## 5. Testing
|
|
22
|
-
|
|
23
|
-
- [x] 5.1 Add unit tests for `getProjectSchemasDir()`
|
|
24
|
-
- [x] 5.2 Add unit tests for project-local schema resolution priority
|
|
25
|
-
- [x] 5.3 Add unit tests for backward compatibility (no projectRoot = user + package only)
|
|
26
|
-
- [x] 5.4 Add unit tests for `listSchemas()` including project schemas
|
|
27
|
-
- [x] 5.5 Add unit tests for `listSchemasWithInfo()` with `source: 'project'`
|
|
28
|
-
- [x] 5.6 Add integration test with temp project containing local schema
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
## Context
|
|
2
|
-
|
|
3
|
-
OpenSpec uses workflow schemas to define artifact sequences for change proposals. Currently, schemas are resolved from three locations (project → user → package), but managing custom schemas requires manual file creation with no tooling support. The resolver infrastructure exists (`src/core/artifact-graph/resolver.ts`) but there's no CLI exposure for schema management operations.
|
|
4
|
-
|
|
5
|
-
Users who want to customize workflows must:
|
|
6
|
-
1. Manually create directory structures under `openspec/schemas/<name>/`
|
|
7
|
-
2. Copy and modify `schema.yaml` files without validation
|
|
8
|
-
3. Debug resolution issues by inspecting the filesystem directly
|
|
9
|
-
|
|
10
|
-
This creates friction for schema customization and leads to runtime errors when schemas are malformed.
|
|
11
|
-
|
|
12
|
-
## Goals / Non-Goals
|
|
13
|
-
|
|
14
|
-
**Goals:**
|
|
15
|
-
- Provide CLI commands for common schema management operations
|
|
16
|
-
- Enable interactive schema creation with guided prompts
|
|
17
|
-
- Allow forking existing schemas as customization starting points
|
|
18
|
-
- Surface schema validation errors before runtime
|
|
19
|
-
- Help debug schema resolution order when shadowing occurs
|
|
20
|
-
|
|
21
|
-
**Non-Goals:**
|
|
22
|
-
- Schema editing (users edit YAML directly or via `$EDITOR`)
|
|
23
|
-
- Schema publishing or sharing mechanisms
|
|
24
|
-
- Schema versioning or migration tooling
|
|
25
|
-
- Validation of template file contents (only checks existence)
|
|
26
|
-
- Schema inheritance or composition beyond simple forking
|
|
27
|
-
|
|
28
|
-
## Decisions
|
|
29
|
-
|
|
30
|
-
### 1. Command Structure: `openspec schema <subcommand>`
|
|
31
|
-
|
|
32
|
-
Add a new command group following the existing pattern used by `openspec config` and `openspec completion`.
|
|
33
|
-
|
|
34
|
-
**Rationale:** Grouping related commands under a noun (schema) matches the established CLI patterns and provides a natural namespace for future schema operations.
|
|
35
|
-
|
|
36
|
-
**Alternatives considered:**
|
|
37
|
-
- Flat commands (`openspec schema-init`, `openspec schema-fork`): Rejected because it pollutes the top-level namespace and doesn't scale well.
|
|
38
|
-
- Extending existing commands (`openspec init --schema`): Rejected because schema management is distinct from project initialization.
|
|
39
|
-
|
|
40
|
-
### 2. Implementation Location
|
|
41
|
-
|
|
42
|
-
New file `src/commands/schema.ts` with a `registerSchemaCommand(program: Command)` function that registers the `schema` command group and all subcommands.
|
|
43
|
-
|
|
44
|
-
**Rationale:** Follows the pattern established by `config.ts` and matches how other command groups are organized.
|
|
45
|
-
|
|
46
|
-
### 3. Schema Validation Approach
|
|
47
|
-
|
|
48
|
-
Validation checks:
|
|
49
|
-
1. `schema.yaml` exists and is valid YAML
|
|
50
|
-
2. Parses successfully against the Zod schema in `types.ts`
|
|
51
|
-
3. All referenced template files exist in the schema directory
|
|
52
|
-
4. Artifact dependency graph has no cycles (use existing topological sort)
|
|
53
|
-
|
|
54
|
-
**Rationale:** Reuse existing validation infrastructure (`parseSchema` from `schema.ts`) and extend with template existence checks. This catches the most common errors without duplicating validation logic.
|
|
55
|
-
|
|
56
|
-
**Alternatives considered:**
|
|
57
|
-
- Deep template validation (check frontmatter, syntax): Rejected as over-engineering. Template contents are free-form markdown.
|
|
58
|
-
|
|
59
|
-
### 4. Interactive Prompts for `schema init`
|
|
60
|
-
|
|
61
|
-
Use `@inquirer/prompts` (already a dependency) for:
|
|
62
|
-
- Schema name input with kebab-case validation
|
|
63
|
-
- Schema description input
|
|
64
|
-
- Multi-select for artifact selection with descriptions
|
|
65
|
-
- Optional: set as project default
|
|
66
|
-
|
|
67
|
-
**Rationale:** Matches the UX established by `openspec init` and `openspec config reset`. Provides a guided experience while keeping the wizard lightweight.
|
|
68
|
-
|
|
69
|
-
### 5. Fork Source Resolution
|
|
70
|
-
|
|
71
|
-
`schema fork <source>` resolves the source schema using the existing `getSchemaDir()` function, respecting the full resolution order (project → user → package). This allows forking from any accessible schema.
|
|
72
|
-
|
|
73
|
-
The destination is always project-local: `openspec/schemas/<name>/`
|
|
74
|
-
|
|
75
|
-
**Rationale:** Forking to project scope makes sense because:
|
|
76
|
-
- Custom schemas are project-specific decisions
|
|
77
|
-
- User-global schemas can be added manually if needed
|
|
78
|
-
- Keeps the command simple with a clear default
|
|
79
|
-
|
|
80
|
-
### 6. Output Format Consistency
|
|
81
|
-
|
|
82
|
-
All commands support `--json` flag for machine-readable output:
|
|
83
|
-
- `schema init`: Outputs `{ "created": true, "path": "...", "schema": "..." }`
|
|
84
|
-
- `schema fork`: Outputs `{ "forked": true, "source": "...", "destination": "..." }`
|
|
85
|
-
- `schema validate`: Outputs validation report matching existing validate command format
|
|
86
|
-
- `schema which`: Outputs `{ "name": "...", "source": "project|user|package", "path": "..." }`
|
|
87
|
-
|
|
88
|
-
Text output uses ora spinners for progress and clear success/error messaging.
|
|
89
|
-
|
|
90
|
-
**Rationale:** Consistent with existing OpenSpec commands and enables scripting/automation.
|
|
91
|
-
|
|
92
|
-
### 7. Schema `which` Command Design
|
|
93
|
-
|
|
94
|
-
Shows resolution details for a schema name:
|
|
95
|
-
- Which location it resolves from (project/user/package)
|
|
96
|
-
- Full path to the schema directory
|
|
97
|
-
- Whether it shadows other schemas at lower priority levels
|
|
98
|
-
|
|
99
|
-
**Rationale:** Essential for debugging "why isn't my schema being used?" scenarios when multiple schemas with the same name exist.
|
|
100
|
-
|
|
101
|
-
## Risks / Trade-offs
|
|
102
|
-
|
|
103
|
-
**[Template scaffolding may become stale]** → The `schema init` command will scaffold a default set of artifacts (proposal, specs, design, tasks). If the built-in schema patterns evolve, these templates may not reflect best practices.
|
|
104
|
-
- *Mitigation*: Document that `init` creates a minimal starting point. Users can `fork` built-in schemas for the latest patterns.
|
|
105
|
-
|
|
106
|
-
**[Interactive prompts in CI environments]** → `schema init` with prompts may hang in non-interactive environments.
|
|
107
|
-
- *Mitigation*: Support `--name`, `--description`, and `--artifacts` flags for non-interactive use. Detect TTY and show helpful error if prompts would hang.
|
|
108
|
-
|
|
109
|
-
**[Validation doesn't catch all errors]** → Schema validation checks structure but can't verify semantic correctness (e.g., a template that doesn't match its artifact purpose).
|
|
110
|
-
- *Mitigation*: This is acceptable. Full semantic validation would require understanding template intent, which is out of scope.
|
|
111
|
-
|
|
112
|
-
**[Fork overwrites without warning]** → If target schema already exists, `fork` could overwrite it.
|
|
113
|
-
- *Mitigation*: Check for existing schema and require `--force` flag or interactive confirmation before overwriting.
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
## Why
|
|
2
|
-
|
|
3
|
-
Creating and managing project-local schemas currently requires manual directory creation, copying files, and hoping the structure is correct. Users only discover structural errors at runtime when commands fail. This friction discourages schema customization and makes it harder to tailor OpenSpec workflows to specific project needs.
|
|
4
|
-
|
|
5
|
-
Key pain points:
|
|
6
|
-
- **Manual scaffolding**: Users must manually create `openspec/schemas/<name>/` with correct structure
|
|
7
|
-
- **No validation feedback**: Schema errors aren't caught until a command tries to use the schema
|
|
8
|
-
- **Starting from scratch is hard**: No easy way to base a custom schema on an existing one
|
|
9
|
-
- **Debugging resolution**: When a schema doesn't resolve as expected, there's no way to see the resolution path
|
|
10
|
-
|
|
11
|
-
## What Changes
|
|
12
|
-
|
|
13
|
-
Add a new `openspec schema` command group with subcommands for creating, forking, validating, and inspecting schemas.
|
|
14
|
-
|
|
15
|
-
### Commands
|
|
16
|
-
|
|
17
|
-
1. **`openspec schema init <name>`** - Interactive wizard to scaffold a new project schema
|
|
18
|
-
- Prompts for schema description
|
|
19
|
-
- Prompts for artifacts to include (with explanations)
|
|
20
|
-
- Creates valid directory structure with `schema.yaml` and template files
|
|
21
|
-
- Optionally sets as project default in `openspec/config.yaml`
|
|
22
|
-
|
|
23
|
-
2. **`openspec schema fork <source> [name]`** - Copy an existing schema as a starting point
|
|
24
|
-
- Copies from user override or package built-in
|
|
25
|
-
- Allows renaming (defaults to `<source>-custom`)
|
|
26
|
-
- Preserves all templates and configuration
|
|
27
|
-
|
|
28
|
-
3. **`openspec schema validate [name]`** - Validate schema structure and templates
|
|
29
|
-
- Checks `schema.yaml` is valid
|
|
30
|
-
- Verifies all referenced templates exist
|
|
31
|
-
- Reports missing or malformed files
|
|
32
|
-
- Run without name to validate all project schemas
|
|
33
|
-
|
|
34
|
-
4. **`openspec schema which <name>`** - Show schema resolution path
|
|
35
|
-
- Displays which location the schema resolves from (project/user/package)
|
|
36
|
-
- Shows full path to schema directory
|
|
37
|
-
- Useful for debugging shadowing issues
|
|
38
|
-
|
|
39
|
-
## Capabilities
|
|
40
|
-
|
|
41
|
-
### New Capabilities
|
|
42
|
-
- `schema-init-command`: Interactive wizard for creating new project schemas with guided prompts
|
|
43
|
-
- `schema-fork-command`: Copy existing schemas to project for customization
|
|
44
|
-
- `schema-validate-command`: Validate schema structure and report errors before runtime
|
|
45
|
-
- `schema-which-command`: Debug schema resolution by showing which location is used
|
|
46
|
-
|
|
47
|
-
### Modified Capabilities
|
|
48
|
-
<!-- None - these are additive commands -->
|
|
49
|
-
|
|
50
|
-
## Impact
|
|
51
|
-
|
|
52
|
-
- **Code**: New command implementations in `src/commands/` using existing resolver infrastructure
|
|
53
|
-
- **CLI**: New `schema` command group with 4 subcommands
|
|
54
|
-
- **Dependencies**: May use `enquirer` or similar for interactive prompts in `schema init`
|
|
55
|
-
- **Documentation**: Need to update CLI reference and schema customization guide
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
## ADDED Requirements
|
|
2
|
-
|
|
3
|
-
### Requirement: Schema fork copies existing schema
|
|
4
|
-
The CLI SHALL provide an `openspec schema fork <source> [name]` command that copies an existing schema to the project's `openspec/schemas/` directory.
|
|
5
|
-
|
|
6
|
-
#### Scenario: Fork with explicit name
|
|
7
|
-
- **WHEN** user runs `openspec schema fork spec-driven my-custom`
|
|
8
|
-
- **THEN** system locates `spec-driven` schema using resolution order (project → user → package)
|
|
9
|
-
- **AND** copies all files to `openspec/schemas/my-custom/`
|
|
10
|
-
- **AND** updates `name` field in `schema.yaml` to `my-custom`
|
|
11
|
-
- **AND** displays success message with source and destination paths
|
|
12
|
-
|
|
13
|
-
#### Scenario: Fork with default name
|
|
14
|
-
- **WHEN** user runs `openspec schema fork spec-driven` without specifying a name
|
|
15
|
-
- **THEN** system copies to `openspec/schemas/spec-driven-custom/`
|
|
16
|
-
- **AND** updates `name` field in `schema.yaml` to `spec-driven-custom`
|
|
17
|
-
|
|
18
|
-
#### Scenario: Source schema not found
|
|
19
|
-
- **WHEN** user runs `openspec schema fork nonexistent`
|
|
20
|
-
- **THEN** system displays error that schema was not found
|
|
21
|
-
- **AND** lists available schemas
|
|
22
|
-
- **AND** exits with non-zero code
|
|
23
|
-
|
|
24
|
-
### Requirement: Schema fork prevents accidental overwrites
|
|
25
|
-
The CLI SHALL require confirmation or `--force` flag when the destination schema already exists.
|
|
26
|
-
|
|
27
|
-
#### Scenario: Destination exists without force
|
|
28
|
-
- **WHEN** user runs `openspec schema fork spec-driven my-custom` and `openspec/schemas/my-custom/` exists
|
|
29
|
-
- **THEN** system displays error that destination already exists
|
|
30
|
-
- **AND** suggests using `--force` to overwrite
|
|
31
|
-
- **AND** exits with non-zero code
|
|
32
|
-
|
|
33
|
-
#### Scenario: Destination exists with force flag
|
|
34
|
-
- **WHEN** user runs `openspec schema fork spec-driven my-custom --force` and destination exists
|
|
35
|
-
- **THEN** system removes existing destination directory
|
|
36
|
-
- **AND** copies source schema to destination
|
|
37
|
-
- **AND** displays success message
|
|
38
|
-
|
|
39
|
-
#### Scenario: Interactive confirmation for overwrite
|
|
40
|
-
- **WHEN** user runs `openspec schema fork spec-driven my-custom` in interactive mode and destination exists
|
|
41
|
-
- **THEN** system prompts for confirmation to overwrite
|
|
42
|
-
- **AND** proceeds based on user response
|
|
43
|
-
|
|
44
|
-
### Requirement: Schema fork preserves all schema files
|
|
45
|
-
The CLI SHALL copy the complete schema directory including templates, configuration, and any additional files.
|
|
46
|
-
|
|
47
|
-
#### Scenario: Copy includes template files
|
|
48
|
-
- **WHEN** user forks a schema with template files (e.g., `proposal.md`, `design.md`)
|
|
49
|
-
- **THEN** all template files are copied to the destination
|
|
50
|
-
- **AND** template file contents are unchanged
|
|
51
|
-
|
|
52
|
-
#### Scenario: Copy includes nested directories
|
|
53
|
-
- **WHEN** user forks a schema with nested directories (e.g., `templates/specs/`)
|
|
54
|
-
- **THEN** nested directory structure is preserved
|
|
55
|
-
- **AND** all nested files are copied
|
|
56
|
-
|
|
57
|
-
### Requirement: Schema fork outputs JSON format
|
|
58
|
-
The CLI SHALL support `--json` flag for machine-readable output.
|
|
59
|
-
|
|
60
|
-
#### Scenario: JSON output on success
|
|
61
|
-
- **WHEN** user runs `openspec schema fork spec-driven my-custom --json`
|
|
62
|
-
- **THEN** system outputs JSON with `forked: true`, `source`, `destination`, and `sourcePath` fields
|
|
63
|
-
|
|
64
|
-
#### Scenario: JSON output shows source location
|
|
65
|
-
- **WHEN** user runs `openspec schema fork spec-driven --json`
|
|
66
|
-
- **THEN** JSON output includes `sourceLocation` field indicating "project", "user", or "package"
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
## ADDED Requirements
|
|
2
|
-
|
|
3
|
-
### Requirement: Schema init command creates project-local schema
|
|
4
|
-
The CLI SHALL provide an `openspec schema init <name>` command that creates a new schema directory under `openspec/schemas/<name>/` with a valid `schema.yaml` file and default template files.
|
|
5
|
-
|
|
6
|
-
#### Scenario: Create schema with valid name
|
|
7
|
-
- **WHEN** user runs `openspec schema init my-workflow`
|
|
8
|
-
- **THEN** system creates directory `openspec/schemas/my-workflow/`
|
|
9
|
-
- **AND** creates `schema.yaml` with name, version, description, and artifacts array
|
|
10
|
-
- **AND** creates template files referenced by artifacts
|
|
11
|
-
- **AND** displays success message with created path
|
|
12
|
-
|
|
13
|
-
#### Scenario: Reject invalid schema name
|
|
14
|
-
- **WHEN** user runs `openspec schema init "My Workflow"` (contains space)
|
|
15
|
-
- **THEN** system displays error about invalid schema name
|
|
16
|
-
- **AND** suggests using kebab-case format
|
|
17
|
-
- **AND** exits with non-zero code
|
|
18
|
-
|
|
19
|
-
#### Scenario: Schema name already exists
|
|
20
|
-
- **WHEN** user runs `openspec schema init existing-schema` and `openspec/schemas/existing-schema/` already exists
|
|
21
|
-
- **THEN** system displays error that schema already exists
|
|
22
|
-
- **AND** suggests using `--force` to overwrite or `schema fork` to copy
|
|
23
|
-
- **AND** exits with non-zero code
|
|
24
|
-
|
|
25
|
-
### Requirement: Schema init supports interactive mode
|
|
26
|
-
The CLI SHALL prompt for schema configuration when run in an interactive terminal without explicit flags.
|
|
27
|
-
|
|
28
|
-
#### Scenario: Interactive prompts for description
|
|
29
|
-
- **WHEN** user runs `openspec schema init my-workflow` in an interactive terminal
|
|
30
|
-
- **THEN** system prompts for schema description
|
|
31
|
-
- **AND** uses provided description in generated `schema.yaml`
|
|
32
|
-
|
|
33
|
-
#### Scenario: Interactive prompts for artifact selection
|
|
34
|
-
- **WHEN** user runs `openspec schema init my-workflow` in an interactive terminal
|
|
35
|
-
- **THEN** system displays multi-select prompt with common artifacts (proposal, specs, design, tasks)
|
|
36
|
-
- **AND** each option includes a brief description
|
|
37
|
-
- **AND** uses selected artifacts in generated `schema.yaml`
|
|
38
|
-
|
|
39
|
-
#### Scenario: Non-interactive mode with flags
|
|
40
|
-
- **WHEN** user runs `openspec schema init my-workflow --description "My workflow" --artifacts proposal,tasks`
|
|
41
|
-
- **THEN** system creates schema without prompting
|
|
42
|
-
- **AND** uses flag values for configuration
|
|
43
|
-
|
|
44
|
-
### Requirement: Schema init supports setting project default
|
|
45
|
-
The CLI SHALL offer to set the newly created schema as the project default.
|
|
46
|
-
|
|
47
|
-
#### Scenario: Set as default interactively
|
|
48
|
-
- **WHEN** user runs `openspec schema init my-workflow` in interactive mode
|
|
49
|
-
- **AND** user confirms setting as default
|
|
50
|
-
- **THEN** system updates `openspec/config.yaml` with `defaultSchema: my-workflow`
|
|
51
|
-
|
|
52
|
-
#### Scenario: Set as default via flag
|
|
53
|
-
- **WHEN** user runs `openspec schema init my-workflow --default`
|
|
54
|
-
- **THEN** system creates schema and updates `openspec/config.yaml` with `defaultSchema: my-workflow`
|
|
55
|
-
|
|
56
|
-
#### Scenario: Skip setting default
|
|
57
|
-
- **WHEN** user runs `openspec schema init my-workflow --no-default`
|
|
58
|
-
- **THEN** system creates schema without modifying `openspec/config.yaml`
|
|
59
|
-
|
|
60
|
-
### Requirement: Schema init outputs JSON format
|
|
61
|
-
The CLI SHALL support `--json` flag for machine-readable output.
|
|
62
|
-
|
|
63
|
-
#### Scenario: JSON output on success
|
|
64
|
-
- **WHEN** user runs `openspec schema init my-workflow --json --description "Test" --artifacts proposal`
|
|
65
|
-
- **THEN** system outputs JSON with `created: true`, `path`, and `schema` fields
|
|
66
|
-
- **AND** does not display interactive prompts or spinners
|
|
67
|
-
|
|
68
|
-
#### Scenario: JSON output on error
|
|
69
|
-
- **WHEN** user runs `openspec schema init "invalid name" --json`
|
|
70
|
-
- **THEN** system outputs JSON with `error` field describing the issue
|
|
71
|
-
- **AND** exits with non-zero code
|