raptor-aios 0.1.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 (719) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/LICENSE +21 -0
  3. package/README.md +315 -0
  4. package/bin/raptor.js +5 -0
  5. package/dist/_core/dist/agents/adapters/antigravity.d.ts +9 -0
  6. package/dist/_core/dist/agents/adapters/antigravity.d.ts.map +1 -0
  7. package/dist/_core/dist/agents/adapters/antigravity.js +72 -0
  8. package/dist/_core/dist/agents/adapters/antigravity.js.map +1 -0
  9. package/dist/_core/dist/agents/adapters/claude-code.d.ts +9 -0
  10. package/dist/_core/dist/agents/adapters/claude-code.d.ts.map +1 -0
  11. package/dist/_core/dist/agents/adapters/claude-code.js +71 -0
  12. package/dist/_core/dist/agents/adapters/claude-code.js.map +1 -0
  13. package/dist/_core/dist/agents/adapters/codex.d.ts +12 -0
  14. package/dist/_core/dist/agents/adapters/codex.d.ts.map +1 -0
  15. package/dist/_core/dist/agents/adapters/codex.js +69 -0
  16. package/dist/_core/dist/agents/adapters/codex.js.map +1 -0
  17. package/dist/_core/dist/agents/adapters/copilot.d.ts +12 -0
  18. package/dist/_core/dist/agents/adapters/copilot.d.ts.map +1 -0
  19. package/dist/_core/dist/agents/adapters/copilot.js +71 -0
  20. package/dist/_core/dist/agents/adapters/copilot.js.map +1 -0
  21. package/dist/_core/dist/agents/adapters/cursor.d.ts +9 -0
  22. package/dist/_core/dist/agents/adapters/cursor.d.ts.map +1 -0
  23. package/dist/_core/dist/agents/adapters/cursor.js +62 -0
  24. package/dist/_core/dist/agents/adapters/cursor.js.map +1 -0
  25. package/dist/_core/dist/agents/adapters/gemini.d.ts +11 -0
  26. package/dist/_core/dist/agents/adapters/gemini.d.ts.map +1 -0
  27. package/dist/_core/dist/agents/adapters/gemini.js +68 -0
  28. package/dist/_core/dist/agents/adapters/gemini.js.map +1 -0
  29. package/dist/_core/dist/agents/adapters/human.d.ts +10 -0
  30. package/dist/_core/dist/agents/adapters/human.d.ts.map +1 -0
  31. package/dist/_core/dist/agents/adapters/human.js +48 -0
  32. package/dist/_core/dist/agents/adapters/human.js.map +1 -0
  33. package/dist/_core/dist/agents/artifact-watcher.d.ts +86 -0
  34. package/dist/_core/dist/agents/artifact-watcher.d.ts.map +1 -0
  35. package/dist/_core/dist/agents/artifact-watcher.js +214 -0
  36. package/dist/_core/dist/agents/artifact-watcher.js.map +1 -0
  37. package/dist/_core/dist/agents/backup.d.ts +69 -0
  38. package/dist/_core/dist/agents/backup.d.ts.map +1 -0
  39. package/dist/_core/dist/agents/backup.js +107 -0
  40. package/dist/_core/dist/agents/backup.js.map +1 -0
  41. package/dist/_core/dist/agents/config.d.ts +36 -0
  42. package/dist/_core/dist/agents/config.d.ts.map +1 -0
  43. package/dist/_core/dist/agents/config.js +270 -0
  44. package/dist/_core/dist/agents/config.js.map +1 -0
  45. package/dist/_core/dist/agents/context-file.d.ts +35 -0
  46. package/dist/_core/dist/agents/context-file.d.ts.map +1 -0
  47. package/dist/_core/dist/agents/context-file.js +106 -0
  48. package/dist/_core/dist/agents/context-file.js.map +1 -0
  49. package/dist/_core/dist/agents/handoff.d.ts +57 -0
  50. package/dist/_core/dist/agents/handoff.d.ts.map +1 -0
  51. package/dist/_core/dist/agents/handoff.js +71 -0
  52. package/dist/_core/dist/agents/handoff.js.map +1 -0
  53. package/dist/_core/dist/agents/index.d.ts +32 -0
  54. package/dist/_core/dist/agents/index.d.ts.map +1 -0
  55. package/dist/_core/dist/agents/index.js +37 -0
  56. package/dist/_core/dist/agents/index.js.map +1 -0
  57. package/dist/_core/dist/agents/keys.d.ts +50 -0
  58. package/dist/_core/dist/agents/keys.d.ts.map +1 -0
  59. package/dist/_core/dist/agents/keys.js +91 -0
  60. package/dist/_core/dist/agents/keys.js.map +1 -0
  61. package/dist/_core/dist/agents/materialize.d.ts +37 -0
  62. package/dist/_core/dist/agents/materialize.d.ts.map +1 -0
  63. package/dist/_core/dist/agents/materialize.js +157 -0
  64. package/dist/_core/dist/agents/materialize.js.map +1 -0
  65. package/dist/_core/dist/agents/prompt-builder.d.ts +35 -0
  66. package/dist/_core/dist/agents/prompt-builder.d.ts.map +1 -0
  67. package/dist/_core/dist/agents/prompt-builder.js +261 -0
  68. package/dist/_core/dist/agents/prompt-builder.js.map +1 -0
  69. package/dist/_core/dist/agents/prompt-markers.d.ts +69 -0
  70. package/dist/_core/dist/agents/prompt-markers.d.ts.map +1 -0
  71. package/dist/_core/dist/agents/prompt-markers.js +111 -0
  72. package/dist/_core/dist/agents/prompt-markers.js.map +1 -0
  73. package/dist/_core/dist/agents/registry.d.ts +35 -0
  74. package/dist/_core/dist/agents/registry.d.ts.map +1 -0
  75. package/dist/_core/dist/agents/registry.js +102 -0
  76. package/dist/_core/dist/agents/registry.js.map +1 -0
  77. package/dist/_core/dist/agents/selector.d.ts +33 -0
  78. package/dist/_core/dist/agents/selector.d.ts.map +1 -0
  79. package/dist/_core/dist/agents/selector.js +120 -0
  80. package/dist/_core/dist/agents/selector.js.map +1 -0
  81. package/dist/_core/dist/agents/slash-materializer.d.ts +63 -0
  82. package/dist/_core/dist/agents/slash-materializer.d.ts.map +1 -0
  83. package/dist/_core/dist/agents/slash-materializer.js +131 -0
  84. package/dist/_core/dist/agents/slash-materializer.js.map +1 -0
  85. package/dist/_core/dist/agents/types.d.ts +121 -0
  86. package/dist/_core/dist/agents/types.d.ts.map +1 -0
  87. package/dist/_core/dist/agents/types.js +10 -0
  88. package/dist/_core/dist/agents/types.js.map +1 -0
  89. package/dist/_core/dist/audit/hash.d.ts +4 -0
  90. package/dist/_core/dist/audit/hash.d.ts.map +1 -0
  91. package/dist/_core/dist/audit/hash.js +12 -0
  92. package/dist/_core/dist/audit/hash.js.map +1 -0
  93. package/dist/_core/dist/audit/index.d.ts +6 -0
  94. package/dist/_core/dist/audit/index.d.ts.map +1 -0
  95. package/dist/_core/dist/audit/index.js +6 -0
  96. package/dist/_core/dist/audit/index.js.map +1 -0
  97. package/dist/_core/dist/audit/logger.d.ts +77 -0
  98. package/dist/_core/dist/audit/logger.d.ts.map +1 -0
  99. package/dist/_core/dist/audit/logger.js +93 -0
  100. package/dist/_core/dist/audit/logger.js.map +1 -0
  101. package/dist/_core/dist/audit/query.d.ts +13 -0
  102. package/dist/_core/dist/audit/query.d.ts.map +1 -0
  103. package/dist/_core/dist/audit/query.js +57 -0
  104. package/dist/_core/dist/audit/query.js.map +1 -0
  105. package/dist/_core/dist/audit/schema.d.ts +455 -0
  106. package/dist/_core/dist/audit/schema.d.ts.map +1 -0
  107. package/dist/_core/dist/audit/schema.js +341 -0
  108. package/dist/_core/dist/audit/schema.js.map +1 -0
  109. package/dist/_core/dist/audit/validate.d.ts +21 -0
  110. package/dist/_core/dist/audit/validate.d.ts.map +1 -0
  111. package/dist/_core/dist/audit/validate.js +139 -0
  112. package/dist/_core/dist/audit/validate.js.map +1 -0
  113. package/dist/_core/dist/constitution/core.d.ts +22 -0
  114. package/dist/_core/dist/constitution/core.d.ts.map +1 -0
  115. package/dist/_core/dist/constitution/core.js +102 -0
  116. package/dist/_core/dist/constitution/core.js.map +1 -0
  117. package/dist/_core/dist/constitution/index.d.ts +2 -0
  118. package/dist/_core/dist/constitution/index.d.ts.map +1 -0
  119. package/dist/_core/dist/constitution/index.js +2 -0
  120. package/dist/_core/dist/constitution/index.js.map +1 -0
  121. package/dist/_core/dist/extensions/index.d.ts +12 -0
  122. package/dist/_core/dist/extensions/index.d.ts.map +1 -0
  123. package/dist/_core/dist/extensions/index.js +12 -0
  124. package/dist/_core/dist/extensions/index.js.map +1 -0
  125. package/dist/_core/dist/extensions/integrate.d.ts +69 -0
  126. package/dist/_core/dist/extensions/integrate.d.ts.map +1 -0
  127. package/dist/_core/dist/extensions/integrate.js +181 -0
  128. package/dist/_core/dist/extensions/integrate.js.map +1 -0
  129. package/dist/_core/dist/extensions/loader.d.ts +24 -0
  130. package/dist/_core/dist/extensions/loader.d.ts.map +1 -0
  131. package/dist/_core/dist/extensions/loader.js +73 -0
  132. package/dist/_core/dist/extensions/loader.js.map +1 -0
  133. package/dist/_core/dist/extensions/manifest.d.ts +23 -0
  134. package/dist/_core/dist/extensions/manifest.d.ts.map +1 -0
  135. package/dist/_core/dist/extensions/manifest.js +176 -0
  136. package/dist/_core/dist/extensions/manifest.js.map +1 -0
  137. package/dist/_core/dist/extensions/registry.d.ts +32 -0
  138. package/dist/_core/dist/extensions/registry.d.ts.map +1 -0
  139. package/dist/_core/dist/extensions/registry.js +57 -0
  140. package/dist/_core/dist/extensions/registry.js.map +1 -0
  141. package/dist/_core/dist/extensions/resolver.d.ts +55 -0
  142. package/dist/_core/dist/extensions/resolver.d.ts.map +1 -0
  143. package/dist/_core/dist/extensions/resolver.js +143 -0
  144. package/dist/_core/dist/extensions/resolver.js.map +1 -0
  145. package/dist/_core/dist/extensions/types.d.ts +173 -0
  146. package/dist/_core/dist/extensions/types.d.ts.map +1 -0
  147. package/dist/_core/dist/extensions/types.js +83 -0
  148. package/dist/_core/dist/extensions/types.js.map +1 -0
  149. package/dist/_core/dist/frontmatter/index.d.ts +10 -0
  150. package/dist/_core/dist/frontmatter/index.d.ts.map +1 -0
  151. package/dist/_core/dist/frontmatter/index.js +24 -0
  152. package/dist/_core/dist/frontmatter/index.js.map +1 -0
  153. package/dist/_core/dist/gates/agent-gates.d.ts +16 -0
  154. package/dist/_core/dist/gates/agent-gates.d.ts.map +1 -0
  155. package/dist/_core/dist/gates/agent-gates.js +205 -0
  156. package/dist/_core/dist/gates/agent-gates.js.map +1 -0
  157. package/dist/_core/dist/gates/builtin.d.ts +18 -0
  158. package/dist/_core/dist/gates/builtin.d.ts.map +1 -0
  159. package/dist/_core/dist/gates/builtin.js +860 -0
  160. package/dist/_core/dist/gates/builtin.js.map +1 -0
  161. package/dist/_core/dist/gates/index.d.ts +7 -0
  162. package/dist/_core/dist/gates/index.d.ts.map +1 -0
  163. package/dist/_core/dist/gates/index.js +7 -0
  164. package/dist/_core/dist/gates/index.js.map +1 -0
  165. package/dist/_core/dist/gates/m7-gates.d.ts +17 -0
  166. package/dist/_core/dist/gates/m7-gates.d.ts.map +1 -0
  167. package/dist/_core/dist/gates/m7-gates.js +309 -0
  168. package/dist/_core/dist/gates/m7-gates.js.map +1 -0
  169. package/dist/_core/dist/gates/phase-gates.d.ts +18 -0
  170. package/dist/_core/dist/gates/phase-gates.d.ts.map +1 -0
  171. package/dist/_core/dist/gates/phase-gates.js +275 -0
  172. package/dist/_core/dist/gates/phase-gates.js.map +1 -0
  173. package/dist/_core/dist/gates/runner.d.ts +4 -0
  174. package/dist/_core/dist/gates/runner.d.ts.map +1 -0
  175. package/dist/_core/dist/gates/runner.js +64 -0
  176. package/dist/_core/dist/gates/runner.js.map +1 -0
  177. package/dist/_core/dist/gates/types.d.ts +36 -0
  178. package/dist/_core/dist/gates/types.d.ts.map +1 -0
  179. package/dist/_core/dist/gates/types.js +2 -0
  180. package/dist/_core/dist/gates/types.js.map +1 -0
  181. package/dist/_core/dist/hooks/index.d.ts +4 -0
  182. package/dist/_core/dist/hooks/index.d.ts.map +1 -0
  183. package/dist/_core/dist/hooks/index.js +4 -0
  184. package/dist/_core/dist/hooks/index.js.map +1 -0
  185. package/dist/_core/dist/hooks/runner.d.ts +28 -0
  186. package/dist/_core/dist/hooks/runner.d.ts.map +1 -0
  187. package/dist/_core/dist/hooks/runner.js +294 -0
  188. package/dist/_core/dist/hooks/runner.js.map +1 -0
  189. package/dist/_core/dist/hooks/runtime.d.ts +65 -0
  190. package/dist/_core/dist/hooks/runtime.d.ts.map +1 -0
  191. package/dist/_core/dist/hooks/runtime.js +212 -0
  192. package/dist/_core/dist/hooks/runtime.js.map +1 -0
  193. package/dist/_core/dist/hooks/types.d.ts +36 -0
  194. package/dist/_core/dist/hooks/types.d.ts.map +1 -0
  195. package/dist/_core/dist/hooks/types.js +23 -0
  196. package/dist/_core/dist/hooks/types.js.map +1 -0
  197. package/dist/_core/dist/index.d.ts +21 -0
  198. package/dist/_core/dist/index.d.ts.map +1 -0
  199. package/dist/_core/dist/index.js +20 -0
  200. package/dist/_core/dist/index.js.map +1 -0
  201. package/dist/_core/dist/manifest/index.d.ts +119 -0
  202. package/dist/_core/dist/manifest/index.d.ts.map +1 -0
  203. package/dist/_core/dist/manifest/index.js +125 -0
  204. package/dist/_core/dist/manifest/index.js.map +1 -0
  205. package/dist/_core/dist/markers/index.d.ts +47 -0
  206. package/dist/_core/dist/markers/index.d.ts.map +1 -0
  207. package/dist/_core/dist/markers/index.js +97 -0
  208. package/dist/_core/dist/markers/index.js.map +1 -0
  209. package/dist/_core/dist/mcp/config.d.ts +19 -0
  210. package/dist/_core/dist/mcp/config.d.ts.map +1 -0
  211. package/dist/_core/dist/mcp/config.js +114 -0
  212. package/dist/_core/dist/mcp/config.js.map +1 -0
  213. package/dist/_core/dist/mcp/index.d.ts +9 -0
  214. package/dist/_core/dist/mcp/index.d.ts.map +1 -0
  215. package/dist/_core/dist/mcp/index.js +8 -0
  216. package/dist/_core/dist/mcp/index.js.map +1 -0
  217. package/dist/_core/dist/mcp/materializer.d.ts +40 -0
  218. package/dist/_core/dist/mcp/materializer.d.ts.map +1 -0
  219. package/dist/_core/dist/mcp/materializer.js +161 -0
  220. package/dist/_core/dist/mcp/materializer.js.map +1 -0
  221. package/dist/_core/dist/mcp/targets.d.ts +37 -0
  222. package/dist/_core/dist/mcp/targets.d.ts.map +1 -0
  223. package/dist/_core/dist/mcp/targets.js +56 -0
  224. package/dist/_core/dist/mcp/targets.js.map +1 -0
  225. package/dist/_core/dist/mcp/types.d.ts +34 -0
  226. package/dist/_core/dist/mcp/types.d.ts.map +1 -0
  227. package/dist/_core/dist/mcp/types.js +8 -0
  228. package/dist/_core/dist/mcp/types.js.map +1 -0
  229. package/dist/_core/dist/models/analyze.d.ts +131 -0
  230. package/dist/_core/dist/models/analyze.d.ts.map +1 -0
  231. package/dist/_core/dist/models/analyze.js +301 -0
  232. package/dist/_core/dist/models/analyze.js.map +1 -0
  233. package/dist/_core/dist/models/checklist.d.ts +113 -0
  234. package/dist/_core/dist/models/checklist.d.ts.map +1 -0
  235. package/dist/_core/dist/models/checklist.js +159 -0
  236. package/dist/_core/dist/models/checklist.js.map +1 -0
  237. package/dist/_core/dist/models/clarify.d.ts +116 -0
  238. package/dist/_core/dist/models/clarify.d.ts.map +1 -0
  239. package/dist/_core/dist/models/clarify.js +166 -0
  240. package/dist/_core/dist/models/clarify.js.map +1 -0
  241. package/dist/_core/dist/models/impl-log.d.ts +64 -0
  242. package/dist/_core/dist/models/impl-log.d.ts.map +1 -0
  243. package/dist/_core/dist/models/impl-log.js +137 -0
  244. package/dist/_core/dist/models/impl-log.js.map +1 -0
  245. package/dist/_core/dist/models/index.d.ts +8 -0
  246. package/dist/_core/dist/models/index.d.ts.map +1 -0
  247. package/dist/_core/dist/models/index.js +8 -0
  248. package/dist/_core/dist/models/index.js.map +1 -0
  249. package/dist/_core/dist/models/plan.d.ts +24 -0
  250. package/dist/_core/dist/models/plan.d.ts.map +1 -0
  251. package/dist/_core/dist/models/plan.js +15 -0
  252. package/dist/_core/dist/models/plan.js.map +1 -0
  253. package/dist/_core/dist/models/spec.d.ts +23 -0
  254. package/dist/_core/dist/models/spec.d.ts.map +1 -0
  255. package/dist/_core/dist/models/spec.js +22 -0
  256. package/dist/_core/dist/models/spec.js.map +1 -0
  257. package/dist/_core/dist/models/tasks.d.ts +33 -0
  258. package/dist/_core/dist/models/tasks.d.ts.map +1 -0
  259. package/dist/_core/dist/models/tasks.js +78 -0
  260. package/dist/_core/dist/models/tasks.js.map +1 -0
  261. package/dist/_core/dist/presets/gates.d.ts +9 -0
  262. package/dist/_core/dist/presets/gates.d.ts.map +1 -0
  263. package/dist/_core/dist/presets/gates.js +173 -0
  264. package/dist/_core/dist/presets/gates.js.map +1 -0
  265. package/dist/_core/dist/presets/index.d.ts +10 -0
  266. package/dist/_core/dist/presets/index.d.ts.map +1 -0
  267. package/dist/_core/dist/presets/index.js +7 -0
  268. package/dist/_core/dist/presets/index.js.map +1 -0
  269. package/dist/_core/dist/presets/loader.d.ts +56 -0
  270. package/dist/_core/dist/presets/loader.d.ts.map +1 -0
  271. package/dist/_core/dist/presets/loader.js +216 -0
  272. package/dist/_core/dist/presets/loader.js.map +1 -0
  273. package/dist/_core/dist/presets/mobile-opinionated.d.ts +3 -0
  274. package/dist/_core/dist/presets/mobile-opinionated.d.ts.map +1 -0
  275. package/dist/_core/dist/presets/mobile-opinionated.js +78 -0
  276. package/dist/_core/dist/presets/mobile-opinionated.js.map +1 -0
  277. package/dist/_core/dist/presets/registry.d.ts +5 -0
  278. package/dist/_core/dist/presets/registry.d.ts.map +1 -0
  279. package/dist/_core/dist/presets/registry.js +14 -0
  280. package/dist/_core/dist/presets/registry.js.map +1 -0
  281. package/dist/_core/dist/presets/renderer.d.ts +5 -0
  282. package/dist/_core/dist/presets/renderer.d.ts.map +1 -0
  283. package/dist/_core/dist/presets/renderer.js +37 -0
  284. package/dist/_core/dist/presets/renderer.js.map +1 -0
  285. package/dist/_core/dist/presets/stacking.d.ts +29 -0
  286. package/dist/_core/dist/presets/stacking.d.ts.map +1 -0
  287. package/dist/_core/dist/presets/stacking.js +91 -0
  288. package/dist/_core/dist/presets/stacking.js.map +1 -0
  289. package/dist/_core/dist/presets/types.d.ts +22 -0
  290. package/dist/_core/dist/presets/types.d.ts.map +1 -0
  291. package/dist/_core/dist/presets/types.js +2 -0
  292. package/dist/_core/dist/presets/types.js.map +1 -0
  293. package/dist/_core/dist/prompts/audit-log.d.ts +73 -0
  294. package/dist/_core/dist/prompts/audit-log.d.ts.map +1 -0
  295. package/dist/_core/dist/prompts/audit-log.js +73 -0
  296. package/dist/_core/dist/prompts/audit-log.js.map +1 -0
  297. package/dist/_core/dist/prompts/index.d.ts +9 -0
  298. package/dist/_core/dist/prompts/index.d.ts.map +1 -0
  299. package/dist/_core/dist/prompts/index.js +7 -0
  300. package/dist/_core/dist/prompts/index.js.map +1 -0
  301. package/dist/_core/dist/prompts/renderer.d.ts +73 -0
  302. package/dist/_core/dist/prompts/renderer.d.ts.map +1 -0
  303. package/dist/_core/dist/prompts/renderer.js +179 -0
  304. package/dist/_core/dist/prompts/renderer.js.map +1 -0
  305. package/dist/_core/dist/prompts/resumption.d.ts +59 -0
  306. package/dist/_core/dist/prompts/resumption.d.ts.map +1 -0
  307. package/dist/_core/dist/prompts/resumption.js +149 -0
  308. package/dist/_core/dist/prompts/resumption.js.map +1 -0
  309. package/dist/_core/dist/skills/config.d.ts +27 -0
  310. package/dist/_core/dist/skills/config.d.ts.map +1 -0
  311. package/dist/_core/dist/skills/config.js +102 -0
  312. package/dist/_core/dist/skills/config.js.map +1 -0
  313. package/dist/_core/dist/skills/index.d.ts +9 -0
  314. package/dist/_core/dist/skills/index.d.ts.map +1 -0
  315. package/dist/_core/dist/skills/index.js +8 -0
  316. package/dist/_core/dist/skills/index.js.map +1 -0
  317. package/dist/_core/dist/skills/materializer.d.ts +45 -0
  318. package/dist/_core/dist/skills/materializer.d.ts.map +1 -0
  319. package/dist/_core/dist/skills/materializer.js +97 -0
  320. package/dist/_core/dist/skills/materializer.js.map +1 -0
  321. package/dist/_core/dist/skills/registry.d.ts +18 -0
  322. package/dist/_core/dist/skills/registry.d.ts.map +1 -0
  323. package/dist/_core/dist/skills/registry.js +36 -0
  324. package/dist/_core/dist/skills/registry.js.map +1 -0
  325. package/dist/_core/dist/skills/types.d.ts +39 -0
  326. package/dist/_core/dist/skills/types.d.ts.map +1 -0
  327. package/dist/_core/dist/skills/types.js +13 -0
  328. package/dist/_core/dist/skills/types.js.map +1 -0
  329. package/dist/_core/dist/state/feature.d.ts +58 -0
  330. package/dist/_core/dist/state/feature.d.ts.map +1 -0
  331. package/dist/_core/dist/state/feature.js +81 -0
  332. package/dist/_core/dist/state/feature.js.map +1 -0
  333. package/dist/_core/dist/state/index.d.ts +8 -0
  334. package/dist/_core/dist/state/index.d.ts.map +1 -0
  335. package/dist/_core/dist/state/index.js +6 -0
  336. package/dist/_core/dist/state/index.js.map +1 -0
  337. package/dist/_core/dist/state/init-options.d.ts +60 -0
  338. package/dist/_core/dist/state/init-options.d.ts.map +1 -0
  339. package/dist/_core/dist/state/init-options.js +74 -0
  340. package/dist/_core/dist/state/init-options.js.map +1 -0
  341. package/dist/_core/dist/template/engine.d.ts +7 -0
  342. package/dist/_core/dist/template/engine.d.ts.map +1 -0
  343. package/dist/_core/dist/template/engine.js +86 -0
  344. package/dist/_core/dist/template/engine.js.map +1 -0
  345. package/dist/_core/dist/template/helpers.d.ts +5 -0
  346. package/dist/_core/dist/template/helpers.d.ts.map +1 -0
  347. package/dist/_core/dist/template/helpers.js +59 -0
  348. package/dist/_core/dist/template/helpers.js.map +1 -0
  349. package/dist/_core/dist/template/index.d.ts +6 -0
  350. package/dist/_core/dist/template/index.d.ts.map +1 -0
  351. package/dist/_core/dist/template/index.js +6 -0
  352. package/dist/_core/dist/template/index.js.map +1 -0
  353. package/dist/_core/dist/template/loader.d.ts +36 -0
  354. package/dist/_core/dist/template/loader.d.ts.map +1 -0
  355. package/dist/_core/dist/template/loader.js +62 -0
  356. package/dist/_core/dist/template/loader.js.map +1 -0
  357. package/dist/_core/dist/template/parser.d.ts +3 -0
  358. package/dist/_core/dist/template/parser.d.ts.map +1 -0
  359. package/dist/_core/dist/template/parser.js +234 -0
  360. package/dist/_core/dist/template/parser.js.map +1 -0
  361. package/dist/_core/dist/template/types.d.ts +40 -0
  362. package/dist/_core/dist/template/types.d.ts.map +1 -0
  363. package/dist/_core/dist/template/types.js +14 -0
  364. package/dist/_core/dist/template/types.js.map +1 -0
  365. package/dist/_core/dist/verify/a11y.d.ts +36 -0
  366. package/dist/_core/dist/verify/a11y.d.ts.map +1 -0
  367. package/dist/_core/dist/verify/a11y.js +153 -0
  368. package/dist/_core/dist/verify/a11y.js.map +1 -0
  369. package/dist/_core/dist/verify/architecture.d.ts +37 -0
  370. package/dist/_core/dist/verify/architecture.d.ts.map +1 -0
  371. package/dist/_core/dist/verify/architecture.js +113 -0
  372. package/dist/_core/dist/verify/architecture.js.map +1 -0
  373. package/dist/_core/dist/verify/index.d.ts +10 -0
  374. package/dist/_core/dist/verify/index.d.ts.map +1 -0
  375. package/dist/_core/dist/verify/index.js +10 -0
  376. package/dist/_core/dist/verify/index.js.map +1 -0
  377. package/dist/_core/dist/verify/os-matrix.d.ts +35 -0
  378. package/dist/_core/dist/verify/os-matrix.d.ts.map +1 -0
  379. package/dist/_core/dist/verify/os-matrix.js +104 -0
  380. package/dist/_core/dist/verify/os-matrix.js.map +1 -0
  381. package/dist/_core/dist/verify/perf.d.ts +43 -0
  382. package/dist/_core/dist/verify/perf.d.ts.map +1 -0
  383. package/dist/_core/dist/verify/perf.js +69 -0
  384. package/dist/_core/dist/verify/perf.js.map +1 -0
  385. package/dist/_core/dist/verify/stores.d.ts +38 -0
  386. package/dist/_core/dist/verify/stores.d.ts.map +1 -0
  387. package/dist/_core/dist/verify/stores.js +57 -0
  388. package/dist/_core/dist/verify/stores.js.map +1 -0
  389. package/dist/_core/dist/version.d.ts +8 -0
  390. package/dist/_core/dist/version.d.ts.map +1 -0
  391. package/dist/_core/dist/version.js +11 -0
  392. package/dist/_core/dist/version.js.map +1 -0
  393. package/dist/_core/dist/workflows/bundled.d.ts +32 -0
  394. package/dist/_core/dist/workflows/bundled.d.ts.map +1 -0
  395. package/dist/_core/dist/workflows/bundled.js +254 -0
  396. package/dist/_core/dist/workflows/bundled.js.map +1 -0
  397. package/dist/_core/dist/workflows/engine.d.ts +74 -0
  398. package/dist/_core/dist/workflows/engine.d.ts.map +1 -0
  399. package/dist/_core/dist/workflows/engine.js +574 -0
  400. package/dist/_core/dist/workflows/engine.js.map +1 -0
  401. package/dist/_core/dist/workflows/expressions.d.ts +48 -0
  402. package/dist/_core/dist/workflows/expressions.d.ts.map +1 -0
  403. package/dist/_core/dist/workflows/expressions.js +336 -0
  404. package/dist/_core/dist/workflows/expressions.js.map +1 -0
  405. package/dist/_core/dist/workflows/index.d.ts +16 -0
  406. package/dist/_core/dist/workflows/index.d.ts.map +1 -0
  407. package/dist/_core/dist/workflows/index.js +15 -0
  408. package/dist/_core/dist/workflows/index.js.map +1 -0
  409. package/dist/_core/dist/workflows/parser.d.ts +38 -0
  410. package/dist/_core/dist/workflows/parser.d.ts.map +1 -0
  411. package/dist/_core/dist/workflows/parser.js +386 -0
  412. package/dist/_core/dist/workflows/parser.js.map +1 -0
  413. package/dist/_core/dist/workflows/sdd-flow.d.ts +85 -0
  414. package/dist/_core/dist/workflows/sdd-flow.d.ts.map +1 -0
  415. package/dist/_core/dist/workflows/sdd-flow.js +269 -0
  416. package/dist/_core/dist/workflows/sdd-flow.js.map +1 -0
  417. package/dist/_core/dist/workflows/types.d.ts +285 -0
  418. package/dist/_core/dist/workflows/types.d.ts.map +1 -0
  419. package/dist/_core/dist/workflows/types.js +13 -0
  420. package/dist/_core/dist/workflows/types.js.map +1 -0
  421. package/dist/_core/package.json +6 -0
  422. package/dist/_core/templates/constitution.md.hbs +46 -0
  423. package/dist/_core/templates/ghaWorkflow.yml.hbs +58 -0
  424. package/dist/_core/templates/hotfix.md.hbs +39 -0
  425. package/dist/_core/templates/plan.md.hbs +212 -0
  426. package/dist/_core/templates/preCommitHook.sh.hbs +30 -0
  427. package/dist/_core/templates/prePushHook.sh.hbs +45 -0
  428. package/dist/_core/templates/raptor.yml.hbs +24 -0
  429. package/dist/_core/templates/spec.md.hbs +127 -0
  430. package/dist/_core/templates/tasks.md.hbs +71 -0
  431. package/dist/commands/add-agent.d.ts +22 -0
  432. package/dist/commands/add-agent.d.ts.map +1 -0
  433. package/dist/commands/add-agent.js +121 -0
  434. package/dist/commands/add-agent.js.map +1 -0
  435. package/dist/commands/add-extension.d.ts +18 -0
  436. package/dist/commands/add-extension.d.ts.map +1 -0
  437. package/dist/commands/add-extension.js +83 -0
  438. package/dist/commands/add-extension.js.map +1 -0
  439. package/dist/commands/analyze.d.ts +18 -0
  440. package/dist/commands/analyze.d.ts.map +1 -0
  441. package/dist/commands/analyze.js +323 -0
  442. package/dist/commands/analyze.js.map +1 -0
  443. package/dist/commands/approve.d.ts +14 -0
  444. package/dist/commands/approve.d.ts.map +1 -0
  445. package/dist/commands/approve.js +116 -0
  446. package/dist/commands/approve.js.map +1 -0
  447. package/dist/commands/audit/query.d.ts +23 -0
  448. package/dist/commands/audit/query.d.ts.map +1 -0
  449. package/dist/commands/audit/query.js +118 -0
  450. package/dist/commands/audit/query.js.map +1 -0
  451. package/dist/commands/audit/show.d.ts +17 -0
  452. package/dist/commands/audit/show.d.ts.map +1 -0
  453. package/dist/commands/audit/show.js +53 -0
  454. package/dist/commands/audit/show.js.map +1 -0
  455. package/dist/commands/checklist.d.ts +17 -0
  456. package/dist/commands/checklist.d.ts.map +1 -0
  457. package/dist/commands/checklist.js +255 -0
  458. package/dist/commands/checklist.js.map +1 -0
  459. package/dist/commands/clarify.d.ts +17 -0
  460. package/dist/commands/clarify.d.ts.map +1 -0
  461. package/dist/commands/clarify.js +254 -0
  462. package/dist/commands/clarify.js.map +1 -0
  463. package/dist/commands/doctor.d.ts +8 -0
  464. package/dist/commands/doctor.d.ts.map +1 -0
  465. package/dist/commands/doctor.js +435 -0
  466. package/dist/commands/doctor.js.map +1 -0
  467. package/dist/commands/extension/add.d.ts +15 -0
  468. package/dist/commands/extension/add.d.ts.map +1 -0
  469. package/dist/commands/extension/add.js +93 -0
  470. package/dist/commands/extension/add.js.map +1 -0
  471. package/dist/commands/extension/info.d.ts +13 -0
  472. package/dist/commands/extension/info.d.ts.map +1 -0
  473. package/dist/commands/extension/info.js +75 -0
  474. package/dist/commands/extension/info.js.map +1 -0
  475. package/dist/commands/extension/list.d.ts +10 -0
  476. package/dist/commands/extension/list.d.ts.map +1 -0
  477. package/dist/commands/extension/list.js +71 -0
  478. package/dist/commands/extension/list.js.map +1 -0
  479. package/dist/commands/extension/remove.d.ts +14 -0
  480. package/dist/commands/extension/remove.d.ts.map +1 -0
  481. package/dist/commands/extension/remove.js +49 -0
  482. package/dist/commands/extension/remove.js.map +1 -0
  483. package/dist/commands/gate/approve.d.ts +15 -0
  484. package/dist/commands/gate/approve.d.ts.map +1 -0
  485. package/dist/commands/gate/approve.js +106 -0
  486. package/dist/commands/gate/approve.js.map +1 -0
  487. package/dist/commands/gate/list.d.ts +6 -0
  488. package/dist/commands/gate/list.d.ts.map +1 -0
  489. package/dist/commands/gate/list.js +38 -0
  490. package/dist/commands/gate/list.js.map +1 -0
  491. package/dist/commands/gate/skip.d.ts +14 -0
  492. package/dist/commands/gate/skip.d.ts.map +1 -0
  493. package/dist/commands/gate/skip.js +95 -0
  494. package/dist/commands/gate/skip.js.map +1 -0
  495. package/dist/commands/hook/list.d.ts +11 -0
  496. package/dist/commands/hook/list.d.ts.map +1 -0
  497. package/dist/commands/hook/list.js +152 -0
  498. package/dist/commands/hook/list.js.map +1 -0
  499. package/dist/commands/hook/run.d.ts +16 -0
  500. package/dist/commands/hook/run.d.ts.map +1 -0
  501. package/dist/commands/hook/run.js +74 -0
  502. package/dist/commands/hook/run.js.map +1 -0
  503. package/dist/commands/hotfix.d.ts +21 -0
  504. package/dist/commands/hotfix.d.ts.map +1 -0
  505. package/dist/commands/hotfix.js +216 -0
  506. package/dist/commands/hotfix.js.map +1 -0
  507. package/dist/commands/implement.d.ts +19 -0
  508. package/dist/commands/implement.d.ts.map +1 -0
  509. package/dist/commands/implement.js +282 -0
  510. package/dist/commands/implement.js.map +1 -0
  511. package/dist/commands/init.d.ts +43 -0
  512. package/dist/commands/init.d.ts.map +1 -0
  513. package/dist/commands/init.js +465 -0
  514. package/dist/commands/init.js.map +1 -0
  515. package/dist/commands/list-agents.d.ts +12 -0
  516. package/dist/commands/list-agents.d.ts.map +1 -0
  517. package/dist/commands/list-agents.js +55 -0
  518. package/dist/commands/list-agents.js.map +1 -0
  519. package/dist/commands/mcp/add.d.ts +21 -0
  520. package/dist/commands/mcp/add.d.ts.map +1 -0
  521. package/dist/commands/mcp/add.js +119 -0
  522. package/dist/commands/mcp/add.js.map +1 -0
  523. package/dist/commands/mcp/list.d.ts +10 -0
  524. package/dist/commands/mcp/list.d.ts.map +1 -0
  525. package/dist/commands/mcp/list.js +54 -0
  526. package/dist/commands/mcp/list.js.map +1 -0
  527. package/dist/commands/mcp/remove.d.ts +10 -0
  528. package/dist/commands/mcp/remove.d.ts.map +1 -0
  529. package/dist/commands/mcp/remove.js +53 -0
  530. package/dist/commands/mcp/remove.js.map +1 -0
  531. package/dist/commands/mcp/sync.d.ts +7 -0
  532. package/dist/commands/mcp/sync.d.ts.map +1 -0
  533. package/dist/commands/mcp/sync.js +31 -0
  534. package/dist/commands/mcp/sync.js.map +1 -0
  535. package/dist/commands/new.d.ts +19 -0
  536. package/dist/commands/new.d.ts.map +1 -0
  537. package/dist/commands/new.js +306 -0
  538. package/dist/commands/new.js.map +1 -0
  539. package/dist/commands/plan.d.ts +17 -0
  540. package/dist/commands/plan.d.ts.map +1 -0
  541. package/dist/commands/plan.js +200 -0
  542. package/dist/commands/plan.js.map +1 -0
  543. package/dist/commands/preset/add.d.ts +13 -0
  544. package/dist/commands/preset/add.d.ts.map +1 -0
  545. package/dist/commands/preset/add.js +66 -0
  546. package/dist/commands/preset/add.js.map +1 -0
  547. package/dist/commands/preset/info.d.ts +13 -0
  548. package/dist/commands/preset/info.d.ts.map +1 -0
  549. package/dist/commands/preset/info.js +80 -0
  550. package/dist/commands/preset/info.js.map +1 -0
  551. package/dist/commands/preset/list.d.ts +10 -0
  552. package/dist/commands/preset/list.d.ts.map +1 -0
  553. package/dist/commands/preset/list.js +63 -0
  554. package/dist/commands/preset/list.js.map +1 -0
  555. package/dist/commands/preset/remove.d.ts +14 -0
  556. package/dist/commands/preset/remove.d.ts.map +1 -0
  557. package/dist/commands/preset/remove.js +60 -0
  558. package/dist/commands/preset/remove.js.map +1 -0
  559. package/dist/commands/repair/constitution.d.ts +11 -0
  560. package/dist/commands/repair/constitution.d.ts.map +1 -0
  561. package/dist/commands/repair/constitution.js +117 -0
  562. package/dist/commands/repair/constitution.js.map +1 -0
  563. package/dist/commands/resync.d.ts +22 -0
  564. package/dist/commands/resync.d.ts.map +1 -0
  565. package/dist/commands/resync.js +103 -0
  566. package/dist/commands/resync.js.map +1 -0
  567. package/dist/commands/skill/add.d.ts +19 -0
  568. package/dist/commands/skill/add.d.ts.map +1 -0
  569. package/dist/commands/skill/add.js +107 -0
  570. package/dist/commands/skill/add.js.map +1 -0
  571. package/dist/commands/skill/list.d.ts +10 -0
  572. package/dist/commands/skill/list.d.ts.map +1 -0
  573. package/dist/commands/skill/list.js +56 -0
  574. package/dist/commands/skill/list.js.map +1 -0
  575. package/dist/commands/skill/remove.d.ts +10 -0
  576. package/dist/commands/skill/remove.d.ts.map +1 -0
  577. package/dist/commands/skill/remove.js +47 -0
  578. package/dist/commands/skill/remove.js.map +1 -0
  579. package/dist/commands/skill/sync.d.ts +7 -0
  580. package/dist/commands/skill/sync.d.ts.map +1 -0
  581. package/dist/commands/skill/sync.js +30 -0
  582. package/dist/commands/skill/sync.js.map +1 -0
  583. package/dist/commands/status.d.ts +17 -0
  584. package/dist/commands/status.d.ts.map +1 -0
  585. package/dist/commands/status.js +265 -0
  586. package/dist/commands/status.js.map +1 -0
  587. package/dist/commands/tasks.d.ts +16 -0
  588. package/dist/commands/tasks.d.ts.map +1 -0
  589. package/dist/commands/tasks.js +176 -0
  590. package/dist/commands/tasks.js.map +1 -0
  591. package/dist/commands/trace.d.ts +16 -0
  592. package/dist/commands/trace.d.ts.map +1 -0
  593. package/dist/commands/trace.js +113 -0
  594. package/dist/commands/trace.js.map +1 -0
  595. package/dist/commands/upgrade.d.ts +20 -0
  596. package/dist/commands/upgrade.d.ts.map +1 -0
  597. package/dist/commands/upgrade.js +178 -0
  598. package/dist/commands/upgrade.js.map +1 -0
  599. package/dist/commands/verify/a11y.d.ts +15 -0
  600. package/dist/commands/verify/a11y.d.ts.map +1 -0
  601. package/dist/commands/verify/a11y.js +121 -0
  602. package/dist/commands/verify/a11y.js.map +1 -0
  603. package/dist/commands/verify/architecture.d.ts +11 -0
  604. package/dist/commands/verify/architecture.d.ts.map +1 -0
  605. package/dist/commands/verify/architecture.js +71 -0
  606. package/dist/commands/verify/architecture.js.map +1 -0
  607. package/dist/commands/verify/audit.d.ts +18 -0
  608. package/dist/commands/verify/audit.d.ts.map +1 -0
  609. package/dist/commands/verify/audit.js +108 -0
  610. package/dist/commands/verify/audit.js.map +1 -0
  611. package/dist/commands/verify/constitution.d.ts +10 -0
  612. package/dist/commands/verify/constitution.d.ts.map +1 -0
  613. package/dist/commands/verify/constitution.js +91 -0
  614. package/dist/commands/verify/constitution.js.map +1 -0
  615. package/dist/commands/verify/os-matrix.d.ts +14 -0
  616. package/dist/commands/verify/os-matrix.d.ts.map +1 -0
  617. package/dist/commands/verify/os-matrix.js +108 -0
  618. package/dist/commands/verify/os-matrix.js.map +1 -0
  619. package/dist/commands/verify/perf.d.ts +17 -0
  620. package/dist/commands/verify/perf.d.ts.map +1 -0
  621. package/dist/commands/verify/perf.js +106 -0
  622. package/dist/commands/verify/perf.js.map +1 -0
  623. package/dist/commands/verify/stores.d.ts +14 -0
  624. package/dist/commands/verify/stores.d.ts.map +1 -0
  625. package/dist/commands/verify/stores.js +98 -0
  626. package/dist/commands/verify/stores.js.map +1 -0
  627. package/dist/commands/verify.d.ts +14 -0
  628. package/dist/commands/verify.d.ts.map +1 -0
  629. package/dist/commands/verify.js +97 -0
  630. package/dist/commands/verify.js.map +1 -0
  631. package/dist/commands/workflow/catalog.d.ts +11 -0
  632. package/dist/commands/workflow/catalog.d.ts.map +1 -0
  633. package/dist/commands/workflow/catalog.js +164 -0
  634. package/dist/commands/workflow/catalog.js.map +1 -0
  635. package/dist/commands/workflow/list.d.ts +7 -0
  636. package/dist/commands/workflow/list.d.ts.map +1 -0
  637. package/dist/commands/workflow/list.js +50 -0
  638. package/dist/commands/workflow/list.js.map +1 -0
  639. package/dist/commands/workflow/resume.d.ts +13 -0
  640. package/dist/commands/workflow/resume.d.ts.map +1 -0
  641. package/dist/commands/workflow/resume.js +126 -0
  642. package/dist/commands/workflow/resume.js.map +1 -0
  643. package/dist/commands/workflow/run.d.ts +14 -0
  644. package/dist/commands/workflow/run.d.ts.map +1 -0
  645. package/dist/commands/workflow/run.js +139 -0
  646. package/dist/commands/workflow/run.js.map +1 -0
  647. package/dist/commands/workflow/status.d.ts +10 -0
  648. package/dist/commands/workflow/status.d.ts.map +1 -0
  649. package/dist/commands/workflow/status.js +86 -0
  650. package/dist/commands/workflow/status.js.map +1 -0
  651. package/dist/index.d.ts +2 -0
  652. package/dist/index.d.ts.map +1 -0
  653. package/dist/index.js +2 -0
  654. package/dist/index.js.map +1 -0
  655. package/dist/shared/agents.d.ts +12 -0
  656. package/dist/shared/agents.d.ts.map +1 -0
  657. package/dist/shared/agents.js +31 -0
  658. package/dist/shared/agents.js.map +1 -0
  659. package/dist/shared/artifact-io.d.ts +54 -0
  660. package/dist/shared/artifact-io.d.ts.map +1 -0
  661. package/dist/shared/artifact-io.js +71 -0
  662. package/dist/shared/artifact-io.js.map +1 -0
  663. package/dist/shared/feature-prompt.d.ts +18 -0
  664. package/dist/shared/feature-prompt.d.ts.map +1 -0
  665. package/dist/shared/feature-prompt.js +21 -0
  666. package/dist/shared/feature-prompt.js.map +1 -0
  667. package/dist/shared/hooks.d.ts +7 -0
  668. package/dist/shared/hooks.d.ts.map +1 -0
  669. package/dist/shared/hooks.js +52 -0
  670. package/dist/shared/hooks.js.map +1 -0
  671. package/dist/shared/mcp.d.ts +9 -0
  672. package/dist/shared/mcp.d.ts.map +1 -0
  673. package/dist/shared/mcp.js +15 -0
  674. package/dist/shared/mcp.js.map +1 -0
  675. package/dist/shared/project.d.ts +42 -0
  676. package/dist/shared/project.d.ts.map +1 -0
  677. package/dist/shared/project.js +98 -0
  678. package/dist/shared/project.js.map +1 -0
  679. package/dist/shared/workflow-resolver.d.ts +19 -0
  680. package/dist/shared/workflow-resolver.d.ts.map +1 -0
  681. package/dist/shared/workflow-resolver.js +71 -0
  682. package/dist/shared/workflow-resolver.js.map +1 -0
  683. package/dist/workflow/args-builder.d.ts +31 -0
  684. package/dist/workflow/args-builder.d.ts.map +1 -0
  685. package/dist/workflow/args-builder.js +110 -0
  686. package/dist/workflow/args-builder.js.map +1 -0
  687. package/dist/workflow/executor.d.ts +18 -0
  688. package/dist/workflow/executor.d.ts.map +1 -0
  689. package/dist/workflow/executor.js +112 -0
  690. package/dist/workflow/executor.js.map +1 -0
  691. package/extensions/git/commands/rpt.git.feature.md +85 -0
  692. package/extensions/git/extension.yml +47 -0
  693. package/package.json +58 -0
  694. package/scripts/bash/check-prerequisites.sh +149 -0
  695. package/scripts/bash/common.sh +389 -0
  696. package/scripts/bash/create-new-feature.sh +164 -0
  697. package/scripts/bash/setup-plan.sh +113 -0
  698. package/scripts/check-naming.sh +138 -0
  699. package/scripts/check-prompts.sh +165 -0
  700. package/scripts/check-tasks.sh +166 -0
  701. package/scripts/powershell/check-prerequisites.ps1 +117 -0
  702. package/scripts/powershell/common.ps1 +328 -0
  703. package/scripts/powershell/create-new-feature.ps1 +138 -0
  704. package/scripts/powershell/setup-plan.ps1 +96 -0
  705. package/scripts/prepare-npm.mjs +157 -0
  706. package/templates/checklist-template.md +103 -0
  707. package/templates/commands/analyze.md +103 -0
  708. package/templates/commands/checklist.md +87 -0
  709. package/templates/commands/clarify.md +85 -0
  710. package/templates/commands/constitution.md +126 -0
  711. package/templates/commands/implement.md +117 -0
  712. package/templates/commands/plan.md +125 -0
  713. package/templates/commands/specify.md +127 -0
  714. package/templates/commands/tasks.md +98 -0
  715. package/templates/commands/taskstoissues.md +81 -0
  716. package/templates/constitution-template.md +48 -0
  717. package/templates/plan-template.md +150 -0
  718. package/templates/spec-template.md +116 -0
  719. package/templates/tasks-template.md +77 -0
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Skills materializer — writes each skill into each target agent's native
3
+ * skill/command location.
4
+ *
5
+ * Agents that expose a native skill directory (`adapter.skillDir`, e.g. Claude
6
+ * Code's `.claude/skills`) get a `SKILL.md`; agents without one degrade
7
+ * gracefully to a `raptor-skill-<id>` command file in their command dir.
8
+ */
9
+ import { mkdirSync, rmSync, writeFileSync } from "node:fs";
10
+ import { dirname, join } from "node:path";
11
+ import { hashString } from "../audit/hash.js";
12
+ import { resolveSkillPrompt } from "./registry.js";
13
+ /**
14
+ * Resolve the path where `skillId` should be written for a given adapter.
15
+ * Native skill dir when available, otherwise a degraded command file.
16
+ */
17
+ export function skillTargetPath(projectRoot, adapter, skillId) {
18
+ if (adapter.skillDir && adapter.skillFileName) {
19
+ return join(projectRoot, adapter.skillDir, adapter.skillFileName(skillId));
20
+ }
21
+ // Fallback: a prefixed command file so it never collides with SDD commands.
22
+ return join(projectRoot, adapter.commandDir, `raptor-skill-${skillId}${adapter.commandExt}`);
23
+ }
24
+ /** Build the on-disk content for a skill (frontmatter + prompt body). */
25
+ export function buildSkillContent(skill, prompt) {
26
+ const fm = [
27
+ "---",
28
+ `name: ${skill.id}`,
29
+ `description: ${JSON.stringify(skill.description)}`,
30
+ "---",
31
+ "",
32
+ ].join("\n");
33
+ return `${fm}# ${skill.name}\n\n${prompt.trim()}\n`;
34
+ }
35
+ /**
36
+ * Which adapters a skill targets: its `agents` list (filtered to the supplied
37
+ * adapters) or all supplied adapters when `agents` is omitted/empty.
38
+ */
39
+ function targetsFor(skill, adapters) {
40
+ if (skill.agents && skill.agents.length > 0) {
41
+ return adapters.filter((a) => skill.agents.includes(a.id));
42
+ }
43
+ return adapters;
44
+ }
45
+ /**
46
+ * Materialize a single skill into every target adapter. The `human` adapter
47
+ * (no command dir) is skipped.
48
+ */
49
+ export function materializeSkill(opts) {
50
+ const { projectRoot, skill, adapters } = opts;
51
+ const prompt = resolveSkillPrompt(skill, projectRoot);
52
+ const content = buildSkillContent(skill, prompt);
53
+ const out = [];
54
+ for (const adapter of targetsFor(skill, adapters)) {
55
+ if (adapter.id === "human")
56
+ continue;
57
+ const path = skillTargetPath(projectRoot, adapter, skill.id);
58
+ mkdirSync(dirname(path), { recursive: true });
59
+ writeFileSync(path, content);
60
+ out.push({
61
+ skillId: skill.id,
62
+ agentId: adapter.id,
63
+ path,
64
+ hash: hashString(content),
65
+ });
66
+ }
67
+ return out;
68
+ }
69
+ /** Materialize every skill into every target adapter. */
70
+ export function materializeSkills(opts) {
71
+ return opts.skills.flatMap((skill) => materializeSkill({
72
+ projectRoot: opts.projectRoot,
73
+ skill,
74
+ adapters: opts.adapters,
75
+ }));
76
+ }
77
+ /** Remove a skill's materialized files from every target adapter. */
78
+ export function removeMaterializedSkill(opts) {
79
+ const { projectRoot, skill, adapters } = opts;
80
+ const removed = [];
81
+ for (const adapter of targetsFor(skill, adapters)) {
82
+ if (adapter.id === "human")
83
+ continue;
84
+ const path = skillTargetPath(projectRoot, adapter, skill.id);
85
+ // For native skill dirs the SKILL.md lives in its own folder — remove that.
86
+ const target = adapter.skillDir && adapter.skillFileName ? dirname(path) : path;
87
+ try {
88
+ rmSync(target, { recursive: true, force: true });
89
+ removed.push(target);
90
+ }
91
+ catch {
92
+ // best-effort
93
+ }
94
+ }
95
+ return removed;
96
+ }
97
+ //# sourceMappingURL=materializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materializer.js","sourceRoot":"","sources":["../../src/skills/materializer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUnD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,OAAqB,EACrB,OAAe;IAEf,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,4EAA4E;IAC5E,OAAO,IAAI,CACT,WAAW,EACX,OAAO,CAAC,UAAU,EAClB,gBAAgB,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAC/C,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,MAAc;IAC5D,MAAM,EAAE,GAAG;QACT,KAAK;QACL,SAAS,KAAK,CAAC,EAAE,EAAE;QACnB,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QACnD,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,GAAG,EAAE,KAAK,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAY,EAAE,QAAwB;IACxD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAIhC;IACC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAwB,EAAE,CAAC;IAEpC,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO;YAAE,SAAS;QACrC,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,IAAI;YACJ,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,iBAAiB,CAAC,IAIjC;IACC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,gBAAgB,CAAC;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,uBAAuB,CAAC,IAIvC;IACC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO;YAAE,SAAS;QACrC,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,4EAA4E;QAC5E,MAAM,MAAM,GACV,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Skills registry — discovery and prompt resolution.
3
+ */
4
+ import type { Skill } from "./types.js";
5
+ /** Directory holding skill prompt files referenced by `promptFile`. */
6
+ export declare function skillsDir(projectRoot: string): string;
7
+ /**
8
+ * Discover all skills declared in `.raptor/skills.yml`.
9
+ * Returns an empty array when no config exists.
10
+ */
11
+ export declare function discoverSkills(projectRoot: string): Skill[];
12
+ /**
13
+ * Resolve a skill's prompt body — inline `prompt` or the contents of
14
+ * `promptFile` (relative to `.raptor/skills/`). Throws if `promptFile`
15
+ * is declared but missing.
16
+ */
17
+ export declare function resolveSkillPrompt(skill: Skill, projectRoot: string): string;
18
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAc5E"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Skills registry — discovery and prompt resolution.
3
+ */
4
+ import { existsSync, readFileSync } from "node:fs";
5
+ import { join } from "node:path";
6
+ import { loadSkillsConfig } from "./config.js";
7
+ /** Directory holding skill prompt files referenced by `promptFile`. */
8
+ export function skillsDir(projectRoot) {
9
+ return join(projectRoot, ".raptor", "skills");
10
+ }
11
+ /**
12
+ * Discover all skills declared in `.raptor/skills.yml`.
13
+ * Returns an empty array when no config exists.
14
+ */
15
+ export function discoverSkills(projectRoot) {
16
+ return loadSkillsConfig(projectRoot)?.skills ?? [];
17
+ }
18
+ /**
19
+ * Resolve a skill's prompt body — inline `prompt` or the contents of
20
+ * `promptFile` (relative to `.raptor/skills/`). Throws if `promptFile`
21
+ * is declared but missing.
22
+ */
23
+ export function resolveSkillPrompt(skill, projectRoot) {
24
+ if (typeof skill.prompt === "string" && skill.prompt.length > 0) {
25
+ return skill.prompt;
26
+ }
27
+ if (skill.promptFile) {
28
+ const path = join(skillsDir(projectRoot), skill.promptFile);
29
+ if (!existsSync(path)) {
30
+ throw new Error(`skill "${skill.id}": promptFile not found at ${path}`);
31
+ }
32
+ return readFileSync(path, "utf8");
33
+ }
34
+ throw new Error(`skill "${skill.id}": neither prompt nor promptFile is set`);
35
+ }
36
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/skills/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,uEAAuE;AACvE,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAY,EAAE,WAAmB;IAClE,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,CAAC,EAAE,8BAA8B,IAAI,EAAE,CACvD,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE,yCAAyC,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Skills — first-class, reusable agent capabilities materialized into each
3
+ * agent's native skill/command format.
4
+ *
5
+ * A Skill is a named, described prompt fragment that Raptor can install into
6
+ * one or more agents (e.g. Claude Code's `.claude/skills/<id>/SKILL.md`). It
7
+ * complements the SDD slash commands: those drive the lifecycle, skills add
8
+ * project-specific reusable capabilities.
9
+ *
10
+ * Schema: raptor.skills/v1.
11
+ */
12
+ export declare const SKILLS_SCHEMA_V1: "raptor.skills/v1";
13
+ export interface Skill {
14
+ /** Unique kebab-case identifier (e.g. "review-pr"). */
15
+ id: string;
16
+ /** Human-friendly name. */
17
+ name: string;
18
+ /** One-line description — used by agents to decide relevance. */
19
+ description: string;
20
+ /** Inline prompt body. Mutually exclusive with `promptFile`. */
21
+ prompt?: string;
22
+ /**
23
+ * Path to a markdown file holding the prompt body, relative to
24
+ * `.raptor/skills/`. Mutually exclusive with `prompt`.
25
+ */
26
+ promptFile?: string;
27
+ /**
28
+ * Agent keys this skill targets. Omit/empty = all configured agents.
29
+ * Each entry must be a known agent key.
30
+ */
31
+ agents?: string[];
32
+ /** Free-form tags for organization. */
33
+ tags?: string[];
34
+ }
35
+ export interface SkillsConfig {
36
+ schema: typeof SKILLS_SCHEMA_V1;
37
+ skills: Skill[];
38
+ }
39
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skills/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,gBAAgB,EAAG,kBAA2B,CAAC;AAE5D,MAAM,WAAW,KAAK;IACpB,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,gBAAgB,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Skills — first-class, reusable agent capabilities materialized into each
3
+ * agent's native skill/command format.
4
+ *
5
+ * A Skill is a named, described prompt fragment that Raptor can install into
6
+ * one or more agents (e.g. Claude Code's `.claude/skills/<id>/SKILL.md`). It
7
+ * complements the SDD slash commands: those drive the lifecycle, skills add
8
+ * project-specific reusable capabilities.
9
+ *
10
+ * Schema: raptor.skills/v1.
11
+ */
12
+ export const SKILLS_SCHEMA_V1 = "raptor.skills/v1";
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/skills/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAA2B,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Feature State — Schema and validation for `.raptor/feature.json`.
3
+ *
4
+ * Tracks the currently active feature in a project. This file is written
5
+ * by scripts (create-new-feature.sh) and read by prompts (check-prerequisites.sh).
6
+ *
7
+ * Spec Kit ref: E06 — ".raptor/feature.json com schema e validador"
8
+ */
9
+ export declare const FEATURE_PHASES: readonly ["specify", "clarify", "plan", "tasks", "implement", "done"];
10
+ export declare const FEATURE_JSON_SCHEMA: {
11
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
12
+ readonly $id: "raptor.feature/v1";
13
+ readonly title: "Raptor Feature State";
14
+ readonly description: "Tracks the currently active feature in a Raptor project.";
15
+ readonly type: "object";
16
+ readonly required: readonly ["feature_directory"];
17
+ readonly properties: {
18
+ readonly feature_directory: {
19
+ readonly type: "string";
20
+ readonly minLength: 1;
21
+ readonly description: "Relative path to the active feature directory (e.g. 'specs/003-user-auth').";
22
+ };
23
+ readonly feature_name: {
24
+ readonly type: "string";
25
+ readonly description: "Feature display name (extracted from directory).";
26
+ };
27
+ readonly current_phase: {
28
+ readonly type: "string";
29
+ readonly enum: readonly ["specify", "clarify", "plan", "tasks", "implement", "done"];
30
+ readonly description: "Current SDD phase.";
31
+ };
32
+ readonly started_at: {
33
+ readonly type: "string";
34
+ readonly description: "ISO 8601 timestamp of when the feature was started.";
35
+ };
36
+ readonly updated_at: {
37
+ readonly type: "string";
38
+ readonly description: "ISO 8601 timestamp of last state update.";
39
+ };
40
+ };
41
+ readonly additionalProperties: false;
42
+ };
43
+ export interface FeatureState {
44
+ feature_directory: string;
45
+ feature_name?: string;
46
+ current_phase?: (typeof FEATURE_PHASES)[number];
47
+ started_at?: string;
48
+ updated_at?: string;
49
+ }
50
+ export declare function validateFeatureState(data: unknown): {
51
+ valid: boolean;
52
+ errors: string[];
53
+ };
54
+ /**
55
+ * Create a new feature state.
56
+ */
57
+ export declare function createFeatureState(featureDirectory: string, phase?: FeatureState["current_phase"]): FeatureState;
58
+ //# sourceMappingURL=feature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../src/state/feature.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,eAAO,MAAM,cAAc,uEAOjB,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCtB,CAAC;AAMX,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AASD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG;IACnD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CASA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,gBAAgB,EAAE,MAAM,EACxB,KAAK,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,GACpC,YAAY,CAQd"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Feature State — Schema and validation for `.raptor/feature.json`.
3
+ *
4
+ * Tracks the currently active feature in a project. This file is written
5
+ * by scripts (create-new-feature.sh) and read by prompts (check-prerequisites.sh).
6
+ *
7
+ * Spec Kit ref: E06 — ".raptor/feature.json com schema e validador"
8
+ */
9
+ import Ajv from "ajv";
10
+ // ---------------------------------------------------------------------------
11
+ // JSON Schema (Draft-07)
12
+ // ---------------------------------------------------------------------------
13
+ export const FEATURE_PHASES = [
14
+ "specify",
15
+ "clarify",
16
+ "plan",
17
+ "tasks",
18
+ "implement",
19
+ "done",
20
+ ];
21
+ export const FEATURE_JSON_SCHEMA = {
22
+ $schema: "http://json-schema.org/draft-07/schema#",
23
+ $id: "raptor.feature/v1",
24
+ title: "Raptor Feature State",
25
+ description: "Tracks the currently active feature in a Raptor project.",
26
+ type: "object",
27
+ required: ["feature_directory"],
28
+ properties: {
29
+ feature_directory: {
30
+ type: "string",
31
+ minLength: 1,
32
+ description: "Relative path to the active feature directory (e.g. 'specs/003-user-auth').",
33
+ },
34
+ feature_name: {
35
+ type: "string",
36
+ description: "Feature display name (extracted from directory).",
37
+ },
38
+ current_phase: {
39
+ type: "string",
40
+ enum: FEATURE_PHASES,
41
+ description: "Current SDD phase.",
42
+ },
43
+ started_at: {
44
+ type: "string",
45
+ description: "ISO 8601 timestamp of when the feature was started.",
46
+ },
47
+ updated_at: {
48
+ type: "string",
49
+ description: "ISO 8601 timestamp of last state update.",
50
+ },
51
+ },
52
+ additionalProperties: false,
53
+ };
54
+ // ---------------------------------------------------------------------------
55
+ // Validator
56
+ // ---------------------------------------------------------------------------
57
+ const ajv = new Ajv.default({ allErrors: true });
58
+ const validateFn = ajv.compile(FEATURE_JSON_SCHEMA);
59
+ export function validateFeatureState(data) {
60
+ const valid = validateFn(data);
61
+ if (valid)
62
+ return { valid: true, errors: [] };
63
+ const errors = (validateFn.errors ?? []).map((e) => {
64
+ const path = e.instancePath || "(root)";
65
+ return `${path}: ${e.message ?? "unknown error"}`;
66
+ });
67
+ return { valid: false, errors };
68
+ }
69
+ /**
70
+ * Create a new feature state.
71
+ */
72
+ export function createFeatureState(featureDirectory, phase) {
73
+ return {
74
+ feature_directory: featureDirectory,
75
+ feature_name: featureDirectory.split("/").pop() ?? featureDirectory,
76
+ current_phase: phase ?? "specify",
77
+ started_at: new Date().toISOString(),
78
+ updated_at: new Date().toISOString(),
79
+ };
80
+ }
81
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature.js","sourceRoot":"","sources":["../../src/state/feature.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,GAAyB,MAAM,KAAK,CAAC;AAE5C,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,SAAS;IACT,MAAM;IACN,OAAO;IACP,WAAW;IACX,MAAM;CACE,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,yCAAyC;IAClD,GAAG,EAAE,mBAAmB;IACxB,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,0DAA0D;IACvE,IAAI,EAAE,QAAiB;IACvB,QAAQ,EAAE,CAAC,mBAAmB,CAAC;IAC/B,UAAU,EAAE;QACV,iBAAiB,EAAE;YACjB,IAAI,EAAE,QAAiB;YACvB,SAAS,EAAE,CAAC;YACZ,WAAW,EACT,6EAA6E;SAChF;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAiB;YACvB,WAAW,EAAE,kDAAkD;SAChE;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAiB;YACvB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,oBAAoB;SAClC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAiB;YACvB,WAAW,EAAE,qDAAqD;SACnE;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAiB;YACvB,WAAW,EAAE,0CAA0C;SACxD;KACF;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAcX,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAIhD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAY,CAAC;IAC1C,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC;QACxC,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,gBAAwB,EACxB,KAAqC;IAErC,OAAO;QACL,iBAAiB,EAAE,gBAAgB;QACnC,YAAY,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,gBAAgB;QACnE,aAAa,EAAE,KAAK,IAAI,SAAS;QACjC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @raptor/core state module — Feature state and init options schemas.
3
+ */
4
+ export { createFeatureState, validateFeatureState, FEATURE_JSON_SCHEMA, FEATURE_PHASES, } from "./feature.js";
5
+ export type { FeatureState } from "./feature.js";
6
+ export { validateInitOptions, INIT_OPTIONS_JSON_SCHEMA, } from "./init-options.js";
7
+ export type { InitOptions } from "./init-options.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @raptor/core state module — Feature state and init options schemas.
3
+ */
4
+ export { createFeatureState, validateFeatureState, FEATURE_JSON_SCHEMA, FEATURE_PHASES, } from "./feature.js";
5
+ export { validateInitOptions, INIT_OPTIONS_JSON_SCHEMA, } from "./init-options.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Init Options — Schema and validation for `.raptor/init-options.json`.
3
+ *
4
+ * Persists the choices made during `raptor init` so scripts and prompts
5
+ * can resolve project-wide settings without re-reading flags.
6
+ *
7
+ * Spec Kit ref: E06 — ".raptor/init-options.json com schema e validador"
8
+ */
9
+ export declare const INIT_OPTIONS_JSON_SCHEMA: {
10
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
11
+ readonly $id: "raptor.init-options/v1";
12
+ readonly title: "Raptor Init Options";
13
+ readonly description: "Choices made during `raptor init`, persisted for downstream scripts.";
14
+ readonly type: "object";
15
+ readonly required: readonly ["ai", "script_type", "branch_numbering", "preset", "no_git", "created_at"];
16
+ readonly properties: {
17
+ readonly ai: {
18
+ readonly type: "string";
19
+ readonly minLength: 1;
20
+ readonly description: "Primary AI agent integration key.";
21
+ };
22
+ readonly script_type: {
23
+ readonly type: "string";
24
+ readonly enum: readonly ["sh"];
25
+ readonly description: "Shell script type used. V1 supports 'sh' only.";
26
+ };
27
+ readonly branch_numbering: {
28
+ readonly type: "string";
29
+ readonly enum: readonly ["sequential", "timestamp"];
30
+ readonly description: "Branch numbering strategy.";
31
+ };
32
+ readonly preset: {
33
+ readonly type: "string";
34
+ readonly minLength: 1;
35
+ readonly description: "Active preset ID.";
36
+ };
37
+ readonly no_git: {
38
+ readonly type: "boolean";
39
+ readonly description: "Whether git operations are disabled.";
40
+ };
41
+ readonly created_at: {
42
+ readonly type: "string";
43
+ readonly description: "ISO 8601 timestamp of init.";
44
+ };
45
+ };
46
+ readonly additionalProperties: false;
47
+ };
48
+ export interface InitOptions {
49
+ ai: string;
50
+ script_type: "sh";
51
+ branch_numbering: "sequential" | "timestamp";
52
+ preset: string;
53
+ no_git: boolean;
54
+ created_at: string;
55
+ }
56
+ export declare function validateInitOptions(data: unknown): {
57
+ valid: boolean;
58
+ errors: string[];
59
+ };
60
+ //# sourceMappingURL=init-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-options.d.ts","sourceRoot":"","sources":["../../src/state/init-options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C3B,CAAC;AAMX,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,IAAI,CAAC;IAClB,gBAAgB,EAAE,YAAY,GAAG,WAAW,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CASA"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Init Options — Schema and validation for `.raptor/init-options.json`.
3
+ *
4
+ * Persists the choices made during `raptor init` so scripts and prompts
5
+ * can resolve project-wide settings without re-reading flags.
6
+ *
7
+ * Spec Kit ref: E06 — ".raptor/init-options.json com schema e validador"
8
+ */
9
+ import Ajv from "ajv";
10
+ // ---------------------------------------------------------------------------
11
+ // JSON Schema (Draft-07)
12
+ // ---------------------------------------------------------------------------
13
+ export const INIT_OPTIONS_JSON_SCHEMA = {
14
+ $schema: "http://json-schema.org/draft-07/schema#",
15
+ $id: "raptor.init-options/v1",
16
+ title: "Raptor Init Options",
17
+ description: "Choices made during `raptor init`, persisted for downstream scripts.",
18
+ type: "object",
19
+ required: [
20
+ "ai",
21
+ "script_type",
22
+ "branch_numbering",
23
+ "preset",
24
+ "no_git",
25
+ "created_at",
26
+ ],
27
+ properties: {
28
+ ai: {
29
+ type: "string",
30
+ minLength: 1,
31
+ description: "Primary AI agent integration key.",
32
+ },
33
+ script_type: {
34
+ type: "string",
35
+ enum: ["sh"],
36
+ description: "Shell script type used. V1 supports 'sh' only.",
37
+ },
38
+ branch_numbering: {
39
+ type: "string",
40
+ enum: ["sequential", "timestamp"],
41
+ description: "Branch numbering strategy.",
42
+ },
43
+ preset: {
44
+ type: "string",
45
+ minLength: 1,
46
+ description: "Active preset ID.",
47
+ },
48
+ no_git: {
49
+ type: "boolean",
50
+ description: "Whether git operations are disabled.",
51
+ },
52
+ created_at: {
53
+ type: "string",
54
+ description: "ISO 8601 timestamp of init.",
55
+ },
56
+ },
57
+ additionalProperties: false,
58
+ };
59
+ // ---------------------------------------------------------------------------
60
+ // Validator
61
+ // ---------------------------------------------------------------------------
62
+ const ajv = new Ajv.default({ allErrors: true });
63
+ const validateFn = ajv.compile(INIT_OPTIONS_JSON_SCHEMA);
64
+ export function validateInitOptions(data) {
65
+ const valid = validateFn(data);
66
+ if (valid)
67
+ return { valid: true, errors: [] };
68
+ const errors = (validateFn.errors ?? []).map((e) => {
69
+ const path = e.instancePath || "(root)";
70
+ return `${path}: ${e.message ?? "unknown error"}`;
71
+ });
72
+ return { valid: false, errors };
73
+ }
74
+ //# sourceMappingURL=init-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-options.js","sourceRoot":"","sources":["../../src/state/init-options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,GAAyB,MAAM,KAAK,CAAC;AAE5C,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO,EAAE,yCAAyC;IAClD,GAAG,EAAE,wBAAwB;IAC7B,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,sEAAsE;IACnF,IAAI,EAAE,QAAiB;IACvB,QAAQ,EAAE;QACR,IAAI;QACJ,aAAa;QACb,kBAAkB;QAClB,QAAQ;QACR,QAAQ;QACR,YAAY;KACb;IACD,UAAU,EAAE;QACV,EAAE,EAAE;YACF,IAAI,EAAE,QAAiB;YACvB,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,mCAAmC;SACjD;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,IAAI,EAAE,CAAC,IAAI,CAAC;YACZ,WAAW,EAAE,gDAAgD;SAC9D;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAiB;YACvB,IAAI,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;YACjC,WAAW,EAAE,4BAA4B;SAC1C;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAiB;YACvB,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,mBAAmB;SACjC;QACD,MAAM,EAAE;YACN,IAAI,EAAE,SAAkB;YACxB,WAAW,EAAE,sCAAsC;SACpD;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAiB;YACvB,WAAW,EAAE,6BAA6B;SAC3C;KACF;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAeX,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEzD,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAI/C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAY,CAAC;IAC1C,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC;QACxC,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Context, Helper } from "./types.js";
2
+ export interface RenderOptions {
3
+ helpers?: Record<string, Helper>;
4
+ }
5
+ export declare function render(source: string, ctx: Context, opts?: RenderOptions): string;
6
+ export declare function compile(source: string): (ctx: Context, opts?: RenderOptions) => string;
7
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/template/engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,OAAO,EAAQ,MAAM,EAAuB,MAAM,YAAY,CAAC;AAuE7E,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,wBAAgB,MAAM,CACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,OAAO,EACZ,IAAI,GAAE,aAAkB,GACvB,MAAM,CAIR;AAED,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,GACb,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,MAAM,CAMhD"}
@@ -0,0 +1,86 @@
1
+ import { parse } from "./parser.js";
2
+ import { defaultHelpers, truthy } from "./helpers.js";
3
+ import { TemplateError } from "./types.js";
4
+ function resolvePath(ctx, path) {
5
+ if (path.length === 1) {
6
+ if (path[0] === "this")
7
+ return ctx["__this__"] ?? ctx;
8
+ if (path[0] === "@index")
9
+ return ctx["__index__"];
10
+ if (path[0] === "@first")
11
+ return ctx["__first__"];
12
+ if (path[0] === "@last")
13
+ return ctx["__last__"];
14
+ }
15
+ let cur = ctx;
16
+ for (const key of path) {
17
+ if (cur === null || cur === undefined)
18
+ return undefined;
19
+ if (typeof cur !== "object")
20
+ return undefined;
21
+ cur = cur[key];
22
+ }
23
+ return cur;
24
+ }
25
+ function evalArg(arg, ctx) {
26
+ if (arg.kind === "literal")
27
+ return arg.value;
28
+ return resolvePath(ctx, arg.path);
29
+ }
30
+ function evalExpr(expr, ctx, helpers) {
31
+ if (expr.kind === "var")
32
+ return resolvePath(ctx, expr.path);
33
+ const fn = helpers[expr.name];
34
+ if (!fn)
35
+ throw new TemplateError(`unknown helper: ${expr.name}`);
36
+ return fn(...expr.args.map((a) => evalArg(a, ctx)));
37
+ }
38
+ function renderNodes(nodes, ctx, helpers) {
39
+ let out = "";
40
+ for (const n of nodes) {
41
+ if (n.kind === "text") {
42
+ out += n.text;
43
+ }
44
+ else if (n.kind === "expr") {
45
+ const v = evalExpr(n.expr, ctx, helpers);
46
+ out += v === undefined || v === null ? "" : String(v);
47
+ }
48
+ else if (n.kind === "if") {
49
+ const v = evalExpr(n.cond, ctx, helpers);
50
+ out += renderNodes(truthy(v) ? n.then : n.else, ctx, helpers);
51
+ }
52
+ else if (n.kind === "each") {
53
+ const v = evalExpr(n.list, ctx, helpers);
54
+ if (!Array.isArray(v))
55
+ continue;
56
+ for (let i = 0; i < v.length; i++) {
57
+ const item = v[i];
58
+ const childCtx = {
59
+ ...ctx,
60
+ __this__: item,
61
+ __index__: i,
62
+ __first__: i === 0,
63
+ __last__: i === v.length - 1,
64
+ ...(typeof item === "object" && item !== null
65
+ ? item
66
+ : {}),
67
+ };
68
+ out += renderNodes(n.body, childCtx, helpers);
69
+ }
70
+ }
71
+ }
72
+ return out;
73
+ }
74
+ export function render(source, ctx, opts = {}) {
75
+ const ast = parse(source);
76
+ const helpers = { ...defaultHelpers, ...(opts.helpers ?? {}) };
77
+ return renderNodes(ast, ctx, helpers);
78
+ }
79
+ export function compile(source) {
80
+ const ast = parse(source);
81
+ return (ctx, opts = {}) => {
82
+ const helpers = { ...defaultHelpers, ...(opts.helpers ?? {}) };
83
+ return renderNodes(ast, ctx, helpers);
84
+ };
85
+ }
86
+ //# sourceMappingURL=engine.js.map