openspecui 0.0.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 (311) hide show
  1. package/.gitmodules +3 -0
  2. package/CHAT.md +3 -0
  3. package/package.json +12 -0
  4. package/references/openspec/.changeset/README.md +6 -0
  5. package/references/openspec/.changeset/config.json +12 -0
  6. package/references/openspec/.coderabbit.yaml +11 -0
  7. package/references/openspec/.devcontainer/README.md +92 -0
  8. package/references/openspec/.devcontainer/devcontainer.json +68 -0
  9. package/references/openspec/.github/CODEOWNERS +2 -0
  10. package/references/openspec/.github/workflows/ci.yml +222 -0
  11. package/references/openspec/.github/workflows/release-prepare.yml +50 -0
  12. package/references/openspec/AGENTS.md +18 -0
  13. package/references/openspec/CHANGELOG.md +205 -0
  14. package/references/openspec/LICENSE +22 -0
  15. package/references/openspec/README.md +374 -0
  16. package/references/openspec/assets/openspec_dashboard.png +0 -0
  17. package/references/openspec/assets/openspec_pixel_dark.svg +89 -0
  18. package/references/openspec/assets/openspec_pixel_light.svg +89 -0
  19. package/references/openspec/bin/openspec.js +3 -0
  20. package/references/openspec/build.js +31 -0
  21. package/references/openspec/openspec/AGENTS.md +454 -0
  22. package/references/openspec/openspec/changes/IMPLEMENTATION_ORDER.md +68 -0
  23. package/references/openspec/openspec/changes/add-antigravity-support/proposal.md +11 -0
  24. package/references/openspec/openspec/changes/add-antigravity-support/specs/cli-init/spec.md +9 -0
  25. package/references/openspec/openspec/changes/add-antigravity-support/specs/cli-update/spec.md +8 -0
  26. package/references/openspec/openspec/changes/add-antigravity-support/tasks.md +12 -0
  27. package/references/openspec/openspec/changes/add-scaffold-command/proposal.md +11 -0
  28. package/references/openspec/openspec/changes/add-scaffold-command/specs/cli-scaffold/spec.md +36 -0
  29. package/references/openspec/openspec/changes/add-scaffold-command/tasks.md +12 -0
  30. package/references/openspec/openspec/changes/archive/2025-01-11-add-update-command/design.md +86 -0
  31. package/references/openspec/openspec/changes/archive/2025-01-11-add-update-command/proposal.md +29 -0
  32. package/references/openspec/openspec/changes/archive/2025-01-11-add-update-command/specs/cli-update/spec.md +59 -0
  33. package/references/openspec/openspec/changes/archive/2025-01-11-add-update-command/tasks.md +20 -0
  34. package/references/openspec/openspec/changes/archive/2025-01-13-add-list-command/proposal.md +20 -0
  35. package/references/openspec/openspec/changes/archive/2025-01-13-add-list-command/specs/cli-list/spec.md +69 -0
  36. package/references/openspec/openspec/changes/archive/2025-01-13-add-list-command/tasks.md +26 -0
  37. package/references/openspec/openspec/changes/archive/2025-08-05-initialize-typescript-project/design.md +64 -0
  38. package/references/openspec/openspec/changes/archive/2025-08-05-initialize-typescript-project/proposal.md +18 -0
  39. package/references/openspec/openspec/changes/archive/2025-08-05-initialize-typescript-project/tasks.md +25 -0
  40. package/references/openspec/openspec/changes/archive/2025-08-06-add-init-command/design.md +104 -0
  41. package/references/openspec/openspec/changes/archive/2025-08-06-add-init-command/proposal.md +30 -0
  42. package/references/openspec/openspec/changes/archive/2025-08-06-add-init-command/specs/cli-init/spec.md +148 -0
  43. package/references/openspec/openspec/changes/archive/2025-08-06-add-init-command/tasks.md +38 -0
  44. package/references/openspec/openspec/changes/archive/2025-08-06-adopt-future-state-storage/proposal.md +24 -0
  45. package/references/openspec/openspec/changes/archive/2025-08-06-adopt-future-state-storage/specs/openspec-conventions/spec.md +120 -0
  46. package/references/openspec/openspec/changes/archive/2025-08-06-adopt-future-state-storage/tasks.md +38 -0
  47. package/references/openspec/openspec/changes/archive/2025-08-11-add-complexity-guidelines/proposal.md +13 -0
  48. package/references/openspec/openspec/changes/archive/2025-08-11-add-complexity-guidelines/specs/openspec-docs/README.md +472 -0
  49. package/references/openspec/openspec/changes/archive/2025-08-11-add-complexity-guidelines/tasks.md +9 -0
  50. package/references/openspec/openspec/changes/archive/2025-08-13-add-archive-command/proposal.md +15 -0
  51. package/references/openspec/openspec/changes/archive/2025-08-13-add-archive-command/specs/cli-archive/spec.md +111 -0
  52. package/references/openspec/openspec/changes/archive/2025-08-13-add-archive-command/tasks.md +44 -0
  53. package/references/openspec/openspec/changes/archive/2025-08-13-add-diff-command/proposal.md +19 -0
  54. package/references/openspec/openspec/changes/archive/2025-08-13-add-diff-command/specs/cli-diff/spec.md +77 -0
  55. package/references/openspec/openspec/changes/archive/2025-08-13-add-diff-command/tasks.md +23 -0
  56. package/references/openspec/openspec/changes/archive/2025-08-19-add-change-commands/design.md +56 -0
  57. package/references/openspec/openspec/changes/archive/2025-08-19-add-change-commands/proposal.md +17 -0
  58. package/references/openspec/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-change/spec.md +48 -0
  59. package/references/openspec/openspec/changes/archive/2025-08-19-add-change-commands/specs/cli-list/spec.md +12 -0
  60. package/references/openspec/openspec/changes/archive/2025-08-19-add-change-commands/tasks.md +34 -0
  61. package/references/openspec/openspec/changes/archive/2025-08-19-add-interactive-show-command/proposal.md +20 -0
  62. package/references/openspec/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-change/spec.md +23 -0
  63. package/references/openspec/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-show/spec.md +83 -0
  64. package/references/openspec/openspec/changes/archive/2025-08-19-add-interactive-show-command/specs/cli-spec/spec.md +23 -0
  65. package/references/openspec/openspec/changes/archive/2025-08-19-add-interactive-show-command/tasks.md +142 -0
  66. package/references/openspec/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/proposal.md +13 -0
  67. package/references/openspec/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/specs/cli-archive/spec.md +191 -0
  68. package/references/openspec/openspec/changes/archive/2025-08-19-add-skip-specs-archive-option/tasks.md +57 -0
  69. package/references/openspec/openspec/changes/archive/2025-08-19-add-spec-commands/design.md +45 -0
  70. package/references/openspec/openspec/changes/archive/2025-08-19-add-spec-commands/proposal.md +19 -0
  71. package/references/openspec/openspec/changes/archive/2025-08-19-add-spec-commands/specs/cli-spec/spec.md +43 -0
  72. package/references/openspec/openspec/changes/archive/2025-08-19-add-spec-commands/tasks.md +22 -0
  73. package/references/openspec/openspec/changes/archive/2025-08-19-add-zod-validation/design.md +104 -0
  74. package/references/openspec/openspec/changes/archive/2025-08-19-add-zod-validation/proposal.md +22 -0
  75. package/references/openspec/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-archive/spec.md +18 -0
  76. package/references/openspec/openspec/changes/archive/2025-08-19-add-zod-validation/specs/cli-diff/spec.md +12 -0
  77. package/references/openspec/openspec/changes/archive/2025-08-19-add-zod-validation/tasks.md +59 -0
  78. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/proposal.md +93 -0
  79. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-archive/spec.md +48 -0
  80. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/cli-diff/spec.md +45 -0
  81. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/specs/openspec-conventions/spec.md +101 -0
  82. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-delta-based-changes/tasks.md +55 -0
  83. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/design.md +19 -0
  84. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/proposal.md +67 -0
  85. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/cli-list/spec.md +57 -0
  86. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/specs/openspec-conventions/spec.md +23 -0
  87. package/references/openspec/openspec/changes/archive/2025-08-19-adopt-verb-noun-cli-structure/tasks.md +27 -0
  88. package/references/openspec/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/proposal.md +20 -0
  89. package/references/openspec/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-change/spec.md +22 -0
  90. package/references/openspec/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-spec/spec.md +23 -0
  91. package/references/openspec/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/specs/cli-validate/spec.md +149 -0
  92. package/references/openspec/openspec/changes/archive/2025-08-19-bulk-validation-interactive-selection/tasks.md +81 -0
  93. package/references/openspec/openspec/changes/archive/2025-08-19-fix-update-tool-selection/proposal.md +40 -0
  94. package/references/openspec/openspec/changes/archive/2025-08-19-fix-update-tool-selection/specs/cli-update/spec.md +23 -0
  95. package/references/openspec/openspec/changes/archive/2025-08-19-fix-update-tool-selection/tasks.md +21 -0
  96. package/references/openspec/openspec/changes/archive/2025-08-19-improve-validate-error-messages/proposal.md +25 -0
  97. package/references/openspec/openspec/changes/archive/2025-08-19-improve-validate-error-messages/specs/cli-validate/spec.md +55 -0
  98. package/references/openspec/openspec/changes/archive/2025-08-19-improve-validate-error-messages/tasks.md +21 -0
  99. package/references/openspec/openspec/changes/archive/2025-08-19-structured-spec-format/proposal.md +36 -0
  100. package/references/openspec/openspec/changes/archive/2025-08-19-structured-spec-format/specs/openspec-conventions/spec.md +192 -0
  101. package/references/openspec/openspec/changes/archive/2025-08-19-structured-spec-format/tasks.md +19 -0
  102. package/references/openspec/openspec/changes/archive/2025-09-12-add-view-dashboard-command/proposal.md +38 -0
  103. package/references/openspec/openspec/changes/archive/2025-09-12-add-view-dashboard-command/specs/cli-view/spec.md +109 -0
  104. package/references/openspec/openspec/changes/archive/2025-09-12-add-view-dashboard-command/tasks.md +47 -0
  105. package/references/openspec/openspec/changes/archive/2025-09-29-add-agents-md-config/proposal.md +28 -0
  106. package/references/openspec/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-init/spec.md +71 -0
  107. package/references/openspec/openspec/changes/archive/2025-09-29-add-agents-md-config/specs/cli-update/spec.md +41 -0
  108. package/references/openspec/openspec/changes/archive/2025-09-29-add-agents-md-config/tasks.md +17 -0
  109. package/references/openspec/openspec/changes/archive/2025-09-29-add-multi-agent-init/proposal.md +35 -0
  110. package/references/openspec/openspec/changes/archive/2025-09-29-add-multi-agent-init/specs/cli-init/spec.md +45 -0
  111. package/references/openspec/openspec/changes/archive/2025-09-29-add-multi-agent-init/tasks.md +16 -0
  112. package/references/openspec/openspec/changes/archive/2025-09-29-add-slash-command-support/proposal.md +119 -0
  113. package/references/openspec/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-init/spec.md +21 -0
  114. package/references/openspec/openspec/changes/archive/2025-09-29-add-slash-command-support/specs/cli-update/spec.md +22 -0
  115. package/references/openspec/openspec/changes/archive/2025-09-29-add-slash-command-support/tasks.md +20 -0
  116. package/references/openspec/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/proposal.md +19 -0
  117. package/references/openspec/openspec/changes/archive/2025-09-29-improve-cli-e2e-plan/tasks.md +9 -0
  118. package/references/openspec/openspec/changes/archive/2025-09-29-improve-deterministic-tests/proposal.md +78 -0
  119. package/references/openspec/openspec/changes/archive/2025-09-29-improve-deterministic-tests/tasks.md +25 -0
  120. package/references/openspec/openspec/changes/archive/2025-09-29-improve-init-onboarding/proposal.md +13 -0
  121. package/references/openspec/openspec/changes/archive/2025-09-29-improve-init-onboarding/specs/cli-init/spec.md +92 -0
  122. package/references/openspec/openspec/changes/archive/2025-09-29-improve-init-onboarding/tasks.md +12 -0
  123. package/references/openspec/openspec/changes/archive/2025-09-29-remove-diff-command/proposal.md +81 -0
  124. package/references/openspec/openspec/changes/archive/2025-09-29-remove-diff-command/tasks.md +37 -0
  125. package/references/openspec/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/proposal.md +25 -0
  126. package/references/openspec/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/specs/cli-view/spec.md +9 -0
  127. package/references/openspec/openspec/changes/archive/2025-09-29-sort-active-changes-by-progress/tasks.md +8 -0
  128. package/references/openspec/openspec/changes/archive/2025-09-29-update-agent-file-name/proposal.md +29 -0
  129. package/references/openspec/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-init/spec.md +40 -0
  130. package/references/openspec/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/cli-update/spec.md +22 -0
  131. package/references/openspec/openspec/changes/archive/2025-09-29-update-agent-file-name/specs/openspec-conventions/spec.md +27 -0
  132. package/references/openspec/openspec/changes/archive/2025-09-29-update-agent-file-name/tasks.md +22 -0
  133. package/references/openspec/openspec/changes/archive/2025-09-29-update-agent-instructions/design.md +130 -0
  134. package/references/openspec/openspec/changes/archive/2025-09-29-update-agent-instructions/proposal.md +117 -0
  135. package/references/openspec/openspec/changes/archive/2025-09-29-update-agent-instructions/tasks.md +69 -0
  136. package/references/openspec/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/proposal.md +19 -0
  137. package/references/openspec/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/specs/cli-validate/spec.md +9 -0
  138. package/references/openspec/openspec/changes/archive/2025-09-29-update-markdown-parser-crlf/tasks.md +11 -0
  139. package/references/openspec/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/proposal.md +25 -0
  140. package/references/openspec/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-init/spec.md +56 -0
  141. package/references/openspec/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/specs/cli-update/spec.md +41 -0
  142. package/references/openspec/openspec/changes/archive/2025-10-14-add-codex-slash-command-support/tasks.md +19 -0
  143. package/references/openspec/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/proposal.md +25 -0
  144. package/references/openspec/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-init/spec.md +48 -0
  145. package/references/openspec/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/specs/cli-update/spec.md +48 -0
  146. package/references/openspec/openspec/changes/archive/2025-10-14-add-github-copilot-prompts/tasks.md +30 -0
  147. package/references/openspec/openspec/changes/archive/2025-10-14-add-kilocode-workflows/proposal.md +17 -0
  148. package/references/openspec/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-init/spec.md +43 -0
  149. package/references/openspec/openspec/changes/archive/2025-10-14-add-kilocode-workflows/specs/cli-update/spec.md +27 -0
  150. package/references/openspec/openspec/changes/archive/2025-10-14-add-kilocode-workflows/tasks.md +15 -0
  151. package/references/openspec/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/proposal.md +12 -0
  152. package/references/openspec/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/specs/cli-init/spec.md +39 -0
  153. package/references/openspec/openspec/changes/archive/2025-10-14-add-non-interactive-init-options/tasks.md +17 -0
  154. package/references/openspec/openspec/changes/archive/2025-10-14-add-windsurf-workflows/proposal.md +17 -0
  155. package/references/openspec/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-init/spec.md +42 -0
  156. package/references/openspec/openspec/changes/archive/2025-10-14-add-windsurf-workflows/specs/cli-update/spec.md +27 -0
  157. package/references/openspec/openspec/changes/archive/2025-10-14-add-windsurf-workflows/tasks.md +17 -0
  158. package/references/openspec/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/proposal.md +12 -0
  159. package/references/openspec/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/specs/cli-validate/spec.md +39 -0
  160. package/references/openspec/openspec/changes/archive/2025-10-14-enhance-validation-error-messages/tasks.md +12 -0
  161. package/references/openspec/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/proposal.md +12 -0
  162. package/references/openspec/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/specs/docs-agent-instructions/spec.md +33 -0
  163. package/references/openspec/openspec/changes/archive/2025-10-14-improve-agent-instruction-usability/tasks.md +11 -0
  164. package/references/openspec/openspec/changes/archive/2025-10-14-slim-root-agents-file/proposal.md +13 -0
  165. package/references/openspec/openspec/changes/archive/2025-10-14-slim-root-agents-file/tasks.md +15 -0
  166. package/references/openspec/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/proposal.md +14 -0
  167. package/references/openspec/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/specs/cli-init/spec.md +10 -0
  168. package/references/openspec/openspec/changes/archive/2025-10-14-update-cli-init-enter-selection/tasks.md +8 -0
  169. package/references/openspec/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/proposal.md +15 -0
  170. package/references/openspec/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-init/spec.md +32 -0
  171. package/references/openspec/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/specs/cli-update/spec.md +10 -0
  172. package/references/openspec/openspec/changes/archive/2025-10-14-update-cli-init-root-agents/tasks.md +11 -0
  173. package/references/openspec/openspec/changes/archive/2025-10-14-update-release-automation/proposal.md +49 -0
  174. package/references/openspec/openspec/changes/archive/2025-10-14-update-release-automation/tasks.md +12 -0
  175. package/references/openspec/openspec/changes/archive/2025-10-22-add-archive-command-arguments/proposal.md +17 -0
  176. package/references/openspec/openspec/changes/archive/2025-10-22-add-archive-command-arguments/specs/cli-update/spec.md +32 -0
  177. package/references/openspec/openspec/changes/archive/2025-10-22-add-archive-command-arguments/tasks.md +15 -0
  178. package/references/openspec/openspec/changes/archive/2025-10-22-add-cline-support/proposal.md +15 -0
  179. package/references/openspec/openspec/changes/archive/2025-10-22-add-cline-support/specs/cli-init/spec.md +97 -0
  180. package/references/openspec/openspec/changes/archive/2025-10-22-add-cline-support/tasks.md +19 -0
  181. package/references/openspec/openspec/changes/archive/2025-10-22-add-crush-support/proposal.md +13 -0
  182. package/references/openspec/openspec/changes/archive/2025-10-22-add-crush-support/specs/cli-init/spec.md +67 -0
  183. package/references/openspec/openspec/changes/archive/2025-10-22-add-crush-support/tasks.md +7 -0
  184. package/references/openspec/openspec/changes/archive/2025-10-22-add-factory-slash-commands/proposal.md +12 -0
  185. package/references/openspec/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-init/spec.md +54 -0
  186. package/references/openspec/openspec/changes/archive/2025-10-22-add-factory-slash-commands/specs/cli-update/spec.md +54 -0
  187. package/references/openspec/openspec/changes/archive/2025-10-22-add-factory-slash-commands/tasks.md +11 -0
  188. package/references/openspec/openspec/changes/fix-cline-workflows-implementation/proposal.md +13 -0
  189. package/references/openspec/openspec/changes/fix-cline-workflows-implementation/specs/cli-init/spec.md +11 -0
  190. package/references/openspec/openspec/changes/fix-cline-workflows-implementation/tasks.md +13 -0
  191. package/references/openspec/openspec/changes/make-validation-scope-aware/proposal.md +12 -0
  192. package/references/openspec/openspec/changes/make-validation-scope-aware/specs/cli-validate/spec.md +25 -0
  193. package/references/openspec/openspec/changes/make-validation-scope-aware/tasks.md +16 -0
  194. package/references/openspec/openspec/project.md +53 -0
  195. package/references/openspec/openspec/specs/cli-archive/spec.md +210 -0
  196. package/references/openspec/openspec/specs/cli-change/spec.md +91 -0
  197. package/references/openspec/openspec/specs/cli-init/spec.md +311 -0
  198. package/references/openspec/openspec/specs/cli-list/spec.md +103 -0
  199. package/references/openspec/openspec/specs/cli-show/spec.md +85 -0
  200. package/references/openspec/openspec/specs/cli-spec/spec.md +87 -0
  201. package/references/openspec/openspec/specs/cli-update/spec.md +190 -0
  202. package/references/openspec/openspec/specs/cli-validate/spec.md +218 -0
  203. package/references/openspec/openspec/specs/cli-view/spec.md +105 -0
  204. package/references/openspec/openspec/specs/docs-agent-instructions/spec.md +38 -0
  205. package/references/openspec/openspec/specs/openspec-conventions/spec.md +474 -0
  206. package/references/openspec/openspec-parallel-merge-plan.md +98 -0
  207. package/references/openspec/package.json +73 -0
  208. package/references/openspec/pnpm-lock.yaml +2324 -0
  209. package/references/openspec/scripts/pack-version-check.mjs +111 -0
  210. package/references/openspec/src/cli/index.ts +253 -0
  211. package/references/openspec/src/commands/change.ts +291 -0
  212. package/references/openspec/src/commands/show.ts +139 -0
  213. package/references/openspec/src/commands/spec.ts +250 -0
  214. package/references/openspec/src/commands/validate.ts +305 -0
  215. package/references/openspec/src/core/archive.ts +606 -0
  216. package/references/openspec/src/core/config.ts +41 -0
  217. package/references/openspec/src/core/configurators/agents.ts +23 -0
  218. package/references/openspec/src/core/configurators/base.ts +6 -0
  219. package/references/openspec/src/core/configurators/claude.ts +23 -0
  220. package/references/openspec/src/core/configurators/cline.ts +23 -0
  221. package/references/openspec/src/core/configurators/codebuddy.ts +24 -0
  222. package/references/openspec/src/core/configurators/costrict.ts +23 -0
  223. package/references/openspec/src/core/configurators/iflow.ts +23 -0
  224. package/references/openspec/src/core/configurators/qoder.ts +53 -0
  225. package/references/openspec/src/core/configurators/qwen.ts +47 -0
  226. package/references/openspec/src/core/configurators/registry.ts +49 -0
  227. package/references/openspec/src/core/configurators/slash/amazon-q.ts +51 -0
  228. package/references/openspec/src/core/configurators/slash/antigravity.ts +28 -0
  229. package/references/openspec/src/core/configurators/slash/auggie.ts +37 -0
  230. package/references/openspec/src/core/configurators/slash/base.ts +95 -0
  231. package/references/openspec/src/core/configurators/slash/claude.ts +42 -0
  232. package/references/openspec/src/core/configurators/slash/cline.ts +27 -0
  233. package/references/openspec/src/core/configurators/slash/codebuddy.ts +43 -0
  234. package/references/openspec/src/core/configurators/slash/codex.ts +126 -0
  235. package/references/openspec/src/core/configurators/slash/costrict.ts +36 -0
  236. package/references/openspec/src/core/configurators/slash/crush.ts +42 -0
  237. package/references/openspec/src/core/configurators/slash/cursor.ts +42 -0
  238. package/references/openspec/src/core/configurators/slash/factory.ts +41 -0
  239. package/references/openspec/src/core/configurators/slash/gemini.ts +27 -0
  240. package/references/openspec/src/core/configurators/slash/github-copilot.ts +39 -0
  241. package/references/openspec/src/core/configurators/slash/iflow.ts +42 -0
  242. package/references/openspec/src/core/configurators/slash/kilocode.ts +21 -0
  243. package/references/openspec/src/core/configurators/slash/opencode.ts +83 -0
  244. package/references/openspec/src/core/configurators/slash/qoder.ts +84 -0
  245. package/references/openspec/src/core/configurators/slash/qwen.ts +55 -0
  246. package/references/openspec/src/core/configurators/slash/registry.ts +81 -0
  247. package/references/openspec/src/core/configurators/slash/roocode.ts +27 -0
  248. package/references/openspec/src/core/configurators/slash/toml-base.ts +66 -0
  249. package/references/openspec/src/core/configurators/slash/windsurf.ts +27 -0
  250. package/references/openspec/src/core/converters/json-converter.ts +61 -0
  251. package/references/openspec/src/core/index.ts +2 -0
  252. package/references/openspec/src/core/init.ts +986 -0
  253. package/references/openspec/src/core/list.ts +104 -0
  254. package/references/openspec/src/core/parsers/change-parser.ts +234 -0
  255. package/references/openspec/src/core/parsers/markdown-parser.ts +237 -0
  256. package/references/openspec/src/core/parsers/requirement-blocks.ts +234 -0
  257. package/references/openspec/src/core/schemas/base.schema.ts +20 -0
  258. package/references/openspec/src/core/schemas/change.schema.ts +42 -0
  259. package/references/openspec/src/core/schemas/index.ts +20 -0
  260. package/references/openspec/src/core/schemas/spec.schema.ts +17 -0
  261. package/references/openspec/src/core/styles/palette.ts +8 -0
  262. package/references/openspec/src/core/templates/agents-root-stub.ts +16 -0
  263. package/references/openspec/src/core/templates/agents-template.ts +457 -0
  264. package/references/openspec/src/core/templates/claude-template.ts +1 -0
  265. package/references/openspec/src/core/templates/cline-template.ts +1 -0
  266. package/references/openspec/src/core/templates/costrict-template.ts +1 -0
  267. package/references/openspec/src/core/templates/index.ts +50 -0
  268. package/references/openspec/src/core/templates/project-template.ts +38 -0
  269. package/references/openspec/src/core/templates/slash-command-templates.ts +60 -0
  270. package/references/openspec/src/core/update.ts +129 -0
  271. package/references/openspec/src/core/validation/constants.ts +48 -0
  272. package/references/openspec/src/core/validation/types.ts +19 -0
  273. package/references/openspec/src/core/validation/validator.ts +448 -0
  274. package/references/openspec/src/core/view.ts +189 -0
  275. package/references/openspec/src/index.ts +2 -0
  276. package/references/openspec/src/utils/file-system.ts +187 -0
  277. package/references/openspec/src/utils/index.ts +2 -0
  278. package/references/openspec/src/utils/interactive.ts +7 -0
  279. package/references/openspec/src/utils/item-discovery.ts +45 -0
  280. package/references/openspec/src/utils/match.ts +26 -0
  281. package/references/openspec/src/utils/task-progress.ts +43 -0
  282. package/references/openspec/test/cli-e2e/basic.test.ts +156 -0
  283. package/references/openspec/test/commands/change.interactive-show.test.ts +45 -0
  284. package/references/openspec/test/commands/change.interactive-validate.test.ts +48 -0
  285. package/references/openspec/test/commands/show.test.ts +123 -0
  286. package/references/openspec/test/commands/spec.interactive-show.test.ts +44 -0
  287. package/references/openspec/test/commands/spec.interactive-validate.test.ts +44 -0
  288. package/references/openspec/test/commands/spec.test.ts +324 -0
  289. package/references/openspec/test/commands/validate.enriched-output.test.ts +49 -0
  290. package/references/openspec/test/commands/validate.test.ts +133 -0
  291. package/references/openspec/test/core/archive.test.ts +680 -0
  292. package/references/openspec/test/core/commands/change-command.list.test.ts +76 -0
  293. package/references/openspec/test/core/commands/change-command.show-validate.test.ts +111 -0
  294. package/references/openspec/test/core/converters/json-converter.test.ts +184 -0
  295. package/references/openspec/test/core/init.test.ts +1710 -0
  296. package/references/openspec/test/core/list.test.ts +165 -0
  297. package/references/openspec/test/core/parsers/change-parser.test.ts +52 -0
  298. package/references/openspec/test/core/parsers/markdown-parser.test.ts +291 -0
  299. package/references/openspec/test/core/update.test.ts +1642 -0
  300. package/references/openspec/test/core/validation.enriched-messages.test.ts +74 -0
  301. package/references/openspec/test/core/validation.test.ts +489 -0
  302. package/references/openspec/test/core/view.test.ts +79 -0
  303. package/references/openspec/test/fixtures/tmp-init/openspec/changes/c1/proposal.md +7 -0
  304. package/references/openspec/test/fixtures/tmp-init/openspec/changes/c1/specs/alpha/spec.md +8 -0
  305. package/references/openspec/test/fixtures/tmp-init/openspec/specs/alpha/spec.md +12 -0
  306. package/references/openspec/test/helpers/run-cli.ts +139 -0
  307. package/references/openspec/test/utils/file-system.test.ts +211 -0
  308. package/references/openspec/test/utils/marker-updates.test.ts +287 -0
  309. package/references/openspec/tsconfig.json +21 -0
  310. package/references/openspec/vitest.config.ts +25 -0
  311. package/references/openspec/vitest.setup.ts +6 -0
