@dedesfr/prompter 0.6.14 → 0.7.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 (379) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cli/index.js +144 -12
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/archive.d.ts +11 -0
  5. package/dist/commands/archive.d.ts.map +1 -0
  6. package/dist/commands/archive.js +280 -0
  7. package/dist/commands/archive.js.map +1 -0
  8. package/dist/commands/change.d.ts +35 -0
  9. package/dist/commands/change.d.ts.map +1 -0
  10. package/dist/commands/change.js +277 -0
  11. package/dist/commands/change.js.map +1 -0
  12. package/dist/commands/config.d.ts +8 -0
  13. package/dist/commands/config.d.ts.map +1 -0
  14. package/dist/commands/config.js +198 -0
  15. package/dist/commands/config.js.map +1 -0
  16. package/dist/commands/guide.d.ts.map +1 -1
  17. package/dist/commands/guide.js +4 -0
  18. package/dist/commands/guide.js.map +1 -1
  19. package/dist/commands/list.d.ts +2 -2
  20. package/dist/commands/list.d.ts.map +1 -1
  21. package/dist/commands/list.js +153 -47
  22. package/dist/commands/list.js.map +1 -1
  23. package/dist/commands/show.d.ts +14 -0
  24. package/dist/commands/show.d.ts.map +1 -0
  25. package/dist/commands/show.js +132 -0
  26. package/dist/commands/show.js.map +1 -0
  27. package/dist/commands/spec.d.ts +15 -0
  28. package/dist/commands/spec.d.ts.map +1 -0
  29. package/dist/commands/spec.js +225 -0
  30. package/dist/commands/spec.js.map +1 -0
  31. package/dist/commands/validate.d.ts +24 -0
  32. package/dist/commands/validate.d.ts.map +1 -0
  33. package/dist/commands/validate.js +294 -0
  34. package/dist/commands/validate.js.map +1 -0
  35. package/dist/core/artifact-graph/graph.d.ts +56 -0
  36. package/dist/core/artifact-graph/graph.d.ts.map +1 -0
  37. package/dist/core/artifact-graph/graph.js +141 -0
  38. package/dist/core/artifact-graph/graph.js.map +1 -0
  39. package/dist/core/artifact-graph/index.d.ts +7 -0
  40. package/dist/core/artifact-graph/index.d.ts.map +1 -0
  41. package/dist/core/artifact-graph/index.js +13 -0
  42. package/dist/core/artifact-graph/index.js.map +1 -0
  43. package/dist/core/artifact-graph/instruction-loader.d.ts +130 -0
  44. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -0
  45. package/dist/core/artifact-graph/instruction-loader.js +173 -0
  46. package/dist/core/artifact-graph/instruction-loader.js.map +1 -0
  47. package/dist/core/artifact-graph/resolver.d.ts +61 -0
  48. package/dist/core/artifact-graph/resolver.d.ts.map +1 -0
  49. package/dist/core/artifact-graph/resolver.js +187 -0
  50. package/dist/core/artifact-graph/resolver.js.map +1 -0
  51. package/dist/core/artifact-graph/schema.d.ts +13 -0
  52. package/dist/core/artifact-graph/schema.d.ts.map +1 -0
  53. package/dist/core/artifact-graph/schema.js +108 -0
  54. package/dist/core/artifact-graph/schema.js.map +1 -0
  55. package/dist/core/artifact-graph/state.d.ts +12 -0
  56. package/dist/core/artifact-graph/state.d.ts.map +1 -0
  57. package/dist/core/artifact-graph/state.js +54 -0
  58. package/dist/core/artifact-graph/state.js.map +1 -0
  59. package/dist/core/artifact-graph/types.d.ts +45 -0
  60. package/dist/core/artifact-graph/types.d.ts.map +1 -0
  61. package/dist/core/artifact-graph/types.js +43 -0
  62. package/dist/core/artifact-graph/types.js.map +1 -0
  63. package/dist/core/completions/command-registry.d.ts +7 -0
  64. package/dist/core/completions/command-registry.d.ts.map +1 -0
  65. package/dist/core/completions/command-registry.js +380 -0
  66. package/dist/core/completions/command-registry.js.map +1 -0
  67. package/dist/core/completions/completion-provider.d.ts +60 -0
  68. package/dist/core/completions/completion-provider.d.ts.map +1 -0
  69. package/dist/core/completions/completion-provider.js +102 -0
  70. package/dist/core/completions/completion-provider.js.map +1 -0
  71. package/dist/core/completions/generators/bash-generator.d.ts +32 -0
  72. package/dist/core/completions/generators/bash-generator.d.ts.map +1 -0
  73. package/dist/core/completions/generators/bash-generator.js +174 -0
  74. package/dist/core/completions/generators/bash-generator.js.map +1 -0
  75. package/dist/core/completions/generators/fish-generator.d.ts +32 -0
  76. package/dist/core/completions/generators/fish-generator.d.ts.map +1 -0
  77. package/dist/core/completions/generators/fish-generator.js +157 -0
  78. package/dist/core/completions/generators/fish-generator.js.map +1 -0
  79. package/dist/core/completions/generators/powershell-generator.d.ts +33 -0
  80. package/dist/core/completions/generators/powershell-generator.d.ts.map +1 -0
  81. package/dist/core/completions/generators/powershell-generator.js +207 -0
  82. package/dist/core/completions/generators/powershell-generator.js.map +1 -0
  83. package/dist/core/completions/generators/zsh-generator.d.ts +44 -0
  84. package/dist/core/completions/generators/zsh-generator.d.ts.map +1 -0
  85. package/dist/core/completions/generators/zsh-generator.js +250 -0
  86. package/dist/core/completions/generators/zsh-generator.js.map +1 -0
  87. package/dist/core/completions/templates/bash-templates.d.ts +6 -0
  88. package/dist/core/completions/templates/bash-templates.d.ts.map +1 -0
  89. package/dist/core/completions/templates/bash-templates.js +24 -0
  90. package/dist/core/completions/templates/bash-templates.js.map +1 -0
  91. package/dist/core/completions/templates/fish-templates.d.ts +7 -0
  92. package/dist/core/completions/templates/fish-templates.d.ts.map +1 -0
  93. package/dist/core/completions/templates/fish-templates.js +39 -0
  94. package/dist/core/completions/templates/fish-templates.js.map +1 -0
  95. package/dist/core/completions/templates/powershell-templates.d.ts +6 -0
  96. package/dist/core/completions/templates/powershell-templates.d.ts.map +1 -0
  97. package/dist/core/completions/templates/powershell-templates.js +25 -0
  98. package/dist/core/completions/templates/powershell-templates.js.map +1 -0
  99. package/dist/core/completions/templates/zsh-templates.d.ts +6 -0
  100. package/dist/core/completions/templates/zsh-templates.d.ts.map +1 -0
  101. package/dist/core/completions/templates/zsh-templates.js +36 -0
  102. package/dist/core/completions/templates/zsh-templates.js.map +1 -0
  103. package/dist/core/completions/types.d.ts +78 -0
  104. package/dist/core/completions/types.d.ts.map +1 -0
  105. package/dist/core/completions/types.js +2 -0
  106. package/dist/core/completions/types.js.map +1 -0
  107. package/dist/core/config-schema.d.ts +76 -0
  108. package/dist/core/config-schema.d.ts.map +1 -0
  109. package/dist/core/config-schema.js +200 -0
  110. package/dist/core/config-schema.js.map +1 -0
  111. package/dist/core/config.d.ts.map +1 -1
  112. package/dist/core/config.js +18 -0
  113. package/dist/core/config.js.map +1 -1
  114. package/dist/core/configurators/slash/antigravity.d.ts.map +1 -1
  115. package/dist/core/configurators/slash/antigravity.js +6 -0
  116. package/dist/core/configurators/slash/antigravity.js.map +1 -1
  117. package/dist/core/configurators/slash/base.js +1 -1
  118. package/dist/core/configurators/slash/base.js.map +1 -1
  119. package/dist/core/configurators/slash/claude.d.ts.map +1 -1
  120. package/dist/core/configurators/slash/claude.js +6 -0
  121. package/dist/core/configurators/slash/claude.js.map +1 -1
  122. package/dist/core/configurators/slash/codex.d.ts.map +1 -1
  123. package/dist/core/configurators/slash/codex.js +6 -0
  124. package/dist/core/configurators/slash/codex.js.map +1 -1
  125. package/dist/core/configurators/slash/github-copilot.d.ts.map +1 -1
  126. package/dist/core/configurators/slash/github-copilot.js +6 -0
  127. package/dist/core/configurators/slash/github-copilot.js.map +1 -1
  128. package/dist/core/configurators/slash/kilocode.d.ts.map +1 -1
  129. package/dist/core/configurators/slash/kilocode.js +6 -0
  130. package/dist/core/configurators/slash/kilocode.js.map +1 -1
  131. package/dist/core/configurators/slash/opencode.d.ts.map +1 -1
  132. package/dist/core/configurators/slash/opencode.js +6 -0
  133. package/dist/core/configurators/slash/opencode.js.map +1 -1
  134. package/dist/core/converters/json-converter.d.ts +6 -0
  135. package/dist/core/converters/json-converter.d.ts.map +1 -0
  136. package/dist/core/converters/json-converter.js +51 -0
  137. package/dist/core/converters/json-converter.js.map +1 -0
  138. package/dist/core/global-config.d.ts +39 -0
  139. package/dist/core/global-config.d.ts.map +1 -0
  140. package/dist/core/global-config.js +115 -0
  141. package/dist/core/global-config.js.map +1 -0
  142. package/dist/core/parsers/change-parser.d.ts +13 -0
  143. package/dist/core/parsers/change-parser.d.ts.map +1 -0
  144. package/dist/core/parsers/change-parser.js +193 -0
  145. package/dist/core/parsers/change-parser.js.map +1 -0
  146. package/dist/core/parsers/markdown-parser.d.ts +22 -0
  147. package/dist/core/parsers/markdown-parser.d.ts.map +1 -0
  148. package/dist/core/parsers/markdown-parser.js +187 -0
  149. package/dist/core/parsers/markdown-parser.js.map +1 -0
  150. package/dist/core/parsers/requirement-blocks.d.ts +37 -0
  151. package/dist/core/parsers/requirement-blocks.d.ts.map +1 -0
  152. package/dist/core/parsers/requirement-blocks.js +201 -0
  153. package/dist/core/parsers/requirement-blocks.js.map +1 -0
  154. package/dist/core/prompt-templates.d.ts +3 -0
  155. package/dist/core/prompt-templates.d.ts.map +1 -1
  156. package/dist/core/prompt-templates.js +66 -0
  157. package/dist/core/prompt-templates.js.map +1 -1
  158. package/dist/core/schemas/base.schema.d.ts +13 -0
  159. package/dist/core/schemas/base.schema.d.ts.map +1 -0
  160. package/dist/core/schemas/base.schema.js +13 -0
  161. package/dist/core/schemas/base.schema.js.map +1 -0
  162. package/dist/core/schemas/change.schema.d.ts +73 -0
  163. package/dist/core/schemas/change.schema.d.ts.map +1 -0
  164. package/dist/core/schemas/change.schema.js +31 -0
  165. package/dist/core/schemas/change.schema.js.map +1 -0
  166. package/dist/core/schemas/index.d.ts +4 -0
  167. package/dist/core/schemas/index.d.ts.map +1 -0
  168. package/dist/core/schemas/index.js +4 -0
  169. package/dist/core/schemas/index.js.map +1 -0
  170. package/dist/core/schemas/spec.schema.d.ts +18 -0
  171. package/dist/core/schemas/spec.schema.d.ts.map +1 -0
  172. package/dist/core/schemas/spec.schema.js +15 -0
  173. package/dist/core/schemas/spec.schema.js.map +1 -0
  174. package/dist/core/specs-apply.d.ts +73 -0
  175. package/dist/core/specs-apply.d.ts.map +1 -0
  176. package/dist/core/specs-apply.js +384 -0
  177. package/dist/core/specs-apply.js.map +1 -0
  178. package/dist/core/styles/palette.d.ts +7 -0
  179. package/dist/core/styles/palette.d.ts.map +1 -0
  180. package/dist/core/styles/palette.js +8 -0
  181. package/dist/core/styles/palette.js.map +1 -0
  182. package/dist/core/templates/slash-command-templates.d.ts +1 -1
  183. package/dist/core/templates/slash-command-templates.d.ts.map +1 -1
  184. package/dist/core/templates/slash-command-templates.js +4 -1
  185. package/dist/core/templates/slash-command-templates.js.map +1 -1
  186. package/dist/core/validation/constants.d.ts +34 -0
  187. package/dist/core/validation/constants.d.ts.map +1 -0
  188. package/dist/core/validation/constants.js +40 -0
  189. package/dist/core/validation/constants.js.map +1 -0
  190. package/dist/core/validation/types.d.ts +18 -0
  191. package/dist/core/validation/types.d.ts.map +1 -0
  192. package/dist/core/validation/types.js +2 -0
  193. package/dist/core/validation/types.js.map +1 -0
  194. package/dist/core/validation/validator.d.ts +33 -0
  195. package/dist/core/validation/validator.d.ts.map +1 -0
  196. package/dist/core/validation/validator.js +409 -0
  197. package/dist/core/validation/validator.js.map +1 -0
  198. package/dist/core/view.d.ts +8 -0
  199. package/dist/core/view.d.ts.map +1 -0
  200. package/dist/core/view.js +168 -0
  201. package/dist/core/view.js.map +1 -0
  202. package/dist/utils/change-metadata.d.ts +47 -0
  203. package/dist/utils/change-metadata.d.ts.map +1 -0
  204. package/dist/utils/change-metadata.js +130 -0
  205. package/dist/utils/change-metadata.js.map +1 -0
  206. package/dist/utils/change-utils.d.ts +51 -0
  207. package/dist/utils/change-utils.d.ts.map +1 -0
  208. package/dist/utils/change-utils.js +100 -0
  209. package/dist/utils/change-utils.js.map +1 -0
  210. package/dist/utils/file-system.d.ts +25 -0
  211. package/dist/utils/file-system.d.ts.map +1 -0
  212. package/dist/utils/file-system.js +218 -0
  213. package/dist/utils/file-system.js.map +1 -0
  214. package/dist/utils/index.d.ts +4 -0
  215. package/dist/utils/index.d.ts.map +1 -0
  216. package/dist/utils/index.js +5 -0
  217. package/dist/utils/index.js.map +1 -0
  218. package/dist/utils/interactive.d.ts +18 -0
  219. package/dist/utils/interactive.d.ts.map +1 -0
  220. package/dist/utils/interactive.js +21 -0
  221. package/dist/utils/interactive.js.map +1 -0
  222. package/dist/utils/item-discovery.d.ts +4 -0
  223. package/dist/utils/item-discovery.d.ts.map +1 -0
  224. package/dist/utils/item-discovery.js +72 -0
  225. package/dist/utils/item-discovery.js.map +1 -0
  226. package/dist/utils/match.d.ts +3 -0
  227. package/dist/utils/match.d.ts.map +1 -0
  228. package/dist/utils/match.js +22 -0
  229. package/dist/utils/match.js.map +1 -0
  230. package/dist/utils/shell-detection.d.ts +20 -0
  231. package/dist/utils/shell-detection.d.ts.map +1 -0
  232. package/dist/utils/shell-detection.js +41 -0
  233. package/dist/utils/shell-detection.js.map +1 -0
  234. package/dist/utils/task-progress.d.ts +8 -0
  235. package/dist/utils/task-progress.d.ts.map +1 -0
  236. package/dist/utils/task-progress.js +36 -0
  237. package/dist/utils/task-progress.js.map +1 -0
  238. package/docs/tasks.md +1 -1
  239. package/package.json +6 -2
  240. package/prompt/apply.md +17 -0
  241. package/prompt/archive.md +21 -0
  242. package/prompt/proposal.md +22 -0
  243. package/src/cli/index.ts +151 -16
  244. package/src/commands/archive.ts +302 -0
  245. package/src/commands/change.ts +292 -0
  246. package/src/commands/config.ts +233 -0
  247. package/src/commands/guide.ts +5 -0
  248. package/src/commands/list.ts +176 -66
  249. package/src/commands/show.ts +138 -0
  250. package/src/commands/spec.ts +251 -0
  251. package/src/commands/validate.ts +326 -0
  252. package/src/core/artifact-graph/graph.ts +167 -0
  253. package/src/core/artifact-graph/index.ts +44 -0
  254. package/src/core/artifact-graph/instruction-loader.ts +302 -0
  255. package/src/core/artifact-graph/resolver.ts +226 -0
  256. package/src/core/artifact-graph/schema.ts +124 -0
  257. package/src/core/artifact-graph/state.ts +64 -0
  258. package/src/core/artifact-graph/types.ts +65 -0
  259. package/src/core/completions/command-registry.ts +382 -0
  260. package/src/core/completions/completion-provider.ts +128 -0
  261. package/src/core/completions/generators/bash-generator.ts +191 -0
  262. package/src/core/completions/generators/fish-generator.ts +188 -0
  263. package/src/core/completions/generators/powershell-generator.ts +223 -0
  264. package/src/core/completions/generators/zsh-generator.ts +281 -0
  265. package/src/core/completions/templates/bash-templates.ts +24 -0
  266. package/src/core/completions/templates/fish-templates.ts +40 -0
  267. package/src/core/completions/templates/powershell-templates.ts +25 -0
  268. package/src/core/completions/templates/zsh-templates.ts +36 -0
  269. package/src/core/completions/types.ts +90 -0
  270. package/src/core/config-schema.ts +230 -0
  271. package/src/core/config.ts +18 -0
  272. package/src/core/configurators/slash/antigravity.ts +6 -0
  273. package/src/core/configurators/slash/base.ts +1 -1
  274. package/src/core/configurators/slash/claude.ts +6 -0
  275. package/src/core/configurators/slash/codex.ts +6 -0
  276. package/src/core/configurators/slash/github-copilot.ts +6 -0
  277. package/src/core/configurators/slash/kilocode.ts +6 -0
  278. package/src/core/configurators/slash/opencode.ts +6 -0
  279. package/src/core/converters/json-converter.ts +62 -0
  280. package/src/core/global-config.ts +136 -0
  281. package/src/core/parsers/change-parser.ts +234 -0
  282. package/src/core/parsers/markdown-parser.ts +237 -0
  283. package/src/core/parsers/requirement-blocks.ts +234 -0
  284. package/src/core/prompt-templates.ts +69 -0
  285. package/src/core/schemas/base.schema.ts +20 -0
  286. package/src/core/schemas/change.schema.ts +42 -0
  287. package/src/core/schemas/index.ts +20 -0
  288. package/src/core/schemas/spec.schema.ts +17 -0
  289. package/src/core/specs-apply.ts +483 -0
  290. package/src/core/styles/palette.ts +8 -0
  291. package/src/core/templates/slash-command-templates.ts +7 -1
  292. package/src/core/validation/constants.ts +48 -0
  293. package/src/core/validation/types.ts +19 -0
  294. package/src/core/validation/validator.ts +449 -0
  295. package/src/core/view.ts +219 -0
  296. package/src/utils/change-metadata.ts +171 -0
  297. package/src/utils/change-utils.ts +131 -0
  298. package/src/utils/file-system.ts +252 -0
  299. package/src/utils/index.ts +12 -0
  300. package/src/utils/interactive.ts +29 -0
  301. package/src/utils/item-discovery.ts +66 -0
  302. package/src/utils/match.ts +26 -0
  303. package/src/utils/shell-detection.ts +62 -0
  304. package/src/utils/task-progress.ts +43 -0
  305. package/dist/commands/ai-humanizer.d.ts +0 -11
  306. package/dist/commands/ai-humanizer.d.ts.map +0 -1
  307. package/dist/commands/ai-humanizer.js +0 -97
  308. package/dist/commands/ai-humanizer.js.map +0 -1
  309. package/dist/commands/api-contract-generator.d.ts +0 -11
  310. package/dist/commands/api-contract-generator.d.ts.map +0 -1
  311. package/dist/commands/api-contract-generator.js +0 -97
  312. package/dist/commands/api-contract-generator.js.map +0 -1
  313. package/dist/commands/design-system.d.ts +0 -11
  314. package/dist/commands/design-system.d.ts.map +0 -1
  315. package/dist/commands/design-system.js +0 -97
  316. package/dist/commands/design-system.js.map +0 -1
  317. package/dist/commands/document-explainer.d.ts +0 -11
  318. package/dist/commands/document-explainer.d.ts.map +0 -1
  319. package/dist/commands/document-explainer.js +0 -97
  320. package/dist/commands/document-explainer.js.map +0 -1
  321. package/dist/commands/epic-generator.d.ts +0 -11
  322. package/dist/commands/epic-generator.d.ts.map +0 -1
  323. package/dist/commands/epic-generator.js +0 -97
  324. package/dist/commands/epic-generator.js.map +0 -1
  325. package/dist/commands/erd-generator.d.ts +0 -11
  326. package/dist/commands/erd-generator.d.ts.map +0 -1
  327. package/dist/commands/erd-generator.js +0 -97
  328. package/dist/commands/erd-generator.js.map +0 -1
  329. package/dist/commands/fsd-generator.d.ts +0 -11
  330. package/dist/commands/fsd-generator.d.ts.map +0 -1
  331. package/dist/commands/fsd-generator.js +0 -97
  332. package/dist/commands/fsd-generator.js.map +0 -1
  333. package/dist/commands/prd-agent-generator.d.ts +0 -11
  334. package/dist/commands/prd-agent-generator.d.ts.map +0 -1
  335. package/dist/commands/prd-agent-generator.js +0 -95
  336. package/dist/commands/prd-agent-generator.js.map +0 -1
  337. package/dist/commands/prd-generator.d.ts +0 -11
  338. package/dist/commands/prd-generator.d.ts.map +0 -1
  339. package/dist/commands/prd-generator.js +0 -97
  340. package/dist/commands/prd-generator.js.map +0 -1
  341. package/dist/commands/product-brief.d.ts +0 -11
  342. package/dist/commands/product-brief.d.ts.map +0 -1
  343. package/dist/commands/product-brief.js +0 -97
  344. package/dist/commands/product-brief.js.map +0 -1
  345. package/dist/commands/skill-creator.d.ts +0 -11
  346. package/dist/commands/skill-creator.d.ts.map +0 -1
  347. package/dist/commands/skill-creator.js +0 -101
  348. package/dist/commands/skill-creator.js.map +0 -1
  349. package/dist/commands/story-generator.d.ts +0 -11
  350. package/dist/commands/story-generator.d.ts.map +0 -1
  351. package/dist/commands/story-generator.js +0 -97
  352. package/dist/commands/story-generator.js.map +0 -1
  353. package/dist/commands/tdd-generator.d.ts +0 -11
  354. package/dist/commands/tdd-generator.d.ts.map +0 -1
  355. package/dist/commands/tdd-generator.js +0 -97
  356. package/dist/commands/tdd-generator.js.map +0 -1
  357. package/dist/commands/tdd-lite-generator.d.ts +0 -11
  358. package/dist/commands/tdd-lite-generator.d.ts.map +0 -1
  359. package/dist/commands/tdd-lite-generator.js +0 -97
  360. package/dist/commands/tdd-lite-generator.js.map +0 -1
  361. package/dist/commands/wireframe-generator.d.ts +0 -11
  362. package/dist/commands/wireframe-generator.d.ts.map +0 -1
  363. package/dist/commands/wireframe-generator.js +0 -97
  364. package/dist/commands/wireframe-generator.js.map +0 -1
  365. package/src/commands/ai-humanizer.ts +0 -118
  366. package/src/commands/api-contract-generator.ts +0 -118
  367. package/src/commands/design-system.ts +0 -118
  368. package/src/commands/document-explainer.ts +0 -118
  369. package/src/commands/epic-generator.ts +0 -118
  370. package/src/commands/erd-generator.ts +0 -118
  371. package/src/commands/fsd-generator.ts +0 -118
  372. package/src/commands/prd-agent-generator.ts +0 -115
  373. package/src/commands/prd-generator.ts +0 -118
  374. package/src/commands/product-brief.ts +0 -118
  375. package/src/commands/skill-creator.ts +0 -123
  376. package/src/commands/story-generator.ts +0 -118
  377. package/src/commands/tdd-generator.ts +0 -118
  378. package/src/commands/tdd-lite-generator.ts +0 -118
  379. package/src/commands/wireframe-generator.ts +0 -118
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA8C1D,qBAAa,iBAAkB,SAAQ,wBAAwB;IAC3D,QAAQ,CAAC,MAAM,WAAW;IAC1B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoD1D,qBAAa,iBAAkB,SAAQ,wBAAwB;IAC3D,QAAQ,CAAC,MAAM,WAAW;IAC1B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
@@ -12,9 +12,12 @@ const FILE_PATHS = {
12
12
  'skill-creator': '.codex/prompts/skill-creator.md',
13
13
  'ai-humanizer': '.codex/prompts/ai-humanizer.md',
14
14
  'api-contract-generator': '.codex/prompts/api-contract-generator.md',
15
+ 'apply': '.codex/prompts/apply.md',
16
+ 'archive': '.codex/prompts/archive.md',
15
17
  'design-system': '.codex/prompts/design-system.md',
16
18
  'erd-generator': '.codex/prompts/erd-generator.md',
17
19
  'fsd-generator': '.codex/prompts/fsd-generator.md',
20
+ 'proposal': '.codex/prompts/proposal.md',
18
21
  'tdd-generator': '.codex/prompts/tdd-generator.md',
19
22
  'tdd-lite-generator': '.codex/prompts/tdd-lite-generator.md',
20
23
  'wireframe-generator': '.codex/prompts/wireframe-generator.md',
@@ -33,9 +36,12 @@ const DESCRIPTIONS = {
33
36
  'skill-creator': 'Create a modular skill package that extends AI agent capabilities',
34
37
  'ai-humanizer': 'Humanize and proofread AI-generated content for natural, publication-ready output',
35
38
  'api-contract-generator': 'Generate OpenAPI specification from FSD and ERD',
39
+ 'apply': 'Implement and apply an approved change proposal',
40
+ 'archive': 'Archive a completed change and update specs',
36
41
  'design-system': 'Generate comprehensive design system documentation for components and tokens',
37
42
  'erd-generator': 'Generate Entity Relationship Diagram from FSD',
38
43
  'fsd-generator': 'Generate Functional Specification Document from PRD',
44
+ 'proposal': 'Create a new change proposal with spec deltas',
39
45
  'tdd-generator': 'Generate comprehensive Technical Design Document',
40
46
  'tdd-lite-generator': 'Generate lean Technical Design Document (TDD-Lite)',
41
47
  'wireframe-generator': 'Generate UI/UX wireframes from technical specs',
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,oCAAoC;IAC7C,eAAe,EAAE,iCAAiC;IAClD,qBAAqB,EAAE,uCAAuC;IAC9D,eAAe,EAAE,iCAAiC;IAClD,aAAa,EAAE,+BAA+B;IAC9C,gBAAgB,EAAE,kCAAkC;IACpD,cAAc,EAAE,gCAAgC;IAChD,iBAAiB,EAAE,mCAAmC;IACtD,kBAAkB,EAAE,oCAAoC;IACxD,eAAe,EAAE,iCAAiC;IAClD,cAAc,EAAE,gCAAgC;IAChD,wBAAwB,EAAE,0CAA0C;IACpE,eAAe,EAAE,iCAAiC;IAClD,eAAe,EAAE,iCAAiC;IAClD,eAAe,EAAE,iCAAiC;IAClD,eAAe,EAAE,iCAAiC;IAClD,oBAAoB,EAAE,sCAAsC;IAC5D,qBAAqB,EAAE,uCAAuC;IAC9D,oBAAoB,EAAE,sCAAsC;CAC/D,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,qBAAqB,EAAE,mEAAmE;IAC1F,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,gBAAgB,EAAE,0DAA0D;IAC5E,cAAc,EAAE,qDAAqD;IACrE,iBAAiB,EAAE,wDAAwD;IAC3E,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;IACpF,cAAc,EAAE,mFAAmF;IACnG,wBAAwB,EAAE,iDAAiD;IAC3E,eAAe,EAAE,8EAA8E;IAC/F,eAAe,EAAE,+CAA+C;IAChE,eAAe,EAAE,qDAAqD;IACtE,eAAe,EAAE,kDAAkD;IACnE,oBAAoB,EAAE,oDAAoD;IAC1E,qBAAqB,EAAE,gDAAgD;IACvE,oBAAoB,EAAE,uEAAuE;CAChG,CAAC;AAEF,MAAM,OAAO,iBAAkB,SAAQ,wBAAwB;IAClD,MAAM,GAAG,OAAO,CAAC;IACjB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,oCAAoC;IAC7C,eAAe,EAAE,iCAAiC;IAClD,qBAAqB,EAAE,uCAAuC;IAC9D,eAAe,EAAE,iCAAiC;IAClD,aAAa,EAAE,+BAA+B;IAC9C,gBAAgB,EAAE,kCAAkC;IACpD,cAAc,EAAE,gCAAgC;IAChD,iBAAiB,EAAE,mCAAmC;IACtD,kBAAkB,EAAE,oCAAoC;IACxD,eAAe,EAAE,iCAAiC;IAClD,cAAc,EAAE,gCAAgC;IAChD,wBAAwB,EAAE,0CAA0C;IACpE,OAAO,EAAE,yBAAyB;IAClC,SAAS,EAAE,2BAA2B;IACtC,eAAe,EAAE,iCAAiC;IAClD,eAAe,EAAE,iCAAiC;IAClD,eAAe,EAAE,iCAAiC;IAClD,UAAU,EAAE,4BAA4B;IACxC,eAAe,EAAE,iCAAiC;IAClD,oBAAoB,EAAE,sCAAsC;IAC5D,qBAAqB,EAAE,uCAAuC;IAC9D,oBAAoB,EAAE,sCAAsC;CAC/D,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,qBAAqB,EAAE,mEAAmE;IAC1F,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,gBAAgB,EAAE,0DAA0D;IAC5E,cAAc,EAAE,qDAAqD;IACrE,iBAAiB,EAAE,wDAAwD;IAC3E,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;IACpF,cAAc,EAAE,mFAAmF;IACnG,wBAAwB,EAAE,iDAAiD;IAC3E,OAAO,EAAE,iDAAiD;IAC1D,SAAS,EAAE,6CAA6C;IACxD,eAAe,EAAE,8EAA8E;IAC/F,eAAe,EAAE,+CAA+C;IAChE,eAAe,EAAE,qDAAqD;IACtE,UAAU,EAAE,+CAA+C;IAC3D,eAAe,EAAE,kDAAkD;IACnE,oBAAoB,EAAE,oDAAoD;IAC1E,qBAAqB,EAAE,gDAAgD;IACvE,oBAAoB,EAAE,uEAAuE;CAChG,CAAC;AAEF,MAAM,OAAO,iBAAkB,SAAQ,wBAAwB;IAClD,MAAM,GAAG,OAAO,CAAC;IACjB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"github-copilot.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/github-copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAiD1D,qBAAa,yBAA0B,SAAQ,wBAAwB;IACnE,QAAQ,CAAC,MAAM,oBAAoB;IACnC,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAK1D,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAgCzE,eAAe;CAQhC"}
1
+ {"version":3,"file":"github-copilot.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/github-copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAuD1D,qBAAa,yBAA0B,SAAQ,wBAAwB;IACnE,QAAQ,CAAC,MAAM,oBAAoB;IACnC,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAK1D,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAgCzE,eAAe;CAQhC"}
@@ -15,9 +15,12 @@ const FILE_PATHS = {
15
15
  'skill-creator': '.github/prompts/skill-creator.prompt.md',
16
16
  'ai-humanizer': '.github/prompts/ai-humanizer.prompt.md',
17
17
  'api-contract-generator': '.github/prompts/api-contract-generator.prompt.md',
18
+ 'apply': '.github/prompts/apply.prompt.md',
19
+ 'archive': '.github/prompts/archive.prompt.md',
18
20
  'design-system': '.github/prompts/design-system.prompt.md',
19
21
  'erd-generator': '.github/prompts/erd-generator.prompt.md',
20
22
  'fsd-generator': '.github/prompts/fsd-generator.prompt.md',
23
+ 'proposal': '.github/prompts/proposal.prompt.md',
21
24
  'tdd-generator': '.github/prompts/tdd-generator.prompt.md',
22
25
  'tdd-lite-generator': '.github/prompts/tdd-lite-generator.prompt.md',
23
26
  'wireframe-generator': '.github/prompts/wireframe-generator.prompt.md',
@@ -36,9 +39,12 @@ const DESCRIPTIONS = {
36
39
  'skill-creator': 'Create a modular skill package that extends AI agent capabilities',
37
40
  'ai-humanizer': 'Humanize and proofread AI-generated content for natural, publication-ready output',
38
41
  'api-contract-generator': 'Generate OpenAPI specification from FSD and ERD',
42
+ 'apply': 'Implement and apply an approved change proposal',
43
+ 'archive': 'Archive a completed change and update specs',
39
44
  'design-system': 'Generate comprehensive design system documentation for components and tokens',
40
45
  'erd-generator': 'Generate Entity Relationship Diagram from FSD',
41
46
  'fsd-generator': 'Generate Functional Specification Document from PRD',
47
+ 'proposal': 'Create a new change proposal with spec deltas',
42
48
  'tdd-generator': 'Generate comprehensive Technical Design Document',
43
49
  'tdd-lite-generator': 'Generate lean Technical Design Document (TDD-Lite)',
44
50
  'wireframe-generator': 'Generate UI/UX wireframes from technical specs',
@@ -1 +1 @@
1
- {"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/github-copilot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/github-copilot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kilocode.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/kilocode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA8C1D,qBAAa,oBAAqB,SAAQ,wBAAwB;IAC9D,QAAQ,CAAC,MAAM,cAAc;IAC7B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
1
+ {"version":3,"file":"kilocode.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/kilocode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoD1D,qBAAa,oBAAqB,SAAQ,wBAAwB;IAC9D,QAAQ,CAAC,MAAM,cAAc;IAC7B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
@@ -12,9 +12,12 @@ const FILE_PATHS = {
12
12
  'skill-creator': '.kilocode/workflows/skill-creator.md',
13
13
  'ai-humanizer': '.kilocode/workflows/ai-humanizer.md',
14
14
  'api-contract-generator': '.kilocode/workflows/api-contract-generator.md',
15
+ 'apply': '.kilocode/workflows/apply.md',
16
+ 'archive': '.kilocode/workflows/archive.md',
15
17
  'design-system': '.kilocode/workflows/design-system.md',
16
18
  'erd-generator': '.kilocode/workflows/erd-generator.md',
17
19
  'fsd-generator': '.kilocode/workflows/fsd-generator.md',
20
+ 'proposal': '.kilocode/workflows/proposal.md',
18
21
  'tdd-generator': '.kilocode/workflows/tdd-generator.md',
19
22
  'tdd-lite-generator': '.kilocode/workflows/tdd-lite-generator.md',
20
23
  'wireframe-generator': '.kilocode/workflows/wireframe-generator.md',
@@ -33,9 +36,12 @@ const DESCRIPTIONS = {
33
36
  'skill-creator': 'Create a modular skill package that extends AI agent capabilities',
34
37
  'ai-humanizer': 'Humanize and proofread AI-generated content for natural, publication-ready output',
35
38
  'api-contract-generator': 'Generate OpenAPI specification from FSD and ERD',
39
+ 'apply': 'Implement and apply an approved change proposal',
40
+ 'archive': 'Archive a completed change and update specs',
36
41
  'design-system': 'Generate comprehensive design system documentation for components and tokens',
37
42
  'erd-generator': 'Generate Entity Relationship Diagram from FSD',
38
43
  'fsd-generator': 'Generate Functional Specification Document from PRD',
44
+ 'proposal': 'Create a new change proposal with spec deltas',
39
45
  'tdd-generator': 'Generate comprehensive Technical Design Document',
40
46
  'tdd-lite-generator': 'Generate lean Technical Design Document (TDD-Lite)',
41
47
  'wireframe-generator': 'Generate UI/UX wireframes from technical specs',
@@ -1 +1 @@
1
- {"version":3,"file":"kilocode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/kilocode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,yCAAyC;IAClD,eAAe,EAAE,sCAAsC;IACvD,qBAAqB,EAAE,4CAA4C;IACnE,eAAe,EAAE,sCAAsC;IACvD,aAAa,EAAE,oCAAoC;IACnD,gBAAgB,EAAE,uCAAuC;IACzD,cAAc,EAAE,qCAAqC;IACrD,iBAAiB,EAAE,wCAAwC;IAC3D,kBAAkB,EAAE,yCAAyC;IAC7D,eAAe,EAAE,sCAAsC;IACvD,cAAc,EAAE,qCAAqC;IACrD,wBAAwB,EAAE,+CAA+C;IACzE,eAAe,EAAE,sCAAsC;IACvD,eAAe,EAAE,sCAAsC;IACvD,eAAe,EAAE,sCAAsC;IACvD,eAAe,EAAE,sCAAsC;IACvD,oBAAoB,EAAE,2CAA2C;IACjE,qBAAqB,EAAE,4CAA4C;IACnE,oBAAoB,EAAE,2CAA2C;CACpE,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,qBAAqB,EAAE,mEAAmE;IAC1F,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,gBAAgB,EAAE,0DAA0D;IAC5E,cAAc,EAAE,qDAAqD;IACrE,iBAAiB,EAAE,wDAAwD;IAC3E,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;IACpF,cAAc,EAAE,mFAAmF;IACnG,wBAAwB,EAAE,iDAAiD;IAC3E,eAAe,EAAE,8EAA8E;IAC/F,eAAe,EAAE,+CAA+C;IAChE,eAAe,EAAE,qDAAqD;IACtE,eAAe,EAAE,kDAAkD;IACnE,oBAAoB,EAAE,oDAAoD;IAC1E,qBAAqB,EAAE,gDAAgD;IACvE,oBAAoB,EAAE,uEAAuE;CAChG,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IACrD,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
1
+ {"version":3,"file":"kilocode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/kilocode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,yCAAyC;IAClD,eAAe,EAAE,sCAAsC;IACvD,qBAAqB,EAAE,4CAA4C;IACnE,eAAe,EAAE,sCAAsC;IACvD,aAAa,EAAE,oCAAoC;IACnD,gBAAgB,EAAE,uCAAuC;IACzD,cAAc,EAAE,qCAAqC;IACrD,iBAAiB,EAAE,wCAAwC;IAC3D,kBAAkB,EAAE,yCAAyC;IAC7D,eAAe,EAAE,sCAAsC;IACvD,cAAc,EAAE,qCAAqC;IACrD,wBAAwB,EAAE,+CAA+C;IACzE,OAAO,EAAE,8BAA8B;IACvC,SAAS,EAAE,gCAAgC;IAC3C,eAAe,EAAE,sCAAsC;IACvD,eAAe,EAAE,sCAAsC;IACvD,eAAe,EAAE,sCAAsC;IACvD,UAAU,EAAE,iCAAiC;IAC7C,eAAe,EAAE,sCAAsC;IACvD,oBAAoB,EAAE,2CAA2C;IACjE,qBAAqB,EAAE,4CAA4C;IACnE,oBAAoB,EAAE,2CAA2C;CACpE,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,qBAAqB,EAAE,mEAAmE;IAC1F,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,gBAAgB,EAAE,0DAA0D;IAC5E,cAAc,EAAE,qDAAqD;IACrE,iBAAiB,EAAE,wDAAwD;IAC3E,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;IACpF,cAAc,EAAE,mFAAmF;IACnG,wBAAwB,EAAE,iDAAiD;IAC3E,OAAO,EAAE,iDAAiD;IAC1D,SAAS,EAAE,6CAA6C;IACxD,eAAe,EAAE,8EAA8E;IAC/F,eAAe,EAAE,+CAA+C;IAChE,eAAe,EAAE,qDAAqD;IACtE,UAAU,EAAE,+CAA+C;IAC3D,eAAe,EAAE,kDAAkD;IACnE,oBAAoB,EAAE,oDAAoD;IAC1E,qBAAqB,EAAE,gDAAgD;IACvE,oBAAoB,EAAE,uEAAuE;CAChG,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IACrD,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA8C1D,qBAAa,oBAAqB,SAAQ,wBAAwB;IAC9D,QAAQ,CAAC,MAAM,cAAc;IAC7B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoD1D,qBAAa,oBAAqB,SAAQ,wBAAwB;IAC9D,QAAQ,CAAC,MAAM,cAAc;IAC7B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
@@ -12,9 +12,12 @@ const FILE_PATHS = {
12
12
  'skill-creator': '.opencode/command/skill-creator.md',
13
13
  'ai-humanizer': '.opencode/command/ai-humanizer.md',
14
14
  'api-contract-generator': '.opencode/command/api-contract-generator.md',
15
+ 'apply': '.opencode/command/apply.md',
16
+ 'archive': '.opencode/command/archive.md',
15
17
  'design-system': '.opencode/command/design-system.md',
16
18
  'erd-generator': '.opencode/command/erd-generator.md',
17
19
  'fsd-generator': '.opencode/command/fsd-generator.md',
20
+ 'proposal': '.opencode/command/proposal.md',
18
21
  'tdd-generator': '.opencode/command/tdd-generator.md',
19
22
  'tdd-lite-generator': '.opencode/command/tdd-lite-generator.md',
20
23
  'wireframe-generator': '.opencode/command/wireframe-generator.md',
@@ -33,9 +36,12 @@ const DESCRIPTIONS = {
33
36
  'skill-creator': 'Create a modular skill package that extends AI agent capabilities',
34
37
  'ai-humanizer': 'Humanize and proofread AI-generated content for natural, publication-ready output',
35
38
  'api-contract-generator': 'Generate OpenAPI specification from FSD and ERD',
39
+ 'apply': 'Implement and apply an approved change proposal',
40
+ 'archive': 'Archive a completed change and update specs',
36
41
  'design-system': 'Generate comprehensive design system documentation for components and tokens',
37
42
  'erd-generator': 'Generate Entity Relationship Diagram from FSD',
38
43
  'fsd-generator': 'Generate Functional Specification Document from PRD',
44
+ 'proposal': 'Create a new change proposal with spec deltas',
39
45
  'tdd-generator': 'Generate comprehensive Technical Design Document',
40
46
  'tdd-lite-generator': 'Generate lean Technical Design Document (TDD-Lite)',
41
47
  'wireframe-generator': 'Generate UI/UX wireframes from technical specs',
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,uCAAuC;IAChD,eAAe,EAAE,oCAAoC;IACrD,qBAAqB,EAAE,0CAA0C;IACjE,eAAe,EAAE,oCAAoC;IACrD,aAAa,EAAE,kCAAkC;IACjD,gBAAgB,EAAE,qCAAqC;IACvD,cAAc,EAAE,mCAAmC;IACnD,iBAAiB,EAAE,sCAAsC;IACzD,kBAAkB,EAAE,uCAAuC;IAC3D,eAAe,EAAE,oCAAoC;IACrD,cAAc,EAAE,mCAAmC;IACnD,wBAAwB,EAAE,6CAA6C;IACvE,eAAe,EAAE,oCAAoC;IACrD,eAAe,EAAE,oCAAoC;IACrD,eAAe,EAAE,oCAAoC;IACrD,eAAe,EAAE,oCAAoC;IACrD,oBAAoB,EAAE,yCAAyC;IAC/D,qBAAqB,EAAE,0CAA0C;IACjE,oBAAoB,EAAE,yCAAyC;CAClE,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,qBAAqB,EAAE,mEAAmE;IAC1F,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,gBAAgB,EAAE,0DAA0D;IAC5E,cAAc,EAAE,qDAAqD;IACrE,iBAAiB,EAAE,wDAAwD;IAC3E,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;IACpF,cAAc,EAAE,mFAAmF;IACnG,wBAAwB,EAAE,iDAAiD;IAC3E,eAAe,EAAE,8EAA8E;IAC/F,eAAe,EAAE,+CAA+C;IAChE,eAAe,EAAE,qDAAqD;IACtE,eAAe,EAAE,kDAAkD;IACnE,oBAAoB,EAAE,oDAAoD;IAC1E,qBAAqB,EAAE,gDAAgD;IACvE,oBAAoB,EAAE,uEAAuE;CAChG,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IACrD,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,mCAAmC,WAAW,OAAO,CAAC;IACjE,CAAC;CACJ"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,uCAAuC;IAChD,eAAe,EAAE,oCAAoC;IACrD,qBAAqB,EAAE,0CAA0C;IACjE,eAAe,EAAE,oCAAoC;IACrD,aAAa,EAAE,kCAAkC;IACjD,gBAAgB,EAAE,qCAAqC;IACvD,cAAc,EAAE,mCAAmC;IACnD,iBAAiB,EAAE,sCAAsC;IACzD,kBAAkB,EAAE,uCAAuC;IAC3D,eAAe,EAAE,oCAAoC;IACrD,cAAc,EAAE,mCAAmC;IACnD,wBAAwB,EAAE,6CAA6C;IACvE,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,8BAA8B;IACzC,eAAe,EAAE,oCAAoC;IACrD,eAAe,EAAE,oCAAoC;IACrD,eAAe,EAAE,oCAAoC;IACrD,UAAU,EAAE,+BAA+B;IAC3C,eAAe,EAAE,oCAAoC;IACrD,oBAAoB,EAAE,yCAAyC;IAC/D,qBAAqB,EAAE,0CAA0C;IACjE,oBAAoB,EAAE,yCAAyC;CAClE,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,qBAAqB,EAAE,mEAAmE;IAC1F,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,gBAAgB,EAAE,0DAA0D;IAC5E,cAAc,EAAE,qDAAqD;IACrE,iBAAiB,EAAE,wDAAwD;IAC3E,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;IACpF,cAAc,EAAE,mFAAmF;IACnG,wBAAwB,EAAE,iDAAiD;IAC3E,OAAO,EAAE,iDAAiD;IAC1D,SAAS,EAAE,6CAA6C;IACxD,eAAe,EAAE,8EAA8E;IAC/F,eAAe,EAAE,+CAA+C;IAChE,eAAe,EAAE,qDAAqD;IACtE,UAAU,EAAE,+CAA+C;IAC3D,eAAe,EAAE,kDAAkD;IACnE,oBAAoB,EAAE,oDAAoD;IAC1E,qBAAqB,EAAE,gDAAgD;IACvE,oBAAoB,EAAE,uEAAuE;CAChG,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IACrD,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,mCAAmC,WAAW,OAAO,CAAC;IACjE,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ export declare class JsonConverter {
2
+ convertSpecToJson(filePath: string): string;
3
+ convertChangeToJson(filePath: string): Promise<string>;
4
+ private extractNameFromPath;
5
+ }
6
+ //# sourceMappingURL=json-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-converter.d.ts","sourceRoot":"","sources":["../../../src/core/converters/json-converter.ts"],"names":[],"mappings":"AAOA,qBAAa,aAAa;IACxB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAkBrC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB5D,OAAO,CAAC,mBAAmB;CAgB5B"}
@@ -0,0 +1,51 @@
1
+ import { readFileSync } from 'fs';
2
+ import path from 'path';
3
+ import { MarkdownParser } from '../parsers/markdown-parser.js';
4
+ import { ChangeParser } from '../parsers/change-parser.js';
5
+ import { FileSystemUtils } from '../../utils/file-system.js';
6
+ export class JsonConverter {
7
+ convertSpecToJson(filePath) {
8
+ const content = readFileSync(filePath, 'utf-8');
9
+ const parser = new MarkdownParser(content);
10
+ const specName = this.extractNameFromPath(filePath);
11
+ const spec = parser.parseSpec(specName);
12
+ const jsonSpec = {
13
+ ...spec,
14
+ metadata: {
15
+ ...spec.metadata,
16
+ sourcePath: filePath,
17
+ },
18
+ };
19
+ return JSON.stringify(jsonSpec, null, 2);
20
+ }
21
+ async convertChangeToJson(filePath) {
22
+ const content = readFileSync(filePath, 'utf-8');
23
+ const changeName = this.extractNameFromPath(filePath);
24
+ const changeDir = path.dirname(filePath);
25
+ const parser = new ChangeParser(content, changeDir);
26
+ const change = await parser.parseChangeWithDeltas(changeName);
27
+ const jsonChange = {
28
+ ...change,
29
+ metadata: {
30
+ ...change.metadata,
31
+ sourcePath: filePath,
32
+ },
33
+ };
34
+ return JSON.stringify(jsonChange, null, 2);
35
+ }
36
+ extractNameFromPath(filePath) {
37
+ const normalizedPath = FileSystemUtils.toPosixPath(filePath);
38
+ const parts = normalizedPath.split('/');
39
+ for (let i = parts.length - 1; i >= 0; i--) {
40
+ if (parts[i] === 'specs' || parts[i] === 'changes') {
41
+ if (i < parts.length - 1) {
42
+ return parts[i + 1];
43
+ }
44
+ }
45
+ }
46
+ const fileName = parts[parts.length - 1] ?? '';
47
+ const dotIndex = fileName.lastIndexOf('.');
48
+ return dotIndex > 0 ? fileName.slice(0, dotIndex) : fileName;
49
+ }
50
+ }
51
+ //# sourceMappingURL=json-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-converter.js","sourceRoot":"","sources":["../../../src/core/converters/json-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,OAAO,aAAa;IACxB,iBAAiB,CAAC,QAAgB;QAChC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG;YACf,GAAG,IAAI;YACP,QAAQ,EAAE;gBACR,GAAG,IAAI,CAAC,QAAQ;gBAChB,UAAU,EAAE,QAAQ;aACrB;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACxC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAE9D,MAAM,UAAU,GAAG;YACjB,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,GAAG,MAAM,CAAC,QAAQ;gBAClB,UAAU,EAAE,QAAQ;aACrB;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,mBAAmB,CAAC,QAAgB;QAC1C,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACnD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/D,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ export declare const GLOBAL_CONFIG_DIR_NAME = "prompter";
2
+ export declare const GLOBAL_CONFIG_FILE_NAME = "config.json";
3
+ export declare const GLOBAL_DATA_DIR_NAME = "prompter";
4
+ export interface GlobalConfig {
5
+ featureFlags?: Record<string, boolean>;
6
+ }
7
+ /**
8
+ * Gets the global configuration directory path following XDG Base Directory Specification.
9
+ *
10
+ * - All platforms: $XDG_CONFIG_HOME/prompter/ if XDG_CONFIG_HOME is set
11
+ * - Unix/macOS fallback: ~/.config/prompter/
12
+ * - Windows fallback: %APPDATA%/prompter/
13
+ */
14
+ export declare function getGlobalConfigDir(): string;
15
+ /**
16
+ * Gets the global data directory path following XDG Base Directory Specification.
17
+ * Used for user data like schema overrides.
18
+ *
19
+ * - All platforms: $XDG_DATA_HOME/prompter/ if XDG_DATA_HOME is set
20
+ * - Unix/macOS fallback: ~/.local/share/prompter/
21
+ * - Windows fallback: %LOCALAPPDATA%/prompter/
22
+ */
23
+ export declare function getGlobalDataDir(): string;
24
+ /**
25
+ * Gets the path to the global config file.
26
+ */
27
+ export declare function getGlobalConfigPath(): string;
28
+ /**
29
+ * Loads the global configuration from disk.
30
+ * Returns default configuration if file doesn't exist or is invalid.
31
+ * Merges loaded config with defaults to ensure new fields are available.
32
+ */
33
+ export declare function getGlobalConfig(): GlobalConfig;
34
+ /**
35
+ * Saves the global configuration to disk.
36
+ * Creates the config directory if it doesn't exist.
37
+ */
38
+ export declare function saveGlobalConfig(config: GlobalConfig): void;
39
+ //# sourceMappingURL=global-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/core/global-config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAqB3C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAqBzC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CA4B9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAU3D"}
@@ -0,0 +1,115 @@
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ import * as os from 'node:os';
4
+ // Constants
5
+ export const GLOBAL_CONFIG_DIR_NAME = 'prompter';
6
+ export const GLOBAL_CONFIG_FILE_NAME = 'config.json';
7
+ export const GLOBAL_DATA_DIR_NAME = 'prompter';
8
+ const DEFAULT_CONFIG = {
9
+ featureFlags: {}
10
+ };
11
+ /**
12
+ * Gets the global configuration directory path following XDG Base Directory Specification.
13
+ *
14
+ * - All platforms: $XDG_CONFIG_HOME/prompter/ if XDG_CONFIG_HOME is set
15
+ * - Unix/macOS fallback: ~/.config/prompter/
16
+ * - Windows fallback: %APPDATA%/prompter/
17
+ */
18
+ export function getGlobalConfigDir() {
19
+ // XDG_CONFIG_HOME takes precedence on all platforms when explicitly set
20
+ const xdgConfigHome = process.env.XDG_CONFIG_HOME;
21
+ if (xdgConfigHome) {
22
+ return path.join(xdgConfigHome, GLOBAL_CONFIG_DIR_NAME);
23
+ }
24
+ const platform = os.platform();
25
+ if (platform === 'win32') {
26
+ // Windows: use %APPDATA%
27
+ const appData = process.env.APPDATA;
28
+ if (appData) {
29
+ return path.join(appData, GLOBAL_CONFIG_DIR_NAME);
30
+ }
31
+ // Fallback for Windows if APPDATA is not set
32
+ return path.join(os.homedir(), 'AppData', 'Roaming', GLOBAL_CONFIG_DIR_NAME);
33
+ }
34
+ // Unix/macOS fallback: ~/.config
35
+ return path.join(os.homedir(), '.config', GLOBAL_CONFIG_DIR_NAME);
36
+ }
37
+ /**
38
+ * Gets the global data directory path following XDG Base Directory Specification.
39
+ * Used for user data like schema overrides.
40
+ *
41
+ * - All platforms: $XDG_DATA_HOME/prompter/ if XDG_DATA_HOME is set
42
+ * - Unix/macOS fallback: ~/.local/share/prompter/
43
+ * - Windows fallback: %LOCALAPPDATA%/prompter/
44
+ */
45
+ export function getGlobalDataDir() {
46
+ // XDG_DATA_HOME takes precedence on all platforms when explicitly set
47
+ const xdgDataHome = process.env.XDG_DATA_HOME;
48
+ if (xdgDataHome) {
49
+ return path.join(xdgDataHome, GLOBAL_DATA_DIR_NAME);
50
+ }
51
+ const platform = os.platform();
52
+ if (platform === 'win32') {
53
+ // Windows: use %LOCALAPPDATA%
54
+ const localAppData = process.env.LOCALAPPDATA;
55
+ if (localAppData) {
56
+ return path.join(localAppData, GLOBAL_DATA_DIR_NAME);
57
+ }
58
+ // Fallback for Windows if LOCALAPPDATA is not set
59
+ return path.join(os.homedir(), 'AppData', 'Local', GLOBAL_DATA_DIR_NAME);
60
+ }
61
+ // Unix/macOS fallback: ~/.local/share
62
+ return path.join(os.homedir(), '.local', 'share', GLOBAL_DATA_DIR_NAME);
63
+ }
64
+ /**
65
+ * Gets the path to the global config file.
66
+ */
67
+ export function getGlobalConfigPath() {
68
+ return path.join(getGlobalConfigDir(), GLOBAL_CONFIG_FILE_NAME);
69
+ }
70
+ /**
71
+ * Loads the global configuration from disk.
72
+ * Returns default configuration if file doesn't exist or is invalid.
73
+ * Merges loaded config with defaults to ensure new fields are available.
74
+ */
75
+ export function getGlobalConfig() {
76
+ const configPath = getGlobalConfigPath();
77
+ try {
78
+ if (!fs.existsSync(configPath)) {
79
+ return { ...DEFAULT_CONFIG };
80
+ }
81
+ const content = fs.readFileSync(configPath, 'utf-8');
82
+ const parsed = JSON.parse(content);
83
+ // Merge with defaults (loaded values take precedence)
84
+ return {
85
+ ...DEFAULT_CONFIG,
86
+ ...parsed,
87
+ // Deep merge featureFlags
88
+ featureFlags: {
89
+ ...DEFAULT_CONFIG.featureFlags,
90
+ ...(parsed.featureFlags || {})
91
+ }
92
+ };
93
+ }
94
+ catch (error) {
95
+ // Log warning for parse errors, but not for missing files
96
+ if (error instanceof SyntaxError) {
97
+ console.error(`Warning: Invalid JSON in ${configPath}, using defaults`);
98
+ }
99
+ return { ...DEFAULT_CONFIG };
100
+ }
101
+ }
102
+ /**
103
+ * Saves the global configuration to disk.
104
+ * Creates the config directory if it doesn't exist.
105
+ */
106
+ export function saveGlobalConfig(config) {
107
+ const configDir = getGlobalConfigDir();
108
+ const configPath = getGlobalConfigPath();
109
+ // Create directory if it doesn't exist
110
+ if (!fs.existsSync(configDir)) {
111
+ fs.mkdirSync(configDir, { recursive: true });
112
+ }
113
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
114
+ }
115
+ //# sourceMappingURL=global-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/core/global-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { MarkdownParser } from './markdown-parser.js';
2
+ import { Change } from '../schemas/index.js';
3
+ export declare class ChangeParser extends MarkdownParser {
4
+ private changeDir;
5
+ constructor(content: string, changeDir: string);
6
+ parseChangeWithDeltas(name: string): Promise<Change>;
7
+ private parseDeltaSpecs;
8
+ private parseSpecDeltas;
9
+ private parseRenames;
10
+ private parseSectionsFromContent;
11
+ private getContentUntilNextHeaderFromLines;
12
+ }
13
+ //# sourceMappingURL=change-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-parser.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/change-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAW,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAsC,MAAM,qBAAqB,CAAC;AAUjF,qBAAa,YAAa,SAAQ,cAAc;IAC9C,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKxC,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAmC5C,eAAe;IA6B7B,OAAO,CAAC,eAAe;IAmEvB,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,wBAAwB;IAuChC,OAAO,CAAC,kCAAkC;CAgB3C"}
@@ -0,0 +1,193 @@
1
+ import { MarkdownParser } from './markdown-parser.js';
2
+ import path from 'path';
3
+ import { promises as fs } from 'fs';
4
+ export class ChangeParser extends MarkdownParser {
5
+ changeDir;
6
+ constructor(content, changeDir) {
7
+ super(content);
8
+ this.changeDir = changeDir;
9
+ }
10
+ async parseChangeWithDeltas(name) {
11
+ const sections = this.parseSections();
12
+ const why = this.findSection(sections, 'Why')?.content || '';
13
+ const whatChanges = this.findSection(sections, 'What Changes')?.content || '';
14
+ if (!why) {
15
+ throw new Error('Change must have a Why section');
16
+ }
17
+ if (!whatChanges) {
18
+ throw new Error('Change must have a What Changes section');
19
+ }
20
+ // Parse deltas from the What Changes section (simple format)
21
+ const simpleDeltas = this.parseDeltas(whatChanges);
22
+ // Check if there are spec files with delta format
23
+ const specsDir = path.join(this.changeDir, 'specs');
24
+ const deltaDeltas = await this.parseDeltaSpecs(specsDir);
25
+ // Combine both types of deltas, preferring delta format if available
26
+ const deltas = deltaDeltas.length > 0 ? deltaDeltas : simpleDeltas;
27
+ return {
28
+ name,
29
+ why: why.trim(),
30
+ whatChanges: whatChanges.trim(),
31
+ deltas,
32
+ metadata: {
33
+ version: '1.0.0',
34
+ format: 'prompter-change',
35
+ },
36
+ };
37
+ }
38
+ async parseDeltaSpecs(specsDir) {
39
+ const deltas = [];
40
+ try {
41
+ const specDirs = await fs.readdir(specsDir, { withFileTypes: true });
42
+ for (const dir of specDirs) {
43
+ if (!dir.isDirectory())
44
+ continue;
45
+ const specName = dir.name;
46
+ const specFile = path.join(specsDir, specName, 'spec.md');
47
+ try {
48
+ const content = await fs.readFile(specFile, 'utf-8');
49
+ const specDeltas = this.parseSpecDeltas(specName, content);
50
+ deltas.push(...specDeltas);
51
+ }
52
+ catch (error) {
53
+ // Spec file might not exist, which is okay
54
+ continue;
55
+ }
56
+ }
57
+ }
58
+ catch (error) {
59
+ // Specs directory might not exist, which is okay
60
+ return [];
61
+ }
62
+ return deltas;
63
+ }
64
+ parseSpecDeltas(specName, content) {
65
+ const deltas = [];
66
+ const sections = this.parseSectionsFromContent(content);
67
+ // Parse ADDED requirements
68
+ const addedSection = this.findSection(sections, 'ADDED Requirements');
69
+ if (addedSection) {
70
+ const requirements = this.parseRequirements(addedSection);
71
+ requirements.forEach(req => {
72
+ deltas.push({
73
+ spec: specName,
74
+ operation: 'ADDED',
75
+ description: `Add requirement: ${req.text}`,
76
+ // Provide both single and plural forms for compatibility
77
+ requirement: req,
78
+ requirements: [req],
79
+ });
80
+ });
81
+ }
82
+ // Parse MODIFIED requirements
83
+ const modifiedSection = this.findSection(sections, 'MODIFIED Requirements');
84
+ if (modifiedSection) {
85
+ const requirements = this.parseRequirements(modifiedSection);
86
+ requirements.forEach(req => {
87
+ deltas.push({
88
+ spec: specName,
89
+ operation: 'MODIFIED',
90
+ description: `Modify requirement: ${req.text}`,
91
+ requirement: req,
92
+ requirements: [req],
93
+ });
94
+ });
95
+ }
96
+ // Parse REMOVED requirements
97
+ const removedSection = this.findSection(sections, 'REMOVED Requirements');
98
+ if (removedSection) {
99
+ const requirements = this.parseRequirements(removedSection);
100
+ requirements.forEach(req => {
101
+ deltas.push({
102
+ spec: specName,
103
+ operation: 'REMOVED',
104
+ description: `Remove requirement: ${req.text}`,
105
+ requirement: req,
106
+ requirements: [req],
107
+ });
108
+ });
109
+ }
110
+ // Parse RENAMED requirements
111
+ const renamedSection = this.findSection(sections, 'RENAMED Requirements');
112
+ if (renamedSection) {
113
+ const renames = this.parseRenames(renamedSection.content);
114
+ renames.forEach(rename => {
115
+ deltas.push({
116
+ spec: specName,
117
+ operation: 'RENAMED',
118
+ description: `Rename requirement from "${rename.from}" to "${rename.to}"`,
119
+ rename,
120
+ });
121
+ });
122
+ }
123
+ return deltas;
124
+ }
125
+ parseRenames(content) {
126
+ const renames = [];
127
+ const lines = ChangeParser.normalizeContent(content).split('\n');
128
+ let currentRename = {};
129
+ for (const line of lines) {
130
+ const fromMatch = line.match(/^\s*-?\s*FROM:\s*`?###\s*Requirement:\s*(.+?)`?\s*$/);
131
+ const toMatch = line.match(/^\s*-?\s*TO:\s*`?###\s*Requirement:\s*(.+?)`?\s*$/);
132
+ if (fromMatch) {
133
+ currentRename.from = fromMatch[1].trim();
134
+ }
135
+ else if (toMatch) {
136
+ currentRename.to = toMatch[1].trim();
137
+ if (currentRename.from && currentRename.to) {
138
+ renames.push({
139
+ from: currentRename.from,
140
+ to: currentRename.to,
141
+ });
142
+ currentRename = {};
143
+ }
144
+ }
145
+ }
146
+ return renames;
147
+ }
148
+ parseSectionsFromContent(content) {
149
+ const normalizedContent = ChangeParser.normalizeContent(content);
150
+ const lines = normalizedContent.split('\n');
151
+ const sections = [];
152
+ const stack = [];
153
+ for (let i = 0; i < lines.length; i++) {
154
+ const line = lines[i];
155
+ const headerMatch = line.match(/^(#{1,6})\s+(.+)$/);
156
+ if (headerMatch) {
157
+ const level = headerMatch[1].length;
158
+ const title = headerMatch[2].trim();
159
+ const contentLines = this.getContentUntilNextHeaderFromLines(lines, i + 1, level);
160
+ const section = {
161
+ level,
162
+ title,
163
+ content: contentLines.join('\n').trim(),
164
+ children: [],
165
+ };
166
+ while (stack.length > 0 && stack[stack.length - 1].level >= level) {
167
+ stack.pop();
168
+ }
169
+ if (stack.length === 0) {
170
+ sections.push(section);
171
+ }
172
+ else {
173
+ stack[stack.length - 1].children.push(section);
174
+ }
175
+ stack.push(section);
176
+ }
177
+ }
178
+ return sections;
179
+ }
180
+ getContentUntilNextHeaderFromLines(lines, startLine, currentLevel) {
181
+ const contentLines = [];
182
+ for (let i = startLine; i < lines.length; i++) {
183
+ const line = lines[i];
184
+ const headerMatch = line.match(/^(#{1,6})\s+/);
185
+ if (headerMatch && headerMatch[1].length <= currentLevel) {
186
+ break;
187
+ }
188
+ contentLines.push(line);
189
+ }
190
+ return contentLines;
191
+ }
192
+ }
193
+ //# sourceMappingURL=change-parser.js.map