sauron-cli 1.1.3 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (671) hide show
  1. package/.agents/rules/memory.md +156 -0
  2. package/.agents/skills/wiki/SKILL.md +172 -0
  3. package/.aider.instructions.md +152 -0
  4. package/.cursor/rules/sauron-memory.mdc +157 -0
  5. package/.genesis/prompts/prompt-onboarding-inteligente.md +45 -0
  6. package/.genesis/prompts/prompt-sauron-vs-openspec-arquitetura.md +106 -0
  7. package/.github/workflows/ci.yml +27 -0
  8. package/.sauron/.manifest.json +2 -1
  9. package/.sauron/wiki/history/implementacao-scanner-inteligente.md +29 -0
  10. package/.sauron/wiki/history/reestruturacao-arquitetural-core.md +29 -0
  11. package/.sauron/wiki/history/resiliencia-caminho-templates.md +29 -0
  12. package/.sauron/wiki/standards/typescript.rules.md +21 -0
  13. package/.sauron/wiki/summary.json +81 -0
  14. package/.windsurfrules +160 -0
  15. package/55ea973d-e255-4f08-a313-a5d68243bd2d.png +0 -0
  16. package/Evolu/303/247/303/243o Arquitetural do Sauron CLI.md" +97 -0
  17. package/OpenSpec-main/.actrc +1 -0
  18. package/OpenSpec-main/.changeset/README.md +97 -0
  19. package/OpenSpec-main/.changeset/config.json +15 -0
  20. package/OpenSpec-main/.coderabbit.yaml +11 -0
  21. package/OpenSpec-main/.devcontainer/README.md +92 -0
  22. package/OpenSpec-main/.devcontainer/devcontainer.json +68 -0
  23. package/OpenSpec-main/.github/CODEOWNERS +2 -0
  24. package/OpenSpec-main/.github/workflows/README.md +20 -0
  25. package/OpenSpec-main/.github/workflows/ci.yml +346 -0
  26. package/OpenSpec-main/.github/workflows/release-prepare.yml +60 -0
  27. package/OpenSpec-main/CHANGELOG.md +594 -0
  28. package/OpenSpec-main/LICENSE +22 -0
  29. package/OpenSpec-main/MAINTAINERS.md +17 -0
  30. package/OpenSpec-main/README.md +206 -0
  31. package/OpenSpec-main/README_OLD.md +475 -0
  32. package/OpenSpec-main/assets/openspec_bg.png +0 -0
  33. package/OpenSpec-main/assets/openspec_dashboard.png +0 -0
  34. package/OpenSpec-main/assets/openspec_pixel_dark.svg +89 -0
  35. package/OpenSpec-main/assets/openspec_pixel_light.svg +89 -0
  36. package/OpenSpec-main/bin/openspec.js +5 -0
  37. package/OpenSpec-main/build.js +31 -0
  38. package/OpenSpec-main/eslint.config.js +42 -0
  39. package/OpenSpec-main/flake.lock +27 -0
  40. package/OpenSpec-main/flake.nix +114 -0
  41. package/OpenSpec-main/openspec/changes/IMPLEMENTATION_ORDER.md +68 -0
  42. package/OpenSpec-main/openspec/changes/add-artifact-regeneration-support/proposal.md +136 -0
  43. package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/.openspec.yaml +2 -0
  44. package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/proposal.md +93 -0
  45. package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/change-creation/spec.md +15 -0
  46. package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/change-stacking-workflow/spec.md +65 -0
  47. package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/cli-change/spec.md +27 -0
  48. package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/specs/openspec-conventions/spec.md +29 -0
  49. package/OpenSpec-main/openspec/changes/add-change-stacking-awareness/tasks.md +39 -0
  50. package/OpenSpec-main/openspec/changes/add-global-install-scope/.openspec.yaml +2 -0
  51. package/OpenSpec-main/openspec/changes/add-global-install-scope/design.md +161 -0
  52. package/OpenSpec-main/openspec/changes/add-global-install-scope/proposal.md +101 -0
  53. package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/ai-tool-paths/spec.md +35 -0
  54. package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-config/spec.md +21 -0
  55. package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-init/spec.md +28 -0
  56. package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/cli-update/spec.md +34 -0
  57. package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/command-generation/spec.md +22 -0
  58. package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/global-config/spec.md +24 -0
  59. package/OpenSpec-main/openspec/changes/add-global-install-scope/specs/installation-scope/spec.md +71 -0
  60. package/OpenSpec-main/openspec/changes/add-global-install-scope/tasks.md +61 -0
  61. package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/.openspec.yaml +2 -0
  62. package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/proposal.md +45 -0
  63. package/OpenSpec-main/openspec/changes/add-qa-smoke-harness/specs/developer-qa-workflow/spec.md +49 -0
  64. package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/.openspec.yaml +2 -0
  65. package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/proposal.md +111 -0
  66. package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/specs/cli-init/spec.md +121 -0
  67. package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/specs/cli-update/spec.md +48 -0
  68. package/OpenSpec-main/openspec/changes/add-tool-command-surface-capabilities/tasks.md +53 -0
  69. package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/design.md +86 -0
  70. package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/proposal.md +29 -0
  71. package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/specs/cli-update/spec.md +59 -0
  72. package/OpenSpec-main/openspec/changes/archive/2025-01-11-add-update-command/tasks.md +20 -0
  73. package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/proposal.md +20 -0
  74. package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/specs/cli-list/spec.md +69 -0
  75. package/OpenSpec-main/openspec/changes/archive/2025-01-13-add-list-command/tasks.md +26 -0
  76. package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/design.md +64 -0
  77. package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/proposal.md +18 -0
  78. package/OpenSpec-main/openspec/changes/archive/2025-08-05-initialize-typescript-project/tasks.md +25 -0
  79. package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/design.md +104 -0
  80. package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/proposal.md +30 -0
  81. package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/specs/cli-init/spec.md +148 -0
  82. package/OpenSpec-main/openspec/changes/archive/2025-08-06-add-init-command/tasks.md +38 -0
  83. package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/proposal.md +24 -0
  84. package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/specs/openspec-conventions/spec.md +120 -0
  85. package/OpenSpec-main/openspec/changes/archive/2025-08-06-adopt-future-state-storage/tasks.md +38 -0
  86. package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/proposal.md +13 -0
  87. package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/specs/openspec-docs/README.md +472 -0
  88. package/OpenSpec-main/openspec/changes/archive/2025-08-11-add-complexity-guidelines/tasks.md +9 -0
  89. package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/proposal.md +15 -0
  90. package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/specs/cli-archive/spec.md +111 -0
  91. package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-archive-command/tasks.md +44 -0
  92. package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/proposal.md +19 -0
  93. package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/specs/cli-diff/spec.md +77 -0
  94. package/OpenSpec-main/openspec/changes/archive/2025-08-13-add-diff-command/tasks.md +23 -0
  95. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/design.md +56 -0
  96. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/proposal.md +17 -0
  97. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-change/spec.md +48 -0
  98. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-list/spec.md +12 -0
  99. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-change-commands/tasks.md +34 -0
  100. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/proposal.md +20 -0
  101. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-change/spec.md +23 -0
  102. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-show/spec.md +83 -0
  103. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-spec/spec.md +23 -0
  104. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-interactive-show-command/tasks.md +142 -0
  105. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/proposal.md +13 -0
  106. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/specs/cli-archive/spec.md +191 -0
  107. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/tasks.md +57 -0
  108. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/design.md +45 -0
  109. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/proposal.md +19 -0
  110. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/specs/cli-spec/spec.md +43 -0
  111. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-spec-commands/tasks.md +22 -0
  112. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/design.md +104 -0
  113. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/proposal.md +22 -0
  114. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-archive/spec.md +18 -0
  115. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-diff/spec.md +12 -0
  116. package/OpenSpec-main/openspec/changes/archive/2025-08-19-add-zod-validation/tasks.md +59 -0
  117. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/proposal.md +93 -0
  118. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-archive/spec.md +48 -0
  119. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-diff/spec.md +45 -0
  120. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/openspec-conventions/spec.md +101 -0
  121. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/tasks.md +55 -0
  122. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/design.md +19 -0
  123. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/proposal.md +67 -0
  124. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/cli-list/spec.md +57 -0
  125. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/openspec-conventions/spec.md +23 -0
  126. package/OpenSpec-main/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/tasks.md +27 -0
  127. package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/proposal.md +20 -0
  128. package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-change/spec.md +22 -0
  129. package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-spec/spec.md +23 -0
  130. package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-validate/spec.md +149 -0
  131. package/OpenSpec-main/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/tasks.md +81 -0
  132. package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/proposal.md +40 -0
  133. package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/specs/cli-update/spec.md +23 -0
  134. package/OpenSpec-main/openspec/changes/archive/2025-08-19-fix-update-tool-selection/tasks.md +21 -0
  135. package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/proposal.md +25 -0
  136. package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/specs/cli-validate/spec.md +55 -0
  137. package/OpenSpec-main/openspec/changes/archive/2025-08-19-improve-validate-error-messages/tasks.md +21 -0
  138. package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/proposal.md +36 -0
  139. package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/specs/openspec-conventions/spec.md +192 -0
  140. package/OpenSpec-main/openspec/changes/archive/2025-08-19-structured-spec-format/tasks.md +19 -0
  141. package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/proposal.md +38 -0
  142. package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/specs/cli-view/spec.md +109 -0
  143. package/OpenSpec-main/openspec/changes/archive/2025-09-12-add-view-dashboard-command/tasks.md +47 -0
  144. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/proposal.md +28 -0
  145. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-init/spec.md +71 -0
  146. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-update/spec.md +41 -0
  147. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-agents-md-config/tasks.md +17 -0
  148. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/proposal.md +35 -0
  149. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/specs/cli-init/spec.md +45 -0
  150. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-multi-agent-init/tasks.md +16 -0
  151. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/proposal.md +119 -0
  152. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-init/spec.md +21 -0
  153. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-update/spec.md +22 -0
  154. package/OpenSpec-main/openspec/changes/archive/2025-09-29-add-slash-command-support/tasks.md +20 -0
  155. package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/proposal.md +19 -0
  156. package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/tasks.md +9 -0
  157. package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-deterministic-tests/proposal.md +78 -0
  158. package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-deterministic-tests/tasks.md +25 -0
  159. package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/proposal.md +13 -0
  160. package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/specs/cli-init/spec.md +92 -0
  161. package/OpenSpec-main/openspec/changes/archive/2025-09-29-improve-init-onboarding/tasks.md +12 -0
  162. package/OpenSpec-main/openspec/changes/archive/2025-09-29-remove-diff-command/proposal.md +81 -0
  163. package/OpenSpec-main/openspec/changes/archive/2025-09-29-remove-diff-command/tasks.md +37 -0
  164. package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/proposal.md +25 -0
  165. package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/specs/cli-view/spec.md +9 -0
  166. package/OpenSpec-main/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/tasks.md +8 -0
  167. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/proposal.md +29 -0
  168. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-init/spec.md +40 -0
  169. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-update/spec.md +22 -0
  170. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/openspec-conventions/spec.md +27 -0
  171. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-file-name/tasks.md +22 -0
  172. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/design.md +130 -0
  173. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/proposal.md +117 -0
  174. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-agent-instructions/tasks.md +69 -0
  175. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/proposal.md +19 -0
  176. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/specs/cli-validate/spec.md +9 -0
  177. package/OpenSpec-main/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/tasks.md +11 -0
  178. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/proposal.md +25 -0
  179. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-init/spec.md +56 -0
  180. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-update/spec.md +41 -0
  181. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/tasks.md +19 -0
  182. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/proposal.md +25 -0
  183. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-init/spec.md +48 -0
  184. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-update/spec.md +48 -0
  185. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/tasks.md +30 -0
  186. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/proposal.md +17 -0
  187. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-init/spec.md +43 -0
  188. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-update/spec.md +27 -0
  189. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-kilocode-workflows/tasks.md +15 -0
  190. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/proposal.md +12 -0
  191. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/specs/cli-init/spec.md +39 -0
  192. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/tasks.md +17 -0
  193. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/proposal.md +17 -0
  194. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-init/spec.md +42 -0
  195. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-update/spec.md +27 -0
  196. package/OpenSpec-main/openspec/changes/archive/2025-10-14-add-windsurf-workflows/tasks.md +17 -0
  197. package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/proposal.md +12 -0
  198. package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/specs/cli-validate/spec.md +39 -0
  199. package/OpenSpec-main/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/tasks.md +12 -0
  200. package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/proposal.md +12 -0
  201. package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/specs/docs-agent-instructions/spec.md +33 -0
  202. package/OpenSpec-main/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/tasks.md +11 -0
  203. package/OpenSpec-main/openspec/changes/archive/2025-10-14-slim-root-agents-file/proposal.md +13 -0
  204. package/OpenSpec-main/openspec/changes/archive/2025-10-14-slim-root-agents-file/tasks.md +15 -0
  205. package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/proposal.md +14 -0
  206. package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/specs/cli-init/spec.md +10 -0
  207. package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/tasks.md +8 -0
  208. package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/proposal.md +15 -0
  209. package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-init/spec.md +32 -0
  210. package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-update/spec.md +10 -0
  211. package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/tasks.md +11 -0
  212. package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-release-automation/proposal.md +49 -0
  213. package/OpenSpec-main/openspec/changes/archive/2025-10-14-update-release-automation/tasks.md +12 -0
  214. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/proposal.md +17 -0
  215. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/specs/cli-update/spec.md +32 -0
  216. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-archive-command-arguments/tasks.md +15 -0
  217. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/proposal.md +15 -0
  218. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/specs/cli-init/spec.md +97 -0
  219. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-cline-support/tasks.md +19 -0
  220. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/proposal.md +13 -0
  221. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/specs/cli-init/spec.md +67 -0
  222. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-crush-support/tasks.md +7 -0
  223. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/proposal.md +12 -0
  224. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-init/spec.md +54 -0
  225. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-update/spec.md +54 -0
  226. package/OpenSpec-main/openspec/changes/archive/2025-10-22-add-factory-slash-commands/tasks.md +11 -0
  227. package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/design.md +525 -0
  228. package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/proposal.md +29 -0
  229. package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/specs/cli-completion/spec.md +300 -0
  230. package/OpenSpec-main/openspec/changes/archive/2025-11-06-add-shell-completions/tasks.md +81 -0
  231. package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/design.md +105 -0
  232. package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/proposal.md +20 -0
  233. package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/specs/global-config/spec.md +76 -0
  234. package/OpenSpec-main/openspec/changes/archive/2025-12-20-add-global-config-dir/tasks.md +26 -0
  235. package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/design.md +89 -0
  236. package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/proposal.md +60 -0
  237. package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/specs/cli-config/spec.md +213 -0
  238. package/OpenSpec-main/openspec/changes/archive/2025-12-21-add-config-command/tasks.md +28 -0
  239. package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/proposal.md +15 -0
  240. package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/specs/cli-completion/spec.md +328 -0
  241. package/OpenSpec-main/openspec/changes/archive/2025-12-23-extend-shell-completions/tasks.md +49 -0
  242. package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/design.md +197 -0
  243. package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/proposal.md +18 -0
  244. package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/specs/artifact-graph/spec.md +103 -0
  245. package/OpenSpec-main/openspec/changes/archive/2025-12-24-add-artifact-graph-core/tasks.md +61 -0
  246. package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/design.md +74 -0
  247. package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/proposal.md +45 -0
  248. package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/specs/change-creation/spec.md +63 -0
  249. package/OpenSpec-main/openspec/changes/archive/2025-12-25-add-change-manager/tasks.md +30 -0
  250. package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/design.md +112 -0
  251. package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/proposal.md +33 -0
  252. package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/specs/cli-artifact-workflow/spec.md +153 -0
  253. package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-artifact-workflow-cli/tasks.md +48 -0
  254. package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/design.md +149 -0
  255. package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/proposal.md +20 -0
  256. package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/specs/instruction-loader/spec.md +70 -0
  257. package/OpenSpec-main/openspec/changes/archive/2025-12-28-add-instruction-loader/tasks.md +13 -0
  258. package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/design.md +129 -0
  259. package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/proposal.md +20 -0
  260. package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/specs/artifact-graph/spec.md +49 -0
  261. package/OpenSpec-main/openspec/changes/archive/2025-12-28-restructure-schema-directories/tasks.md +32 -0
  262. package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/design.md +151 -0
  263. package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/proposal.md +101 -0
  264. package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/specs/cli-artifact-workflow/spec.md +109 -0
  265. package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/specs/cli-view/spec.md +60 -0
  266. package/OpenSpec-main/openspec/changes/archive/2025-12-29-unify-change-state-model/tasks.md +25 -0
  267. package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/proposal.md +11 -0
  268. package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/specs/cli-init/spec.md +105 -0
  269. package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/specs/cli-update/spec.md +92 -0
  270. package/OpenSpec-main/openspec/changes/archive/2025-12-30-add-antigravity-support/tasks.md +12 -0
  271. package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/proposal.md +13 -0
  272. package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/specs/cli-init/spec.md +105 -0
  273. package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/specs/cli-update/spec.md +92 -0
  274. package/OpenSpec-main/openspec/changes/archive/2025-12-30-fix-cline-workflows-implementation/tasks.md +13 -0
  275. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-agent-schema-selection/proposal.md +26 -0
  276. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-agent-schema-selection/tasks.md +32 -0
  277. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/design.md +147 -0
  278. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/proposal.md +29 -0
  279. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/specs/cli-artifact-workflow/spec.md +98 -0
  280. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-per-change-schema-metadata/tasks.md +29 -0
  281. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/.openspec.yaml +2 -0
  282. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/design.md +77 -0
  283. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/proposal.md +32 -0
  284. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/specs/specs-sync-skill/spec.md +67 -0
  285. package/OpenSpec-main/openspec/changes/archive/2026-01-06-add-specs-apply-command/tasks.md +40 -0
  286. package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/proposal.md +138 -0
  287. package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/specs/cli-artifact-workflow/spec.md +60 -0
  288. package/OpenSpec-main/openspec/changes/archive/2026-01-06-make-apply-instructions-schema-aware/tasks.md +35 -0
  289. package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/.openspec.yaml +2 -0
  290. package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/design.md +84 -0
  291. package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/proposal.md +28 -0
  292. package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/specs/opsx-archive-skill/spec.md +122 -0
  293. package/OpenSpec-main/openspec/changes/archive/2026-01-06-opsx-archive-command/tasks.md +23 -0
  294. package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/.openspec.yaml +2 -0
  295. package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/design.md +94 -0
  296. package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/proposal.md +25 -0
  297. package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/specs/nix-flake-support/spec.md +79 -0
  298. package/OpenSpec-main/openspec/changes/archive/2026-01-07-add-nix-flake-support/tasks.md +65 -0
  299. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/.openspec.yaml +2 -0
  300. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/design.md +117 -0
  301. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/proposal.md +23 -0
  302. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/specs/flake-update-script/spec.md +93 -0
  303. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-flake-update-script/tasks.md +55 -0
  304. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/.openspec.yaml +2 -0
  305. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/design.md +175 -0
  306. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/proposal.md +37 -0
  307. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/specs/global-config/spec.md +21 -0
  308. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/specs/telemetry/spec.md +116 -0
  309. package/OpenSpec-main/openspec/changes/archive/2026-01-09-add-posthog-analytics/tasks.md +47 -0
  310. package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/proposal.md +16 -0
  311. package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/specs/cli-init/spec.md +75 -0
  312. package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/specs/cli-update/spec.md +56 -0
  313. package/OpenSpec-main/openspec/changes/archive/2026-01-09-fix-codebuddy-frontmatter-fields/tasks.md +6 -0
  314. package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/design.md +206 -0
  315. package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/proposal.md +21 -0
  316. package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/specs/ci-nix-validation/spec.md +104 -0
  317. package/OpenSpec-main/openspec/changes/archive/2026-01-15-add-nix-ci-validation/tasks.md +49 -0
  318. package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/.openspec.yaml +2 -0
  319. package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/README.md +3 -0
  320. package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/design.md +70 -0
  321. package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/proposal.md +32 -0
  322. package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/specs/no-changes.md +9 -0
  323. package/OpenSpec-main/openspec/changes/archive/2026-01-30-opencode-command-references/tasks.md +22 -0
  324. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/proposal.md +20 -0
  325. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/specs/cli-feedback/spec.md +188 -0
  326. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-feedback-command/tasks.md +30 -0
  327. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/.openspec.yaml +2 -0
  328. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/design.md +115 -0
  329. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/proposal.md +27 -0
  330. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/specs/opsx-onboard-skill/spec.md +162 -0
  331. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-opsx-onboard-skill/tasks.md +21 -0
  332. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/design.md +96 -0
  333. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/proposal.md +48 -0
  334. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/specs/opsx-verify-skill/spec.md +190 -0
  335. package/OpenSpec-main/openspec/changes/archive/2026-02-17-add-verify-skill/tasks.md +15 -0
  336. package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/.openspec.yaml +2 -0
  337. package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/design.md +193 -0
  338. package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/proposal.md +32 -0
  339. package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/specs/cli-init/spec.md +176 -0
  340. package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/specs/legacy-cleanup/spec.md +158 -0
  341. package/OpenSpec-main/openspec/changes/archive/2026-02-17-merge-init-experimental/tasks.md +67 -0
  342. package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/.openspec.yaml +2 -0
  343. package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/design.md +144 -0
  344. package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/proposal.md +36 -0
  345. package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/ai-tool-paths/spec.md +63 -0
  346. package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/cli-artifact-workflow/spec.md +60 -0
  347. package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/specs/command-generation/spec.md +98 -0
  348. package/OpenSpec-main/openspec/changes/archive/2026-02-17-multi-provider-skill-generation/tasks.md +55 -0
  349. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/.openspec.yaml +2 -0
  350. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/design.md +665 -0
  351. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/proposal.md +774 -0
  352. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/config-loading/spec.md +119 -0
  353. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/context-injection/spec.md +51 -0
  354. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/rules-injection/spec.md +99 -0
  355. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/specs/schema-resolution/spec.md +83 -0
  356. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-config/tasks.md +72 -0
  357. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/.openspec.yaml +2 -0
  358. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/design.md +117 -0
  359. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/proposal.md +167 -0
  360. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/specs/schema-resolution/spec.md +88 -0
  361. package/OpenSpec-main/openspec/changes/archive/2026-02-17-project-local-schemas/tasks.md +28 -0
  362. package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/.openspec.yaml +2 -0
  363. package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/design.md +113 -0
  364. package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/proposal.md +55 -0
  365. package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-fork-command/spec.md +66 -0
  366. package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-init-command/spec.md +71 -0
  367. package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-validate-command/spec.md +86 -0
  368. package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/specs/schema-which-command/spec.md +65 -0
  369. package/OpenSpec-main/openspec/changes/archive/2026-02-17-schema-management-cli/tasks.md +67 -0
  370. package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/.openspec.yaml +2 -0
  371. package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/README.md +3 -0
  372. package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/design.md +85 -0
  373. package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/proposal.md +38 -0
  374. package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/specs/ai-tool-paths/spec.md +12 -0
  375. package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/specs/cli-init/spec.md +37 -0
  376. package/OpenSpec-main/openspec/changes/archive/2026-04-23-add-kimi-cli-skills-only-support/tasks.md +22 -0
  377. package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/design.md +208 -0
  378. package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/proposal.md +142 -0
  379. package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/specs/openspec-conventions/spec.md +29 -0
  380. package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/specs/workspace-foundation/spec.md +199 -0
  381. package/OpenSpec-main/openspec/changes/archive/2026-05-04-workspace-foundation/tasks.md +56 -0
  382. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/design.md +356 -0
  383. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/proposal.md +128 -0
  384. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/cli-artifact-workflow/spec.md +24 -0
  385. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/workspace-foundation/spec.md +35 -0
  386. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/specs/workspace-links/spec.md +356 -0
  387. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-create-and-register-repos/tasks.md +121 -0
  388. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/design.md +266 -0
  389. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/proposal.md +65 -0
  390. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/specs/workspace-foundation/spec.md +76 -0
  391. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/specs/workspace-open/spec.md +199 -0
  392. package/OpenSpec-main/openspec/changes/archive/2026-05-06-workspace-open-agent-context/tasks.md +89 -0
  393. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/design.md +242 -0
  394. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/proposal.md +78 -0
  395. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/artifact-graph/spec.md +36 -0
  396. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/change-creation/spec.md +42 -0
  397. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-artifact-workflow/spec.md +100 -0
  398. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-config/spec.md +55 -0
  399. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/cli-update/spec.md +21 -0
  400. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/openspec-conventions/spec.md +32 -0
  401. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/schema-resolution/spec.md +25 -0
  402. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/workspace-change-planning/spec.md +67 -0
  403. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/specs/workspace-links/spec.md +163 -0
  404. package/OpenSpec-main/openspec/changes/archive/2026-05-14-workspace-change-planning/tasks.md +133 -0
  405. package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/.openspec.yaml +2 -0
  406. package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/design.md +48 -0
  407. package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/proposal.md +26 -0
  408. package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/specs/command-generation/spec.md +63 -0
  409. package/OpenSpec-main/openspec/changes/fix-opencode-commands-directory/tasks.md +19 -0
  410. package/OpenSpec-main/openspec/changes/graceful-status-no-changes/.openspec.yaml +2 -0
  411. package/OpenSpec-main/openspec/changes/graceful-status-no-changes/design.md +38 -0
  412. package/OpenSpec-main/openspec/changes/graceful-status-no-changes/proposal.md +25 -0
  413. package/OpenSpec-main/openspec/changes/graceful-status-no-changes/specs/graceful-status-empty/spec.md +27 -0
  414. package/OpenSpec-main/openspec/changes/graceful-status-no-changes/tasks.md +16 -0
  415. package/OpenSpec-main/openspec/changes/schema-alias-support/.openspec.yaml +2 -0
  416. package/OpenSpec-main/openspec/changes/schema-alias-support/proposal.md +28 -0
  417. package/OpenSpec-main/openspec/changes/simplify-skill-installation/.openspec.yaml +2 -0
  418. package/OpenSpec-main/openspec/changes/simplify-skill-installation/design.md +288 -0
  419. package/OpenSpec-main/openspec/changes/simplify-skill-installation/proposal.md +202 -0
  420. package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/cli-init/spec.md +199 -0
  421. package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/cli-update/spec.md +177 -0
  422. package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/profiles/spec.md +142 -0
  423. package/OpenSpec-main/openspec/changes/simplify-skill-installation/specs/propose-workflow/spec.md +42 -0
  424. package/OpenSpec-main/openspec/changes/simplify-skill-installation/tasks.md +132 -0
  425. package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/.openspec.yaml +2 -0
  426. package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/design.md +149 -0
  427. package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/proposal.md +47 -0
  428. package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/specs/template-artifact-pipeline/spec.md +89 -0
  429. package/OpenSpec-main/openspec/changes/unify-template-generation-pipeline/tasks.md +41 -0
  430. package/OpenSpec-main/openspec/changes/workspace-agent-guidance/.openspec.yaml +2 -0
  431. package/OpenSpec-main/openspec/changes/workspace-agent-guidance/proposal.md +100 -0
  432. package/OpenSpec-main/openspec/changes/workspace-apply-repo-slice/proposal.md +58 -0
  433. package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/HISTORICAL_DIRECTION.md +511 -0
  434. package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/POC_REFERENCE_GUIDE.md +266 -0
  435. package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/README.md +107 -0
  436. package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/START_HERE.md +105 -0
  437. package/OpenSpec-main/openspec/changes/workspace-reimplementation-roadmap/proposal.md +62 -0
  438. package/OpenSpec-main/openspec/changes/workspace-verify-and-archive/proposal.md +57 -0
  439. package/OpenSpec-main/openspec/config.yaml +36 -0
  440. package/OpenSpec-main/openspec/explorations/explore-workflow-ux.md +116 -0
  441. package/OpenSpec-main/openspec/explorations/workspace-architecture.md +857 -0
  442. package/OpenSpec-main/openspec/explorations/workspace-roadmap.md +367 -0
  443. package/OpenSpec-main/openspec/explorations/workspace-user-journeys.md +2259 -0
  444. package/OpenSpec-main/openspec/explorations/workspace-ux-simplification.md +491 -0
  445. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/.initiative.yaml +27 -0
  446. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/README.md +33 -0
  447. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/decisions.md +204 -0
  448. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/direction.md +447 -0
  449. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/questions.md +23 -0
  450. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/roadmap.md +759 -0
  451. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/tasks.md +308 -0
  452. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/evidence.md +154 -0
  453. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/plan.md +90 -0
  454. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/01-lock-the-direction/tasks.md +44 -0
  455. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/evidence.md +68 -0
  456. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/plan.md +80 -0
  457. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/02-stabilize-workspace-as-local-view/tasks.md +23 -0
  458. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/evidence.md +43 -0
  459. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/plan.md +85 -0
  460. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/03-add-context-store-foundation/tasks.md +17 -0
  461. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/evidence.md +77 -0
  462. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/plan.md +198 -0
  463. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/04-add-collection-foundation/tasks.md +14 -0
  464. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/evidence.md +99 -0
  465. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/plan.md +236 -0
  466. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/05-ship-initiative-mvp/tasks.md +21 -0
  467. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/evidence.md +97 -0
  468. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/plan.md +333 -0
  469. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/06-add-minimal-context-store-ux/tasks.md +29 -0
  470. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/evidence.md +97 -0
  471. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/plan.md +184 -0
  472. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/07-add-agent-first-initiative-discovery/tasks.md +27 -0
  473. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/evidence.md +239 -0
  474. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/plan.md +279 -0
  475. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/08-connect-repo-local-changes-to-initiatives/tasks.md +22 -0
  476. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/decision-review.md +64 -0
  477. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/evidence.md +106 -0
  478. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/plan.md +141 -0
  479. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/09-add-initiative-resolve/tasks.md +22 -0
  480. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/10-let-workspaces-open-initiatives/plan.md +430 -0
  481. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/10-let-workspaces-open-initiatives/tasks.md +43 -0
  482. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/notes.md +289 -0
  483. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/plan.md +39 -0
  484. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/11-manual-beta-reality-pass/tasks.md +8 -0
  485. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/evidence.md +45 -0
  486. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/plan.md +150 -0
  487. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/12-context-store-first-run-and-cleanup-ux/tasks.md +23 -0
  488. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/evidence.md +25 -0
  489. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/plan.md +98 -0
  490. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/13-agent-handoff-output-and-delivery-polish/tasks.md +25 -0
  491. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/14-workspaces-beta-guide-split/plan.md +37 -0
  492. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/14-workspaces-beta-guide-split/tasks.md +9 -0
  493. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/evidence.md +140 -0
  494. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/plan.md +344 -0
  495. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/15-context-store-project-roots-and-schema-led-initiatives/tasks.md +39 -0
  496. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/16-add-escalation-ux/plan.md +26 -0
  497. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/16-add-escalation-ux/tasks.md +7 -0
  498. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/17-harden-team-shared-coordination/plan.md +25 -0
  499. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/17-harden-team-shared-coordination/tasks.md +7 -0
  500. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/evidence.md +397 -0
  501. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/plan.md +180 -0
  502. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/18-explore-initiative-hosted-target-bound-change-artifacts/tasks.md +28 -0
  503. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/19-review-workspace-beta-compatibility-before-public-release/plan.md +62 -0
  504. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/19-review-workspace-beta-compatibility-before-public-release/tasks.md +16 -0
  505. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/evidence.md +47 -0
  506. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/plan.md +90 -0
  507. package/OpenSpec-main/openspec/initiatives/context-store-and-initiatives/work-items/proposed-initiative-next-agent-handoff-ux/tasks.md +18 -0
  508. package/OpenSpec-main/openspec/specs/ai-tool-paths/spec.md +63 -0
  509. package/OpenSpec-main/openspec/specs/artifact-graph/spec.md +165 -0
  510. package/OpenSpec-main/openspec/specs/change-creation/spec.md +108 -0
  511. package/OpenSpec-main/openspec/specs/ci-nix-validation/spec.md +107 -0
  512. package/OpenSpec-main/openspec/specs/cli-archive/spec.md +210 -0
  513. package/OpenSpec-main/openspec/specs/cli-artifact-workflow/spec.md +398 -0
  514. package/OpenSpec-main/openspec/specs/cli-change/spec.md +92 -0
  515. package/OpenSpec-main/openspec/specs/cli-completion/spec.md +432 -0
  516. package/OpenSpec-main/openspec/specs/cli-config/spec.md +318 -0
  517. package/OpenSpec-main/openspec/specs/cli-feedback/spec.md +193 -0
  518. package/OpenSpec-main/openspec/specs/cli-init/spec.md +269 -0
  519. package/OpenSpec-main/openspec/specs/cli-list/spec.md +103 -0
  520. package/OpenSpec-main/openspec/specs/cli-show/spec.md +86 -0
  521. package/OpenSpec-main/openspec/specs/cli-spec/spec.md +88 -0
  522. package/OpenSpec-main/openspec/specs/cli-update/spec.md +229 -0
  523. package/OpenSpec-main/openspec/specs/cli-validate/spec.md +219 -0
  524. package/OpenSpec-main/openspec/specs/cli-view/spec.md +129 -0
  525. package/OpenSpec-main/openspec/specs/command-generation/spec.md +97 -0
  526. package/OpenSpec-main/openspec/specs/config-loading/spec.md +122 -0
  527. package/OpenSpec-main/openspec/specs/context-injection/spec.md +53 -0
  528. package/OpenSpec-main/openspec/specs/docs-agent-instructions/spec.md +62 -0
  529. package/OpenSpec-main/openspec/specs/global-config/spec.md +101 -0
  530. package/OpenSpec-main/openspec/specs/instruction-loader/spec.md +70 -0
  531. package/OpenSpec-main/openspec/specs/legacy-cleanup/spec.md +163 -0
  532. package/OpenSpec-main/openspec/specs/openspec-conventions/spec.md +556 -0
  533. package/OpenSpec-main/openspec/specs/opsx-archive-skill/spec.md +128 -0
  534. package/OpenSpec-main/openspec/specs/opsx-onboard-skill/spec.md +167 -0
  535. package/OpenSpec-main/openspec/specs/opsx-verify-skill/spec.md +189 -0
  536. package/OpenSpec-main/openspec/specs/rules-injection/spec.md +102 -0
  537. package/OpenSpec-main/openspec/specs/schema-fork-command/spec.md +71 -0
  538. package/OpenSpec-main/openspec/specs/schema-init-command/spec.md +76 -0
  539. package/OpenSpec-main/openspec/specs/schema-resolution/spec.md +201 -0
  540. package/OpenSpec-main/openspec/specs/schema-validate-command/spec.md +91 -0
  541. package/OpenSpec-main/openspec/specs/schema-which-command/spec.md +70 -0
  542. package/OpenSpec-main/openspec/specs/specs-sync-skill/spec.md +72 -0
  543. package/OpenSpec-main/openspec/specs/telemetry/spec.md +122 -0
  544. package/OpenSpec-main/openspec/specs/workspace-change-planning/spec.md +71 -0
  545. package/OpenSpec-main/openspec/specs/workspace-foundation/spec.md +279 -0
  546. package/OpenSpec-main/openspec/specs/workspace-links/spec.md +529 -0
  547. package/OpenSpec-main/openspec/specs/workspace-open/spec.md +205 -0
  548. package/OpenSpec-main/openspec-parallel-merge-plan.md +98 -0
  549. package/OpenSpec-main/package-lock.json +4978 -0
  550. package/OpenSpec-main/package.json +84 -0
  551. package/OpenSpec-main/pnpm-lock.yaml +3187 -0
  552. package/OpenSpec-main/schemas/spec-driven/schema.yaml +153 -0
  553. package/OpenSpec-main/schemas/spec-driven/templates/design.md +19 -0
  554. package/OpenSpec-main/schemas/spec-driven/templates/proposal.md +23 -0
  555. package/OpenSpec-main/schemas/spec-driven/templates/spec.md +8 -0
  556. package/OpenSpec-main/schemas/spec-driven/templates/tasks.md +9 -0
  557. package/OpenSpec-main/schemas/workspace-planning/schema.yaml +72 -0
  558. package/OpenSpec-main/schemas/workspace-planning/templates/design.md +33 -0
  559. package/OpenSpec-main/schemas/workspace-planning/templates/proposal.md +28 -0
  560. package/OpenSpec-main/schemas/workspace-planning/templates/spec.md +9 -0
  561. package/OpenSpec-main/schemas/workspace-planning/templates/tasks.md +15 -0
  562. package/OpenSpec-main/scripts/README.md +37 -0
  563. package/OpenSpec-main/scripts/pack-version-check.mjs +111 -0
  564. package/OpenSpec-main/scripts/postinstall.js +83 -0
  565. package/OpenSpec-main/scripts/test-postinstall.sh +57 -0
  566. package/OpenSpec-main/scripts/update-flake.sh +128 -0
  567. package/OpenSpec-main/test/cli-e2e/basic.test.ts +205 -0
  568. package/OpenSpec-main/test/commands/artifact-workflow.test.ts +1063 -0
  569. package/OpenSpec-main/test/commands/change-initiative-link.test.ts +532 -0
  570. package/OpenSpec-main/test/commands/change.interactive-show.test.ts +45 -0
  571. package/OpenSpec-main/test/commands/change.interactive-validate.test.ts +48 -0
  572. package/OpenSpec-main/test/commands/completion.test.ts +278 -0
  573. package/OpenSpec-main/test/commands/config-profile.test.ts +532 -0
  574. package/OpenSpec-main/test/commands/config.test.ts +285 -0
  575. package/OpenSpec-main/test/commands/context-store.test.ts +692 -0
  576. package/OpenSpec-main/test/commands/feedback.test.ts +429 -0
  577. package/OpenSpec-main/test/commands/initiative.test.ts +907 -0
  578. package/OpenSpec-main/test/commands/schema.test.ts +467 -0
  579. package/OpenSpec-main/test/commands/show.test.ts +123 -0
  580. package/OpenSpec-main/test/commands/spec.interactive-show.test.ts +44 -0
  581. package/OpenSpec-main/test/commands/spec.interactive-validate.test.ts +44 -0
  582. package/OpenSpec-main/test/commands/spec.test.ts +324 -0
  583. package/OpenSpec-main/test/commands/validate.enriched-output.test.ts +49 -0
  584. package/OpenSpec-main/test/commands/validate.test.ts +147 -0
  585. package/OpenSpec-main/test/commands/workspace-initiative-open.test.ts +638 -0
  586. package/OpenSpec-main/test/commands/workspace-open.test.ts +123 -0
  587. package/OpenSpec-main/test/commands/workspace.interactive.test.ts +696 -0
  588. package/OpenSpec-main/test/commands/workspace.test.ts +1812 -0
  589. package/OpenSpec-main/test/core/archive.test.ts +869 -0
  590. package/OpenSpec-main/test/core/artifact-graph/graph.test.ts +268 -0
  591. package/OpenSpec-main/test/core/artifact-graph/instruction-loader.test.ts +609 -0
  592. package/OpenSpec-main/test/core/artifact-graph/outputs.test.ts +175 -0
  593. package/OpenSpec-main/test/core/artifact-graph/resolver.test.ts +651 -0
  594. package/OpenSpec-main/test/core/artifact-graph/schema.test.ts +207 -0
  595. package/OpenSpec-main/test/core/artifact-graph/state.test.ts +174 -0
  596. package/OpenSpec-main/test/core/artifact-graph/workflow.integration.test.ts +182 -0
  597. package/OpenSpec-main/test/core/available-tools.test.ts +167 -0
  598. package/OpenSpec-main/test/core/collections/initiatives/operations.test.ts +342 -0
  599. package/OpenSpec-main/test/core/collections/initiatives/resolution.test.ts +21 -0
  600. package/OpenSpec-main/test/core/collections/initiatives/schema.test.ts +201 -0
  601. package/OpenSpec-main/test/core/collections/initiatives/templates.test.ts +74 -0
  602. package/OpenSpec-main/test/core/collections/runtime.test.ts +214 -0
  603. package/OpenSpec-main/test/core/command-generation/adapters.test.ts +710 -0
  604. package/OpenSpec-main/test/core/command-generation/generator.test.ts +110 -0
  605. package/OpenSpec-main/test/core/command-generation/registry.test.ts +108 -0
  606. package/OpenSpec-main/test/core/command-generation/types.test.ts +79 -0
  607. package/OpenSpec-main/test/core/commands/change-command.list.test.ts +76 -0
  608. package/OpenSpec-main/test/core/commands/change-command.show-validate.test.ts +111 -0
  609. package/OpenSpec-main/test/core/completions/command-registry.test.ts +201 -0
  610. package/OpenSpec-main/test/core/completions/completion-provider.test.ts +288 -0
  611. package/OpenSpec-main/test/core/completions/generators/bash-generator.test.ts +586 -0
  612. package/OpenSpec-main/test/core/completions/generators/fish-generator.test.ts +549 -0
  613. package/OpenSpec-main/test/core/completions/generators/powershell-generator.test.ts +621 -0
  614. package/OpenSpec-main/test/core/completions/generators/zsh-generator.test.ts +425 -0
  615. package/OpenSpec-main/test/core/completions/installers/bash-installer.test.ts +484 -0
  616. package/OpenSpec-main/test/core/completions/installers/fish-installer.test.ts +321 -0
  617. package/OpenSpec-main/test/core/completions/installers/powershell-installer.test.ts +824 -0
  618. package/OpenSpec-main/test/core/completions/installers/zsh-installer.test.ts +750 -0
  619. package/OpenSpec-main/test/core/config-schema.test.ts +340 -0
  620. package/OpenSpec-main/test/core/context-store/foundation.test.ts +364 -0
  621. package/OpenSpec-main/test/core/context-store/registry.test.ts +599 -0
  622. package/OpenSpec-main/test/core/converters/json-converter.test.ts +184 -0
  623. package/OpenSpec-main/test/core/global-config.test.ts +371 -0
  624. package/OpenSpec-main/test/core/init.test.ts +786 -0
  625. package/OpenSpec-main/test/core/legacy-cleanup.test.ts +1162 -0
  626. package/OpenSpec-main/test/core/list.test.ts +165 -0
  627. package/OpenSpec-main/test/core/migration.test.ts +150 -0
  628. package/OpenSpec-main/test/core/parsers/change-parser.test.ts +52 -0
  629. package/OpenSpec-main/test/core/parsers/markdown-parser.test.ts +355 -0
  630. package/OpenSpec-main/test/core/parsers/requirement-blocks.test.ts +46 -0
  631. package/OpenSpec-main/test/core/planning-home.test.ts +120 -0
  632. package/OpenSpec-main/test/core/profile-sync-drift.test.ts +92 -0
  633. package/OpenSpec-main/test/core/profiles.test.ts +63 -0
  634. package/OpenSpec-main/test/core/project-config.test.ts +610 -0
  635. package/OpenSpec-main/test/core/shared/skill-generation.test.ts +301 -0
  636. package/OpenSpec-main/test/core/shared/tool-detection.test.ts +333 -0
  637. package/OpenSpec-main/test/core/templates/skill-templates-parity.test.ts +172 -0
  638. package/OpenSpec-main/test/core/update.test.ts +1810 -0
  639. package/OpenSpec-main/test/core/validation.enriched-messages.test.ts +74 -0
  640. package/OpenSpec-main/test/core/validation.test.ts +680 -0
  641. package/OpenSpec-main/test/core/view.test.ts +129 -0
  642. package/OpenSpec-main/test/core/workspace/foundation.test.ts +694 -0
  643. package/OpenSpec-main/test/core/workspace/legacy-state.test.ts +221 -0
  644. package/OpenSpec-main/test/core/workspace/skills.test.ts +69 -0
  645. package/OpenSpec-main/test/fixtures/tmp-init/openspec/changes/c1/proposal.md +7 -0
  646. package/OpenSpec-main/test/fixtures/tmp-init/openspec/changes/c1/specs/alpha/spec.md +8 -0
  647. package/OpenSpec-main/test/fixtures/tmp-init/openspec/specs/alpha/spec.md +12 -0
  648. package/OpenSpec-main/test/helpers/path-env.ts +26 -0
  649. package/OpenSpec-main/test/helpers/run-cli.ts +150 -0
  650. package/OpenSpec-main/test/prompts/searchable-multi-select.test.ts +220 -0
  651. package/OpenSpec-main/test/specs/source-specs-normalization.test.ts +63 -0
  652. package/OpenSpec-main/test/telemetry/config.test.ts +298 -0
  653. package/OpenSpec-main/test/telemetry/index.test.ts +219 -0
  654. package/OpenSpec-main/test/utils/change-metadata.test.ts +368 -0
  655. package/OpenSpec-main/test/utils/change-utils.test.ts +201 -0
  656. package/OpenSpec-main/test/utils/command-references.test.ts +83 -0
  657. package/OpenSpec-main/test/utils/file-system.test.ts +322 -0
  658. package/OpenSpec-main/test/utils/interactive.test.ts +125 -0
  659. package/OpenSpec-main/test/utils/marker-updates.test.ts +448 -0
  660. package/OpenSpec-main/test/utils/shell-detection.test.ts +185 -0
  661. package/OpenSpec-main/vitest.config.ts +47 -0
  662. package/OpenSpec-main/vitest.setup.ts +15 -0
  663. package/README.md +37 -4
  664. package/Scanner CLI Inteligente para Projetos.md +433 -0
  665. package/dist/index.js +1248 -161
  666. package/package.json +1 -1
  667. package/templates/wiki-recipes/nextjs.rules.md +21 -0
  668. package/templates/wiki-recipes/postgresql.rules.md +20 -0
  669. package/templates/wiki-recipes/react.rules.md +18 -0
  670. package/templates/wiki-recipes/tailwindcss.rules.md +18 -0
  671. package/templates/wiki-recipes/typescript.rules.md +21 -0