@@ -0,0 +1,205 @@
1
+ # @fission-ai/openspec
2
+
3
+ ## 0.16.0
4
+
5
+ ### Minor Changes
6
+
7
+ - c08fbc1: Add new AI tool integrations and enhancements:
8
+
9
+ - **feat(iflow-cli)**: Add iFlow-cli integration with slash command support and documentation
10
+ - **feat(init)**: Add IDE restart instruction after init to inform users about slash command availability
11
+ **feat(antigravity)**: Add Antigravity slash command support
12
+ - **fix**: Generate TOML commands for Qwen Code (fixes #293)
13
+ - Clarify scaffold proposal documentation and enhance proposal guidelines
14
+ - Update proposal guidelines to emphasize design-first approach before implementation
15
+
16
+ ## Unreleased
17
+
18
+ ### Minor Changes
19
+
20
+ - Add Antigravity slash command support so `openspec init` can generate `.agent/workflows/openspec-*.md` files with description-only frontmatter and `openspec update` refreshes existing workflows alongside Windsurf.
21
+
22
+ ## 0.15.0
23
+
24
+ ### Minor Changes
25
+
26
+ - 4758c5c: Add support for new AI tools with native slash command integration
27
+
28
+ - **Gemini CLI**: Add native TOML-based slash command support for Gemini CLI with `.gemini/commands/openspec/` integration
29
+ - **RooCode**: Add RooCode integration with configurator, slash commands, and templates
30
+ - **Cline**: Fix Cline to use workflows instead of rules for slash commands (`.clinerules/workflows/` paths)
31
+ - **Documentation**: Update documentation to reflect new integrations and workflow changes
32
+
33
+ ## 0.14.0
34
+
35
+ ### Minor Changes
36
+
37
+ - 8386b91: Add support for new AI assistants and configuration improvements
38
+
39
+ - feat: add Qwen Code support with slash command integration
40
+ - feat: add $ARGUMENTS support to apply slash command for dynamic variable passing
41
+ - feat: add Qoder CLI support to configuration and documentation
42
+ - feat: add CoStrict AI assistant support
43
+ - fix: recreate missing openspec template files in extend mode
44
+ - fix: prevent false 'already configured' detection for tools
45
+ - fix: use change-id as fallback title instead of "Untitled Change"
46
+ - docs: add guidance for populating project-level context
47
+ - docs: add Crush to supported AI tools in README
48
+
49
+ ## 0.13.0
50
+
51
+ ### Minor Changes
52
+
53
+ - 668a125: Add support for multiple AI assistants and improve validation
54
+
55
+ This release adds support for several new AI coding assistants:
56
+
57
+ - CodeBuddy Code - AI-powered coding assistant
58
+ - CodeRabbit - AI code review assistant
59
+ - Cline - Claude-powered CLI assistant
60
+ - Crush AI - AI assistant platform
61
+ - Auggie (Augment CLI) - Code augmentation tool
62
+
63
+ New features:
64
+
65
+ - Archive slash command now supports arguments for more flexible workflows
66
+
67
+ Bug fixes:
68
+
69
+ - Delta spec validation now handles case-insensitive headers and properly detects empty sections
70
+ - Archive validation now correctly honors --no-validate flag and ignores metadata
71
+
72
+ Documentation improvements:
73
+
74
+ - Added VS Code dev container configuration for easier development setup
75
+ - Updated AGENTS.md with explicit change-id notation
76
+ - Enhanced slash commands documentation with restart notes
77
+
78
+ ## 0.12.0
79
+
80
+ ### Minor Changes
81
+
82
+ - 082abb4: Add factory function support for slash commands and non-interactive init options
83
+
84
+ This release includes two new features:
85
+
86
+ - **Factory function support for slash commands**: Slash commands can now be defined as functions that return command objects, enabling dynamic command configuration
87
+ - **Non-interactive init options**: Added `--tools`, `--all-tools`, and `--skip-tools` CLI flags to `openspec init` for automated initialization in CI/CD pipelines while maintaining backward compatibility with interactive mode
88
+
89
+ ## 0.11.0
90
+
91
+ ### Minor Changes
92
+
93
+ - 312e1d6: Add Amazon Q Developer CLI integration. OpenSpec now supports Amazon Q Developer with automatic prompt generation in `.amazonq/prompts/` directory, allowing you to use OpenSpec slash commands with Amazon Q's @-syntax.
94
+
95
+ ## 0.10.0
96
+
97
+ ### Minor Changes
98
+
99
+ - d7e0ce8: Improve init wizard Enter key behavior to allow proceeding through prompts more naturally
100
+
101
+ ## 0.9.2
102
+
103
+ ### Patch Changes
104
+
105
+ - 2ae0484: Fix cross-platform path handling issues. This release includes fixes for joinPath behavior and slash command path resolution to ensure OpenSpec works correctly across all platforms.
106
+
107
+ ## 0.9.1
108
+
109
+ ### Patch Changes
110
+
111
+ - 8210970: Fix OpenSpec not working on Windows when Codex integration is selected. This release includes fixes for cross-platform path handling and normalization to ensure OpenSpec works correctly on Windows systems.
112
+
113
+ ## 0.9.0
114
+
115
+ ### Minor Changes
116
+
117
+ - efbbf3b: Add support for Codex and GitHub Copilot slash commands with YAML frontmatter and $ARGUMENTS
118
+
119
+ ## Unreleased
120
+
121
+ ### Minor Changes
122
+
123
+ - Add GitHub Copilot slash command support. OpenSpec now writes prompts to `.github/prompts/openspec-{proposal,apply,archive}.prompt.md` with YAML frontmatter and `$ARGUMENTS` placeholder, and refreshes them on `openspec update`.
124
+
125
+ ## 0.8.1
126
+
127
+ ### Patch Changes
128
+
129
+ - d070d08: Fix CLI version mismatch and add a release guard that validates the packed tarball prints the same version as package.json via `openspec --version`.
130
+
131
+ ## 0.8.0
132
+
133
+ ### Minor Changes
134
+
135
+ - c29b06d: Add Windsurf support.
136
+ - Add Codex slash command support. OpenSpec now writes prompts directly to Codex's global directory (`~/.codex/prompts` or `$CODEX_HOME/prompts`) and refreshes them on `openspec update`.
137
+
138
+ ## 0.7.0
139
+
140
+ ### Minor Changes
141
+
142
+ - Add native Kilo Code workflow integration so `openspec init` and `openspec update` manage `.kilocode/workflows/openspec-*.md` files.
143
+ - Always scaffold the managed root `AGENTS.md` hand-off stub and regroup the AI tool prompts during init/update to keep instructions consistent.
144
+
145
+ ## 0.6.0
146
+
147
+ ### Minor Changes
148
+
149
+ - Slim the generated root agent instructions down to a managed hand-off stub and update the init/update flows to refresh it safely.
150
+
151
+ ## 0.5.0
152
+
153
+ ### Minor Changes
154
+
155
+ - feat: implement Phase 1 E2E testing with cross-platform CI matrix
156
+
157
+ - Add shared runCLI helper in test/helpers/run-cli.ts for spawn testing
158
+ - Create test/cli-e2e/basic.test.ts covering help, version, validate flows
159
+ - Migrate existing CLI exec tests to use runCLI helper
160
+ - Extend CI matrix to bash (Linux/macOS) and pwsh (Windows)
161
+ - Split PR and main workflows for optimized feedback
162
+
163
+ ### Patch Changes
164
+
165
+ - Make apply instructions more specific
166
+
167
+ Improve agent templates and slash command templates with more specific and actionable apply instructions.
168
+
169
+ - docs: improve documentation and cleanup
170
+
171
+ - Document non-interactive flag for archive command
172
+ - Replace discord badge in README
173
+ - Archive completed changes for better organization
174
+
175
+ ## 0.4.0
176
+
177
+ ### Minor Changes
178
+
179
+ - Add OpenSpec change proposals for CLI improvements and enhanced user experience
180
+ - Add Opencode slash commands support for AI-driven development workflows
181
+
182
+ ### Patch Changes
183
+
184
+ - Add documentation improvements including --yes flag for archive command template and Discord badge
185
+ - Fix normalize line endings in markdown parser to handle CRLF files properly
186
+
187
+ ## 0.3.0
188
+
189
+ ### Minor Changes
190
+
191
+ - Enhance `openspec init` with extend mode, multi-tool selection, and an interactive `AGENTS.md` configurator.
192
+
193
+ ## 0.2.0
194
+
195
+ ### Minor Changes
196
+
197
+ - ce5cead: - Add an `openspec view` dashboard that rolls up spec counts and change progress at a glance
198
+ - Generate and update AI slash commands alongside the renamed `openspec/AGENTS.md` instructions file
199
+ - Remove the deprecated `openspec diff` command and direct users to `openspec show`
200
+
201
+ ## 0.1.0
202
+
203
+ ### Minor Changes
204
+
205
+ - 24b4866: Initial release
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 OpenSpec Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
@@ -0,0 +1,374 @@
1
+ <p align="center">
2
+ <a href="https://github.com/Fission-AI/OpenSpec">
3
+ <picture>
4
+ <source srcset="assets/openspec_pixel_dark.svg" media="(prefers-color-scheme: dark)">
5
+ <source srcset="assets/openspec_pixel_light.svg" media="(prefers-color-scheme: light)">
6
+ <img src="assets/openspec_pixel_light.svg" alt="OpenSpec logo" height="64">
7
+ </picture>
8
+ </a>
9
+
10
+ </p>
11
+ <p align="center">Spec-driven development for AI coding assistants.</p>
12
+ <p align="center">
13
+ <a href="https://github.com/Fission-AI/OpenSpec/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/Fission-AI/OpenSpec/actions/workflows/ci.yml/badge.svg" /></a>
14
+ <a href="https://www.npmjs.com/package/@fission-ai/openspec"><img alt="npm version" src="https://img.shields.io/npm/v/@fission-ai/openspec?style=flat-square" /></a>
15
+ <a href="https://nodejs.org/"><img alt="node version" src="https://img.shields.io/node/v/@fission-ai/openspec?style=flat-square" /></a>
16
+ <a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" /></a>
17
+ <a href="https://conventionalcommits.org"><img alt="Conventional Commits" src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=flat-square" /></a>
18
+ <a href="https://discord.gg/YctCnvvshC"><img alt="Discord" src="https://img.shields.io/badge/Discord-Join%20the%20community-5865F2?logo=discord&logoColor=white&style=flat-square" /></a>
19
+ </p>
20
+
21
+ <p align="center">
22
+ <img src="assets/openspec_dashboard.png" alt="OpenSpec dashboard preview" width="90%">
23
+ </p>
24
+
25
+ <p align="center">
26
+ Follow <a href="https://x.com/0xTab">@0xTab on X</a> for updates · Join the <a href="https://discord.gg/YctCnvvshC">OpenSpec Discord</a> for help and questions.
27
+ </p>
28
+
29
+ # OpenSpec
30
+
31
+ OpenSpec aligns humans and AI coding assistants with spec-driven development so you agree on what to build before any code is written. **No API keys required.**
32
+
33
+ ## Why OpenSpec?
34
+
35
+ AI coding assistants are powerful but unpredictable when requirements live in chat history. OpenSpec adds a lightweight specification workflow that locks intent before implementation, giving you deterministic, reviewable outputs.
36
+
37
+ Key outcomes:
38
+ - Human and AI stakeholders agree on specs before work begins.
39
+ - Structured change folders (proposals, tasks, and spec updates) keep scope explicit and auditable.
40
+ - Shared visibility into what's proposed, active, or archived.
41
+ - Works with the AI tools you already use: custom slash commands where supported, context rules everywhere else.
42
+
43
+ ## How OpenSpec compares (at a glance)
44
+
45
+ - **Lightweight**: simple workflow, no API keys, minimal setup.
46
+ - **Brownfield-first**: works great beyond 0→1. OpenSpec separates the source of truth from proposals: `openspec/specs/` (current truth) and `openspec/changes/` (proposed updates). This keeps diffs explicit and manageable across features.
47
+ - **Change tracking**: proposals, tasks, and spec deltas live together; archiving merges the approved updates back into specs.
48
+ - **Compared to spec-kit & Kiro**: those shine for brand-new features (0→1). OpenSpec also excels when modifying existing behavior (1→n), especially when updates span multiple specs.
49
+
50
+ See the full comparison in [How OpenSpec Compares](#how-openspec-compares).
51
+
52
+ ## How It Works
53
+
54
+ ```
55
+ ┌────────────────────┐
56
+ │ Draft Change │
57
+ │ Proposal │
58
+ └────────┬───────────┘
59
+ │ share intent with your AI
60
+
61
+ ┌────────────────────┐
62
+ │ Review & Align │
63
+ │ (edit specs/tasks) │◀──── feedback loop ──────┐
64
+ └────────┬───────────┘ │
65
+ │ approved plan │
66
+ ▼ │
67
+ ┌────────────────────┐ │
68
+ │ Implement Tasks │──────────────────────────┘
69
+ │ (AI writes code) │
70
+ └────────┬───────────┘
71
+ │ ship the change
72
+
73
+ ┌────────────────────┐
74
+ │ Archive & Update │
75
+ │ Specs (source) │
76
+ └────────────────────┘
77
+
78
+ 1. Draft a change proposal that captures the spec updates you want.
79
+ 2. Review the proposal with your AI assistant until everyone agrees.
80
+ 3. Implement tasks that reference the agreed specs.
81
+ 4. Archive the change to merge the approved updates back into the source-of-truth specs.
82
+ ```
83
+
84
+ ## Getting Started
85
+
86
+ ### Supported AI Tools
87
+
88
+ #### Native Slash Commands
89
+ These tools have built-in OpenSpec commands. Select the OpenSpec integration when prompted.
90
+
91
+ | Tool | Commands |
92
+ |------|----------|
93
+ | **Claude Code** | `/openspec:proposal`, `/openspec:apply`, `/openspec:archive` |
94
+ | **CodeBuddy Code (CLI)** | `/openspec:proposal`, `/openspec:apply`, `/openspec:archive` (`.codebuddy/commands/`) — see [docs](https://www.codebuddy.ai/cli) |
95
+ | **CoStrict** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.cospec/openspec/commands/`) — see [docs](https://costrict.ai)|
96
+ | **Cursor** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` |
97
+ | **Cline** | Workflows in `.clinerules/workflows/` directory (`.clinerules/workflows/openspec-*.md`) |
98
+ | **Crush** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.crush/commands/openspec/`) |
99
+ | **RooCode** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.roo/commands/`) |
100
+ | **Factory Droid** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.factory/commands/`) |
101
+ | **Gemini CLI** | `/openspec:proposal`, `/openspec:apply`, `/openspec:archive` (`.gemini/commands/openspec/`) |
102
+ | **OpenCode** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` |
103
+ | **Kilo Code** | `/openspec-proposal.md`, `/openspec-apply.md`, `/openspec-archive.md` (`.kilocode/workflows/`) |
104
+ | **Qoder (CLI)** | `/openspec:proposal`, `/openspec:apply`, `/openspec:archive` (`.qoder/commands/openspec/`) — see [docs](https://qoder.com/cli) |
105
+ | **Antigravity** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.agent/workflows/`) |
106
+ | **Windsurf** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.windsurf/workflows/`) |
107
+ | **Codex** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (global: `~/.codex/prompts`, auto-installed) |
108
+ | **GitHub Copilot** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.github/prompts/`) |
109
+ | **Amazon Q Developer** | `@openspec-proposal`, `@openspec-apply`, `@openspec-archive` (`.amazonq/prompts/`) |
110
+ | **Auggie (Augment CLI)** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.augment/commands/`) |
111
+ | **Qwen Code** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.qwen/commands/`) |
112
+ | **iFlow (iflow-cli)** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (`.iflow/commands/`) |
113
+
114
+
115
+ Kilo Code discovers team workflows automatically. Save the generated files under `.kilocode/workflows/` and trigger them from the command palette with `/openspec-proposal.md`, `/openspec-apply.md`, or `/openspec-archive.md`.
116
+
117
+ #### AGENTS.md Compatible
118
+ These tools automatically read workflow instructions from `openspec/AGENTS.md`. Ask them to follow the OpenSpec workflow if they need a reminder. Learn more about the [AGENTS.md convention](https://agents.md/).
119
+
120
+ | Tools |
121
+ |-------|
122
+ | Amp • Jules • Others |
123
+
124
+ ### Install & Initialize
125
+
126
+ #### Prerequisites
127
+ - **Node.js >= 20.19.0** - Check your version with `node --version`
128
+
129
+ #### Step 1: Install the CLI globally
130
+
131
+ ```bash
132
+ npm install -g @fission-ai/openspec@latest
133
+ ```
134
+
135
+ Verify installation:
136
+ ```bash
137
+ openspec --version
138
+ ```
139
+
140
+ #### Step 2: Initialize OpenSpec in your project
141
+
142
+ Navigate to your project directory:
143
+ ```bash
144
+ cd my-project
145
+ ```
146
+
147
+ Run the initialization:
148
+ ```bash
149
+ openspec init
150
+ ```
151
+
152
+ **What happens during initialization:**
153
+ - You'll be prompted to pick any natively supported AI tools (Claude Code, CodeBuddy, Cursor, OpenCode, Qoder,etc.); other assistants always rely on the shared `AGENTS.md` stub
154
+ - OpenSpec automatically configures slash commands for the tools you choose and always writes a managed `AGENTS.md` hand-off at the project root
155
+ - A new `openspec/` directory structure is created in your project
156
+
157
+ **After setup:**
158
+ - Primary AI tools can trigger `/openspec` workflows without additional configuration
159
+ - Run `openspec list` to verify the setup and view any active changes
160
+ - If your coding assistant doesn't surface the new slash commands right away, restart it. Slash commands are loaded at startup,
161
+ so a fresh launch ensures they appear
162
+
163
+ ### Optional: Populate Project Context
164
+
165
+ After `openspec init` completes, you'll receive a suggested prompt to help populate your project context:
166
+
167
+ ```text
168
+ Populate your project context:
169
+ "Please read openspec/project.md and help me fill it out with details about my project, tech stack, and conventions"
170
+ ```
171
+
172
+ Use `openspec/project.md` to define project-level conventions, standards, architectural patterns, and other guidelines that should be followed across all changes.
173
+
174
+ ### Create Your First Change
175
+
176
+ Here's a real example showing the complete OpenSpec workflow. This works with any AI tool. Those with native slash commands will recognize the shortcuts automatically.
177
+
178
+ #### 1. Draft the Proposal
179
+ Start by asking your AI to create a change proposal:
180
+
181
+ ```text
182
+ You: Create an OpenSpec change proposal for adding profile search filters by role and team
183
+ (Shortcut for tools with slash commands: /openspec:proposal Add profile search filters)
184
+
185
+ AI: I'll create an OpenSpec change proposal for profile filters.
186
+ *Scaffolds openspec/changes/add-profile-filters/ with proposal.md, tasks.md, spec deltas.*
187
+ ```
188
+
189
+ #### 2. Verify & Review
190
+ Check that the change was created correctly and review the proposal:
191
+
192
+ ```bash
193
+ $ openspec list # Confirm the change folder exists
194
+ $ openspec validate add-profile-filters # Validate spec formatting
195
+ $ openspec show add-profile-filters # Review proposal, tasks, and spec delta
196
+ ```
197
+
198
+ #### 3. Refine the Specs
199
+ Iterate on the specifications until they match your needs:
200
+
201
+ ```text
202
+ You: Can you add acceptance criteria for the role and team filters?
203
+
204
+ AI: I'll update the spec delta with scenarios for role and team filters.
205
+ *Edits openspec/changes/add-profile-filters/specs/profile/spec.md and tasks.md.*
206
+ ```
207
+
208
+ #### 4. Implement the Change
209
+ Once specs look good, start implementation:
210
+
211
+ ```text
212
+ You: The specs look good. Let's implement this change.
213
+ (Shortcut for tools with slash commands: /openspec:apply add-profile-filters)
214
+
215
+ AI: I'll work through the tasks in the add-profile-filters change.
216
+ *Implements tasks from openspec/changes/add-profile-filters/tasks.md*
217
+ *Marks tasks complete: Task 1.1 ✓, Task 1.2 ✓, Task 2.1 ✓...*
218
+ ```
219
+
220
+ #### 5. Archive the Completed Change
221
+ After implementation is complete, archive the change:
222
+
223
+ ```text
224
+ AI: All tasks are complete. The implementation is ready.
225
+
226
+ You: Please archive the change
227
+ (Shortcut for tools with slash commands: /openspec:archive add-profile-filters)
228
+
229
+ AI: I'll archive the add-profile-filters change.
230
+ *Runs: openspec archive add-profile-filters --yes*
231
+ ✓ Change archived successfully. Specs updated. Ready for the next feature!
232
+ ```
233
+
234
+ Or run the command yourself in terminal:
235
+ ```bash
236
+ $ openspec archive add-profile-filters --yes # Archive the completed change without prompts
237
+ ```
238
+
239
+ **Note:** Tools with native slash commands (Claude Code, CodeBuddy, Cursor, Codex, Qoder, RooCode) can use the shortcuts shown. All other tools work with natural language requests to "create an OpenSpec proposal", "apply the OpenSpec change", or "archive the change".
240
+
241
+ ## Command Reference
242
+
243
+ ```bash
244
+ openspec list # View active change folders
245
+ openspec view # Interactive dashboard of specs and changes
246
+ openspec show <change> # Display change details (proposal, tasks, spec updates)
247
+ openspec validate <change> # Check spec formatting and structure
248
+ openspec archive <change> [--yes|-y] # Move a completed change into archive/ (non-interactive with --yes)
249
+ ```
250
+
251
+ ## Example: How AI Creates OpenSpec Files
252
+
253
+ When you ask your AI assistant to "add two-factor authentication", it creates:
254
+
255
+ ```
256
+ openspec/
257
+ ├── specs/
258
+ │ └── auth/
259
+ │ └── spec.md # Current auth spec (if exists)
260
+ └── changes/
261
+ └── add-2fa/ # AI creates this entire structure
262
+ ├── proposal.md # Why and what changes
263
+ ├── tasks.md # Implementation checklist
264
+ ├── design.md # Technical decisions (optional)
265
+ └── specs/
266
+ └── auth/
267
+ └── spec.md # Delta showing additions
268
+ ```
269
+
270
+ ### AI-Generated Spec (created in `openspec/specs/auth/spec.md`):
271
+
272
+ ```markdown
273
+ # Auth Specification
274
+
275
+ ## Purpose
276
+ Authentication and session management.
277
+
278
+ ## Requirements
279
+ ### Requirement: User Authentication
280
+ The system SHALL issue a JWT on successful login.
281
+
282
+ #### Scenario: Valid credentials
283
+ - WHEN a user submits valid credentials
284
+ - THEN a JWT is returned
285
+ ```
286
+
287
+ ### AI-Generated Change Delta (created in `openspec/changes/add-2fa/specs/auth/spec.md`):
288
+
289
+ ```markdown
290
+ # Delta for Auth
291
+
292
+ ## ADDED Requirements
293
+ ### Requirement: Two-Factor Authentication
294
+ The system MUST require a second factor during login.
295
+
296
+ #### Scenario: OTP required
297
+ - WHEN a user submits valid credentials
298
+ - THEN an OTP challenge is required
299
+ ```
300
+
301
+ ### AI-Generated Tasks (created in `openspec/changes/add-2fa/tasks.md`):
302
+
303
+ ```markdown
304
+ ## 1. Database Setup
305
+ - [ ] 1.1 Add OTP secret column to users table
306
+ - [ ] 1.2 Create OTP verification logs table
307
+
308
+ ## 2. Backend Implementation
309
+ - [ ] 2.1 Add OTP generation endpoint
310
+ - [ ] 2.2 Modify login flow to require OTP
311
+ - [ ] 2.3 Add OTP verification endpoint
312
+
313
+ ## 3. Frontend Updates
314
+ - [ ] 3.1 Create OTP input component
315
+ - [ ] 3.2 Update login flow UI
316
+ ```
317
+
318
+ **Important:** You don't create these files manually. Your AI assistant generates them based on your requirements and the existing codebase.
319
+
320
+ ## Understanding OpenSpec Files
321
+
322
+ ### Delta Format
323
+
324
+ Deltas are "patches" that show how specs change:
325
+
326
+ - **`## ADDED Requirements`** - New capabilities
327
+ - **`## MODIFIED Requirements`** - Changed behavior (include complete updated text)
328
+ - **`## REMOVED Requirements`** - Deprecated features
329
+
330
+ **Format requirements:**
331
+ - Use `### Requirement: <name>` for headers
332
+ - Every requirement needs at least one `#### Scenario:` block
333
+ - Use SHALL/MUST in requirement text
334
+
335
+ ## How OpenSpec Compares
336
+
337
+ ### vs. spec-kit
338
+ OpenSpec’s two-folder model (`openspec/specs/` for the current truth, `openspec/changes/` for proposed updates) keeps state and diffs separate. This scales when you modify existing features or touch multiple specs. spec-kit is strong for greenfield/0→1 but provides less structure for cross-spec updates and evolving features.
339
+
340
+ ### vs. Kiro.dev
341
+ OpenSpec groups every change for a feature in one folder (`openspec/changes/feature-name/`), making it easy to track related specs, tasks, and designs together. Kiro spreads updates across multiple spec folders, which can make feature tracking harder.
342
+
343
+ ### vs. No Specs
344
+ Without specs, AI coding assistants generate code from vague prompts, often missing requirements or adding unwanted features. OpenSpec brings predictability by agreeing on the desired behavior before any code is written.
345
+
346
+ ## Team Adoption
347
+
348
+ 1. **Initialize OpenSpec** – Run `openspec init` in your repo.
349
+ 2. **Start with new features** – Ask your AI to capture upcoming work as change proposals.
350
+ 3. **Grow incrementally** – Each change archives into living specs that document your system.
351
+ 4. **Stay flexible** – Different teammates can use Claude Code, CodeBuddy, Cursor, or any AGENTS.md-compatible tool while sharing the same specs.
352
+
353
+ Run `openspec update` whenever someone switches tools so your agents pick up the latest instructions and slash-command bindings.
354
+
355
+ ## Updating OpenSpec
356
+
357
+ 1. **Upgrade the package**
358
+ ```bash
359
+ npm install -g @fission-ai/openspec@latest
360
+ ```
361
+ 2. **Refresh agent instructions**
362
+ - Run `openspec update` inside each project to regenerate AI guidance and ensure the latest slash commands are active.
363
+
364
+ ## Contributing
365
+
366
+ - Install dependencies: `pnpm install`
367
+ - Build: `pnpm run build`
368
+ - Test: `pnpm test`
369
+ - Develop CLI locally: `pnpm run dev` or `pnpm run dev:cli`
370
+ - Conventional commits (one-line): `type(scope): subject`
371
+
372
+ ## License
373
+
374
+ MIT