@@ -0,0 +1,221 @@
1
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
2
+ import * as fs from 'node:fs';
3
+ import * as os from 'node:os';
4
+ import * as path from 'node:path';
5
+
6
+ import {
7
+ getWorkspaceMetadataDir,
8
+ getWorkspaceViewStatePath,
9
+ parseWorkspacePreferredOpenerValue,
10
+ parseWorkspaceViewState,
11
+ readWorkspaceViewState,
12
+ serializeWorkspaceViewState,
13
+ writeWorkspaceViewState,
14
+ } from '../../../src/core/workspace/index.js';
15
+ import {
16
+ WORKSPACE_LEGACY_LOCAL_STATE_FILE_NAME,
17
+ WORKSPACE_LEGACY_LOCAL_STATE_IGNORE_PATTERN,
18
+ WORKSPACE_LEGACY_SHARED_STATE_FILE_NAME,
19
+ getWorkspaceLegacyLocalStatePath,
20
+ getWorkspaceLegacySharedStatePath,
21
+ parseWorkspaceLocalState,
22
+ parseWorkspaceSharedState,
23
+ serializeWorkspaceLocalState,
24
+ workspaceStatePartsToViewState,
25
+ workspaceViewToLocalState,
26
+ workspaceViewToSharedState,
27
+ } from '../../../src/core/workspace/legacy-state.js';
28
+
29
+ describe('workspace legacy state compatibility', () => {
30
+ let tempDir: string;
31
+
32
+ beforeEach(() => {
33
+ tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'openspec-workspace-legacy-'));
34
+ });
35
+
36
+ afterEach(() => {
37
+ fs.rmSync(tempDir, { recursive: true, force: true });
38
+ });
39
+
40
+ function createWorkspaceRoot(name = 'platform'): string {
41
+ const workspaceRoot = path.join(tempDir, name);
42
+ fs.mkdirSync(path.dirname(getWorkspaceViewStatePath(workspaceRoot)), { recursive: true });
43
+ fs.writeFileSync(
44
+ getWorkspaceViewStatePath(workspaceRoot),
45
+ `version: 1
46
+ name: ${name}
47
+ context: null
48
+ links: {}
49
+ `
50
+ );
51
+
52
+ return workspaceRoot;
53
+ }
54
+
55
+ it('keeps legacy file helpers isolated from canonical workspace helpers', () => {
56
+ const workspaceRoot = path.join(tempDir, 'platform');
57
+
58
+ expect(WORKSPACE_LEGACY_SHARED_STATE_FILE_NAME).toBe('workspace.yaml');
59
+ expect(WORKSPACE_LEGACY_LOCAL_STATE_FILE_NAME).toBe('local.yaml');
60
+ expect(WORKSPACE_LEGACY_LOCAL_STATE_IGNORE_PATTERN).toBe('.openspec-workspace/local.yaml');
61
+ expect(getWorkspaceLegacySharedStatePath(workspaceRoot)).toBe(
62
+ path.join(workspaceRoot, '.openspec-workspace', 'workspace.yaml')
63
+ );
64
+ expect(getWorkspaceLegacyLocalStatePath(workspaceRoot)).toBe(
65
+ path.join(workspaceRoot, '.openspec-workspace', 'local.yaml')
66
+ );
67
+ expect(getWorkspaceViewStatePath(workspaceRoot)).toBe(
68
+ path.join(workspaceRoot, '.openspec-workspace', 'view.yaml')
69
+ );
70
+ expect(getWorkspaceLegacyLocalStatePath('D:\\repos\\platform-workspace')).toBe(
71
+ 'D:\\repos\\platform-workspace\\.openspec-workspace\\local.yaml'
72
+ );
73
+ });
74
+
75
+ it('parses and validates legacy shared state', () => {
76
+ const state = parseWorkspaceSharedState(`version: 1
77
+ name: platform
78
+ links:
79
+ api: {}
80
+ web:
81
+ note: planning only
82
+ `);
83
+
84
+ expect(state).toEqual({
85
+ version: 1,
86
+ name: 'platform',
87
+ context: null,
88
+ links: {
89
+ api: {},
90
+ web: { note: 'planning only' },
91
+ },
92
+ });
93
+ expect(() => parseWorkspaceSharedState('version: 2\nname: platform\nlinks: {}\n')).toThrow(
94
+ /Invalid workspace shared state/
95
+ );
96
+ expect(() => parseWorkspaceSharedState('version: 1\nname: bad/name\nlinks: {}\n')).toThrow(
97
+ /Workspace name/
98
+ );
99
+ expect(() =>
100
+ parseWorkspaceSharedState('version: 1\nname: platform\nlinks:\n bad/name: {}\n')
101
+ ).toThrow(/workspace link name/);
102
+ expect(() =>
103
+ parseWorkspaceSharedState('version: 1\nname: platform\nlinks:\n api: nope\n')
104
+ ).toThrow(/Invalid workspace shared state/);
105
+ });
106
+
107
+ it('parses, serializes, and validates legacy local state', () => {
108
+ const state = parseWorkspaceLocalState(String.raw`version: 1
109
+ paths:
110
+ windows: D:\repos\api
111
+ wsl: /mnt/d/repos/api
112
+ linux: /home/tabish/repos/api
113
+ `);
114
+
115
+ expect(state.paths.windows).toBe('D:\\repos\\api');
116
+ expect(state.paths.wsl).toBe('/mnt/d/repos/api');
117
+ expect(state.paths.linux).toBe('/home/tabish/repos/api');
118
+
119
+ const codexState = parseWorkspaceLocalState(`version: 1
120
+ paths:
121
+ api: /repo/api
122
+ preferred_opener:
123
+ kind: agent
124
+ id: codex
125
+ `);
126
+ expect(codexState.preferred_opener).toEqual({
127
+ kind: 'agent',
128
+ id: 'codex-cli',
129
+ });
130
+ expect(parseWorkspaceLocalState(serializeWorkspaceLocalState(codexState))).toEqual(
131
+ codexState
132
+ );
133
+ expect(parseWorkspacePreferredOpenerValue('editor')).toEqual({
134
+ kind: 'editor',
135
+ id: 'vscode',
136
+ });
137
+
138
+ expect(() => parseWorkspaceLocalState('version: 2\npaths: {}\n')).toThrow(
139
+ /Invalid workspace local state/
140
+ );
141
+ expect(() => parseWorkspaceLocalState('version: 1\npaths:\n ../api: /repo\n')).toThrow(
142
+ /workspace local path name/
143
+ );
144
+ expect(() => parseWorkspaceLocalState('version: 1\npaths:\n api: 42\n')).toThrow(
145
+ /Invalid workspace local state/
146
+ );
147
+ expect(() =>
148
+ parseWorkspaceLocalState(
149
+ 'version: 1\npaths: {}\npreferred_opener:\n kind: agent\n id: editor\n'
150
+ )
151
+ ).toThrow(/Unsupported workspace opener/);
152
+ });
153
+
154
+ it('converts legacy state parts to and from canonical view state', async () => {
155
+ const workspaceRoot = path.join(tempDir, 'roundtrip');
156
+ const viewState = workspaceStatePartsToViewState(
157
+ {
158
+ version: 1,
159
+ name: 'roundtrip',
160
+ context: null,
161
+ links: {
162
+ api: {},
163
+ web: {},
164
+ },
165
+ },
166
+ {
167
+ version: 1,
168
+ paths: {
169
+ api: '/repos/api',
170
+ },
171
+ }
172
+ );
173
+
174
+ expect(viewState.links).toEqual({
175
+ api: '/repos/api',
176
+ web: null,
177
+ });
178
+ expect(parseWorkspaceViewState(serializeWorkspaceViewState(viewState))).toEqual(viewState);
179
+ expect(workspaceViewToSharedState(viewState).links).toEqual({
180
+ api: {},
181
+ web: {},
182
+ });
183
+ expect(workspaceViewToLocalState(viewState).paths).toEqual({
184
+ api: '/repos/api',
185
+ });
186
+
187
+ await writeWorkspaceViewState(workspaceRoot, viewState);
188
+ await expect(readWorkspaceViewState(workspaceRoot)).resolves.toEqual(viewState);
189
+ });
190
+
191
+ it('reads legacy split state through the canonical view-state reader', async () => {
192
+ const workspaceRoot = createWorkspaceRoot();
193
+ fs.rmSync(getWorkspaceViewStatePath(workspaceRoot));
194
+ fs.mkdirSync(getWorkspaceMetadataDir(workspaceRoot), { recursive: true });
195
+ fs.writeFileSync(
196
+ getWorkspaceLegacySharedStatePath(workspaceRoot),
197
+ `version: 1
198
+ name: platform
199
+ context: null
200
+ links:
201
+ api: {}
202
+ `
203
+ );
204
+ fs.writeFileSync(
205
+ getWorkspaceLegacyLocalStatePath(workspaceRoot),
206
+ `version: 1
207
+ paths:
208
+ api: /repos/api
209
+ `
210
+ );
211
+
212
+ await expect(readWorkspaceViewState(workspaceRoot)).resolves.toEqual({
213
+ version: 1,
214
+ name: 'platform',
215
+ context: null,
216
+ links: {
217
+ api: '/repos/api',
218
+ },
219
+ });
220
+ });
221
+ });
@@ -0,0 +1,69 @@
1
+ import * as fs from 'node:fs';
2
+ import * as os from 'node:os';
3
+ import * as path from 'node:path';
4
+
5
+ import { describe, expect, it } from 'vitest';
6
+
7
+ import {
8
+ getWorkspaceSkillDirectory,
9
+ getWorkspaceSkillToolIds,
10
+ hasWorkspaceSkillProfileDrift,
11
+ parseWorkspaceSkillToolsValue,
12
+ } from '../../../src/core/workspace/skills.js';
13
+ import { CORE_WORKFLOWS } from '../../../src/core/profiles.js';
14
+
15
+ function withDefaultGlobalConfig<T>(callback: () => T): T {
16
+ const previousConfigHome = process.env.XDG_CONFIG_HOME;
17
+ const configHome = fs.mkdtempSync(path.join(os.tmpdir(), 'openspec-workspace-skills-'));
18
+
19
+ process.env.XDG_CONFIG_HOME = configHome;
20
+
21
+ try {
22
+ return callback();
23
+ } finally {
24
+ if (previousConfigHome === undefined) {
25
+ delete process.env.XDG_CONFIG_HOME;
26
+ } else {
27
+ process.env.XDG_CONFIG_HOME = previousConfigHome;
28
+ }
29
+ fs.rmSync(configHome, { recursive: true, force: true });
30
+ }
31
+ }
32
+
33
+ describe('workspace skill helpers', () => {
34
+ it('parses workspace --tools values using the skill-capable tool set', () => {
35
+ expect(parseWorkspaceSkillToolsValue('all')).toEqual(getWorkspaceSkillToolIds());
36
+ expect(parseWorkspaceSkillToolsValue('none')).toEqual([]);
37
+ expect(parseWorkspaceSkillToolsValue('Codex, claude,codex')).toEqual(['codex', 'claude']);
38
+ });
39
+
40
+ it('rejects invalid or mixed workspace --tools values', () => {
41
+ expect(() => parseWorkspaceSkillToolsValue('')).toThrow(/requires a value/);
42
+ expect(() => parseWorkspaceSkillToolsValue('all,codex')).toThrow(/Cannot combine/);
43
+ expect(() => parseWorkspaceSkillToolsValue('codex,missing')).toThrow(/missing/);
44
+ });
45
+
46
+ it('builds workspace-root skill paths with the workspace path style', () => {
47
+ expect(getWorkspaceSkillDirectory('/repos/platform-workspace', 'codex')).toBe(
48
+ '/repos/platform-workspace/.codex/skills'
49
+ );
50
+ expect(getWorkspaceSkillDirectory('D:\\repos\\platform-workspace', 'codex')).toBe(
51
+ 'D:\\repos\\platform-workspace\\.codex\\skills'
52
+ );
53
+ });
54
+
55
+ it('does not report profile drift when workflow IDs match in a different order', () => {
56
+ withDefaultGlobalConfig(() => {
57
+ expect(
58
+ hasWorkspaceSkillProfileDrift({
59
+ workspace_skills: {
60
+ selected_agents: ['codex'],
61
+ last_applied_profile: 'core',
62
+ last_applied_delivery: 'both',
63
+ last_applied_workflow_ids: [...CORE_WORKFLOWS].reverse(),
64
+ },
65
+ })
66
+ ).toBe(false);
67
+ });
68
+ });
69
+ });
@@ -0,0 +1,7 @@
1
+ # Test Change
2
+
3
+ ## Why
4
+ Because reasons that are sufficiently long for validation.
5
+
6
+ ## What Changes
7
+ - **alpha:** Add something
@@ -0,0 +1,8 @@
1
+ ## ADDED Requirements
2
+ ### Requirement: Parser SHALL accept CRLF change proposals
3
+ The parser SHALL accept CRLF change proposals without manual edits.
4
+
5
+ #### Scenario: Validate CRLF change
6
+ - **GIVEN** a change proposal saved with CRLF line endings
7
+ - **WHEN** a developer runs openspec validate on the proposal
8
+ - **THEN** validation succeeds without section errors
@@ -0,0 +1,12 @@
1
+ ## Purpose
2
+ This spec ensures the validation harness exercises a deterministic alpha module for automated tests.
3
+
4
+ ## Requirements
5
+
6
+ ### Requirement: Alpha module SHALL produce deterministic output
7
+ The alpha module SHALL produce a deterministic response for validation.
8
+
9
+ #### Scenario: Deterministic alpha run
10
+ - **GIVEN** a configured alpha module
11
+ - **WHEN** the module runs the default flow
12
+ - **THEN** the output matches the expected fixture result
@@ -0,0 +1,26 @@
1
+ import * as path from 'node:path';
2
+
3
+ export function pathEnvKey(env: NodeJS.ProcessEnv = process.env): string {
4
+ return Object.keys(env).find((key) => key.toLowerCase() === 'path') ?? 'PATH';
5
+ }
6
+
7
+ export function setProcessPathEnv(value: string): void {
8
+ process.env[pathEnvKey()] = value;
9
+ }
10
+
11
+ export function prependProcessPathEnv(dir: string): void {
12
+ const key = pathEnvKey();
13
+ process.env[key] = prependPathValue(dir, process.env[key]);
14
+ }
15
+
16
+ export function withPrependedPathEnv(baseEnv: NodeJS.ProcessEnv, dir: string): NodeJS.ProcessEnv {
17
+ const key = pathEnvKey({ ...process.env, ...baseEnv });
18
+ return {
19
+ ...baseEnv,
20
+ [key]: prependPathValue(dir, baseEnv[key] ?? process.env[key]),
21
+ };
22
+ }
23
+
24
+ function prependPathValue(dir: string, currentPath: string | undefined): string {
25
+ return currentPath ? `${dir}${path.delimiter}${currentPath}` : dir;
26
+ }
@@ -0,0 +1,150 @@
1
+ import { spawn } from 'child_process';
2
+ import { existsSync } from 'fs';
3
+ import path from 'path';
4
+ import { fileURLToPath } from 'url';
5
+
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
8
+
9
+ const projectRoot = path.resolve(__dirname, '..', '..');
10
+ const cliEntry = path.join(projectRoot, 'dist', 'cli', 'index.js');
11
+
12
+ let buildPromise: Promise<void> | undefined;
13
+
14
+ interface RunCommandOptions {
15
+ cwd?: string;
16
+ env?: NodeJS.ProcessEnv;
17
+ }
18
+
19
+ interface RunCLIOptions {
20
+ cwd?: string;
21
+ env?: NodeJS.ProcessEnv;
22
+ input?: string;
23
+ timeoutMs?: number;
24
+ }
25
+
26
+ export interface RunCLIResult {
27
+ exitCode: number | null;
28
+ signal: NodeJS.Signals | null;
29
+ stdout: string;
30
+ stderr: string;
31
+ timedOut: boolean;
32
+ command: string;
33
+ }
34
+
35
+ function runCommand(command: string, args: string[], options: RunCommandOptions = {}) {
36
+ return new Promise<void>((resolve, reject) => {
37
+ const child = spawn(command, args, {
38
+ cwd: options.cwd ?? projectRoot,
39
+ env: { ...process.env, ...options.env },
40
+ stdio: 'inherit',
41
+ shell: process.platform === 'win32',
42
+ });
43
+
44
+ child.on('error', (error) => reject(error));
45
+ child.on('close', (code, signal) => {
46
+ if (code === 0) {
47
+ resolve();
48
+ } else {
49
+ const reason = signal ? `signal ${signal}` : `exit code ${code}`;
50
+ reject(new Error(`Command failed (${reason}): ${command} ${args.join(' ')}`));
51
+ }
52
+ });
53
+ });
54
+ }
55
+
56
+ export async function ensureCliBuilt() {
57
+ if (existsSync(cliEntry)) {
58
+ return;
59
+ }
60
+
61
+ if (!buildPromise) {
62
+ buildPromise = runCommand('pnpm', ['run', 'build']).catch((error) => {
63
+ buildPromise = undefined;
64
+ throw error;
65
+ });
66
+ }
67
+
68
+ await buildPromise;
69
+
70
+ if (!existsSync(cliEntry)) {
71
+ throw new Error('CLI entry point missing after build. Expected dist/cli/index.js');
72
+ }
73
+ }
74
+
75
+ export async function runCLI(args: string[] = [], options: RunCLIOptions = {}): Promise<RunCLIResult> {
76
+ await ensureCliBuilt();
77
+
78
+ const finalArgs = Array.isArray(args) ? args : [args];
79
+ const invocation = [cliEntry, ...finalArgs].join(' ');
80
+
81
+ return new Promise<RunCLIResult>((resolve, reject) => {
82
+ const child = spawn(process.execPath, [cliEntry, ...finalArgs], {
83
+ cwd: options.cwd ?? projectRoot,
84
+ env: {
85
+ ...process.env,
86
+ OPEN_SPEC_INTERACTIVE: '0',
87
+ ...options.env,
88
+ },
89
+ stdio: ['pipe', 'pipe', 'pipe'],
90
+ windowsHide: true,
91
+ });
92
+
93
+ // Prevent child process from keeping the event loop alive
94
+ child.unref();
95
+
96
+ let stdout = '';
97
+ let stderr = '';
98
+ let timedOut = false;
99
+
100
+ const timeout = options.timeoutMs
101
+ ? setTimeout(() => {
102
+ timedOut = true;
103
+ child.kill('SIGKILL');
104
+ }, options.timeoutMs)
105
+ : undefined;
106
+
107
+ child.stdout?.setEncoding('utf-8');
108
+ child.stdout?.on('data', (chunk) => {
109
+ stdout += chunk;
110
+ });
111
+
112
+ child.stderr?.setEncoding('utf-8');
113
+ child.stderr?.on('data', (chunk) => {
114
+ stderr += chunk;
115
+ });
116
+
117
+ child.on('error', (error) => {
118
+ if (timeout) clearTimeout(timeout);
119
+ // Explicitly destroy streams to prevent hanging handles
120
+ child.stdout?.destroy();
121
+ child.stderr?.destroy();
122
+ child.stdin?.destroy();
123
+ reject(error);
124
+ });
125
+
126
+ child.on('close', (code, signal) => {
127
+ if (timeout) clearTimeout(timeout);
128
+ // Explicitly destroy streams to prevent hanging handles
129
+ child.stdout?.destroy();
130
+ child.stderr?.destroy();
131
+ child.stdin?.destroy();
132
+ resolve({
133
+ exitCode: code,
134
+ signal,
135
+ stdout,
136
+ stderr,
137
+ timedOut,
138
+ command: `node ${invocation}`,
139
+ });
140
+ });
141
+
142
+ if (options.input && child.stdin) {
143
+ child.stdin.end(options.input);
144
+ } else if (child.stdin) {
145
+ child.stdin.end();
146
+ }
147
+ });
148
+ }
149
+
150
+ export const cliProjectRoot = projectRoot;