@specpow/framework 0.2.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 (362) hide show
  1. package/CHANGELOG.md +307 -0
  2. package/LICENSE +21 -0
  3. package/README.md +557 -0
  4. package/agents/controller/sdd-controller.md +55 -0
  5. package/agents/execution/java-codegen-agent.md +39 -0
  6. package/agents/execution/ui-codegen-agent.md +32 -0
  7. package/agents/ops/deploy-agent.md +181 -0
  8. package/agents/planning/db-designer-agent.md +30 -0
  9. package/agents/planning/prd-agent.md +31 -0
  10. package/agents/quality/review-agent.md +36 -0
  11. package/agents/quality/test-agent.md +33 -0
  12. package/bin/specpow.js +10 -0
  13. package/dist/cli/index.d.ts +7 -0
  14. package/dist/cli/index.d.ts.map +1 -0
  15. package/dist/cli/index.js +444 -0
  16. package/dist/cli/index.js.map +1 -0
  17. package/dist/commands/apply.d.ts +14 -0
  18. package/dist/commands/apply.d.ts.map +1 -0
  19. package/dist/commands/apply.js +195 -0
  20. package/dist/commands/apply.js.map +1 -0
  21. package/dist/commands/archive.d.ts +30 -0
  22. package/dist/commands/archive.d.ts.map +1 -0
  23. package/dist/commands/archive.js +141 -0
  24. package/dist/commands/archive.js.map +1 -0
  25. package/dist/commands/channel.d.ts +61 -0
  26. package/dist/commands/channel.d.ts.map +1 -0
  27. package/dist/commands/channel.js +613 -0
  28. package/dist/commands/channel.js.map +1 -0
  29. package/dist/commands/config.d.ts +40 -0
  30. package/dist/commands/config.d.ts.map +1 -0
  31. package/dist/commands/config.js +130 -0
  32. package/dist/commands/config.js.map +1 -0
  33. package/dist/commands/debug.d.ts +45 -0
  34. package/dist/commands/debug.d.ts.map +1 -0
  35. package/dist/commands/debug.js +167 -0
  36. package/dist/commands/debug.js.map +1 -0
  37. package/dist/commands/doctor.d.ts +20 -0
  38. package/dist/commands/doctor.d.ts.map +1 -0
  39. package/dist/commands/doctor.js +121 -0
  40. package/dist/commands/doctor.js.map +1 -0
  41. package/dist/commands/execute.d.ts +25 -0
  42. package/dist/commands/execute.d.ts.map +1 -0
  43. package/dist/commands/execute.js +120 -0
  44. package/dist/commands/execute.js.map +1 -0
  45. package/dist/commands/explore.d.ts +71 -0
  46. package/dist/commands/explore.d.ts.map +1 -0
  47. package/dist/commands/explore.js +481 -0
  48. package/dist/commands/explore.js.map +1 -0
  49. package/dist/commands/init.d.ts +20 -0
  50. package/dist/commands/init.d.ts.map +1 -0
  51. package/dist/commands/init.js +146 -0
  52. package/dist/commands/init.js.map +1 -0
  53. package/dist/commands/memory.d.ts +32 -0
  54. package/dist/commands/memory.d.ts.map +1 -0
  55. package/dist/commands/memory.js +455 -0
  56. package/dist/commands/memory.js.map +1 -0
  57. package/dist/commands/propose.d.ts +13 -0
  58. package/dist/commands/propose.d.ts.map +1 -0
  59. package/dist/commands/propose.js +193 -0
  60. package/dist/commands/propose.js.map +1 -0
  61. package/dist/commands/review.d.ts +50 -0
  62. package/dist/commands/review.d.ts.map +1 -0
  63. package/dist/commands/review.js +198 -0
  64. package/dist/commands/review.js.map +1 -0
  65. package/dist/commands/schema.d.ts +22 -0
  66. package/dist/commands/schema.d.ts.map +1 -0
  67. package/dist/commands/schema.js +79 -0
  68. package/dist/commands/schema.js.map +1 -0
  69. package/dist/commands/status.d.ts +11 -0
  70. package/dist/commands/status.d.ts.map +1 -0
  71. package/dist/commands/status.js +130 -0
  72. package/dist/commands/status.js.map +1 -0
  73. package/dist/commands/store.d.ts +31 -0
  74. package/dist/commands/store.d.ts.map +1 -0
  75. package/dist/commands/store.js +109 -0
  76. package/dist/commands/store.js.map +1 -0
  77. package/dist/commands/update.d.ts +42 -0
  78. package/dist/commands/update.d.ts.map +1 -0
  79. package/dist/commands/update.js +239 -0
  80. package/dist/commands/update.js.map +1 -0
  81. package/dist/commands/verify.d.ts +39 -0
  82. package/dist/commands/verify.d.ts.map +1 -0
  83. package/dist/commands/verify.js +386 -0
  84. package/dist/commands/verify.js.map +1 -0
  85. package/dist/commands/workflow/index.d.ts +12 -0
  86. package/dist/commands/workflow/index.d.ts.map +1 -0
  87. package/dist/commands/workflow/index.js +435 -0
  88. package/dist/commands/workflow/index.js.map +1 -0
  89. package/dist/core/agent-contract.d.ts +133 -0
  90. package/dist/core/agent-contract.d.ts.map +1 -0
  91. package/dist/core/agent-contract.js +71 -0
  92. package/dist/core/agent-contract.js.map +1 -0
  93. package/dist/core/archive/delta-merger.d.ts +101 -0
  94. package/dist/core/archive/delta-merger.d.ts.map +1 -0
  95. package/dist/core/archive/delta-merger.js +398 -0
  96. package/dist/core/archive/delta-merger.js.map +1 -0
  97. package/dist/core/archive/delta-parser.d.ts +48 -0
  98. package/dist/core/archive/delta-parser.d.ts.map +1 -0
  99. package/dist/core/archive/delta-parser.js +193 -0
  100. package/dist/core/archive/delta-parser.js.map +1 -0
  101. package/dist/core/archive/engine.d.ts +136 -0
  102. package/dist/core/archive/engine.d.ts.map +1 -0
  103. package/dist/core/archive/engine.js +506 -0
  104. package/dist/core/archive/engine.js.map +1 -0
  105. package/dist/core/archive/index.d.ts +11 -0
  106. package/dist/core/archive/index.d.ts.map +1 -0
  107. package/dist/core/archive/index.js +9 -0
  108. package/dist/core/archive/index.js.map +1 -0
  109. package/dist/core/artifact-graph/graph.d.ts +48 -0
  110. package/dist/core/artifact-graph/graph.d.ts.map +1 -0
  111. package/dist/core/artifact-graph/graph.js +170 -0
  112. package/dist/core/artifact-graph/graph.js.map +1 -0
  113. package/dist/core/artifact-graph/index.d.ts +13 -0
  114. package/dist/core/artifact-graph/index.d.ts.map +1 -0
  115. package/dist/core/artifact-graph/index.js +12 -0
  116. package/dist/core/artifact-graph/index.js.map +1 -0
  117. package/dist/core/artifact-graph/instruction-loader.d.ts +60 -0
  118. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -0
  119. package/dist/core/artifact-graph/instruction-loader.js +166 -0
  120. package/dist/core/artifact-graph/instruction-loader.js.map +1 -0
  121. package/dist/core/artifact-graph/outputs.d.ts +17 -0
  122. package/dist/core/artifact-graph/outputs.d.ts.map +1 -0
  123. package/dist/core/artifact-graph/outputs.js +27 -0
  124. package/dist/core/artifact-graph/outputs.js.map +1 -0
  125. package/dist/core/artifact-graph/resolver.d.ts +34 -0
  126. package/dist/core/artifact-graph/resolver.d.ts.map +1 -0
  127. package/dist/core/artifact-graph/resolver.js +99 -0
  128. package/dist/core/artifact-graph/resolver.js.map +1 -0
  129. package/dist/core/artifact-graph/state.d.ts +54 -0
  130. package/dist/core/artifact-graph/state.d.ts.map +1 -0
  131. package/dist/core/artifact-graph/state.js +149 -0
  132. package/dist/core/artifact-graph/state.js.map +1 -0
  133. package/dist/core/artifact-graph/types.d.ts +151 -0
  134. package/dist/core/artifact-graph/types.d.ts.map +1 -0
  135. package/dist/core/artifact-graph/types.js +44 -0
  136. package/dist/core/artifact-graph/types.js.map +1 -0
  137. package/dist/core/channel/channel-event-log.d.ts +81 -0
  138. package/dist/core/channel/channel-event-log.d.ts.map +1 -0
  139. package/dist/core/channel/channel-event-log.js +177 -0
  140. package/dist/core/channel/channel-event-log.js.map +1 -0
  141. package/dist/core/channel/channel-inbox.d.ts +70 -0
  142. package/dist/core/channel/channel-inbox.d.ts.map +1 -0
  143. package/dist/core/channel/channel-inbox.js +122 -0
  144. package/dist/core/channel/channel-inbox.js.map +1 -0
  145. package/dist/core/channel/channel-runtime.d.ts +81 -0
  146. package/dist/core/channel/channel-runtime.d.ts.map +1 -0
  147. package/dist/core/channel/channel-runtime.js +291 -0
  148. package/dist/core/channel/channel-runtime.js.map +1 -0
  149. package/dist/core/channel/channel-supervisor.d.ts +72 -0
  150. package/dist/core/channel/channel-supervisor.d.ts.map +1 -0
  151. package/dist/core/channel/channel-supervisor.js +189 -0
  152. package/dist/core/channel/channel-supervisor.js.map +1 -0
  153. package/dist/core/channel/channel-types.d.ts +169 -0
  154. package/dist/core/channel/channel-types.d.ts.map +1 -0
  155. package/dist/core/channel/channel-types.js +26 -0
  156. package/dist/core/channel/channel-types.js.map +1 -0
  157. package/dist/core/channel/index.d.ts +21 -0
  158. package/dist/core/channel/index.d.ts.map +1 -0
  159. package/dist/core/channel/index.js +23 -0
  160. package/dist/core/channel/index.js.map +1 -0
  161. package/dist/core/command-generation/index.d.ts +225 -0
  162. package/dist/core/command-generation/index.d.ts.map +1 -0
  163. package/dist/core/command-generation/index.js +462 -0
  164. package/dist/core/command-generation/index.js.map +1 -0
  165. package/dist/core/config/config-schema.d.ts +745 -0
  166. package/dist/core/config/config-schema.d.ts.map +1 -0
  167. package/dist/core/config/config-schema.js +108 -0
  168. package/dist/core/config/config-schema.js.map +1 -0
  169. package/dist/core/config/global-config.d.ts +73 -0
  170. package/dist/core/config/global-config.d.ts.map +1 -0
  171. package/dist/core/config/global-config.js +225 -0
  172. package/dist/core/config/global-config.js.map +1 -0
  173. package/dist/core/config/index.d.ts +8 -0
  174. package/dist/core/config/index.d.ts.map +1 -0
  175. package/dist/core/config/index.js +8 -0
  176. package/dist/core/config/index.js.map +1 -0
  177. package/dist/core/hooks/hook-registry.d.ts +55 -0
  178. package/dist/core/hooks/hook-registry.d.ts.map +1 -0
  179. package/dist/core/hooks/hook-registry.js +172 -0
  180. package/dist/core/hooks/hook-registry.js.map +1 -0
  181. package/dist/core/hooks/hook-types.d.ts +87 -0
  182. package/dist/core/hooks/hook-types.d.ts.map +1 -0
  183. package/dist/core/hooks/hook-types.js +11 -0
  184. package/dist/core/hooks/hook-types.js.map +1 -0
  185. package/dist/core/hooks/index.d.ts +28 -0
  186. package/dist/core/hooks/index.d.ts.map +1 -0
  187. package/dist/core/hooks/index.js +28 -0
  188. package/dist/core/hooks/index.js.map +1 -0
  189. package/dist/core/hooks/post-tool-call-hook.d.ts +21 -0
  190. package/dist/core/hooks/post-tool-call-hook.d.ts.map +1 -0
  191. package/dist/core/hooks/post-tool-call-hook.js +191 -0
  192. package/dist/core/hooks/post-tool-call-hook.js.map +1 -0
  193. package/dist/core/hooks/pre-tool-call-hook.d.ts +31 -0
  194. package/dist/core/hooks/pre-tool-call-hook.d.ts.map +1 -0
  195. package/dist/core/hooks/pre-tool-call-hook.js +122 -0
  196. package/dist/core/hooks/pre-tool-call-hook.js.map +1 -0
  197. package/dist/core/hooks/session-start-hook.d.ts +25 -0
  198. package/dist/core/hooks/session-start-hook.d.ts.map +1 -0
  199. package/dist/core/hooks/session-start-hook.js +226 -0
  200. package/dist/core/hooks/session-start-hook.js.map +1 -0
  201. package/dist/core/hooks/workflow-state-hook.d.ts +18 -0
  202. package/dist/core/hooks/workflow-state-hook.d.ts.map +1 -0
  203. package/dist/core/hooks/workflow-state-hook.js +181 -0
  204. package/dist/core/hooks/workflow-state-hook.js.map +1 -0
  205. package/dist/core/init/engine.d.ts +69 -0
  206. package/dist/core/init/engine.d.ts.map +1 -0
  207. package/dist/core/init/engine.js +211 -0
  208. package/dist/core/init/engine.js.map +1 -0
  209. package/dist/core/init/template-hash.d.ts +86 -0
  210. package/dist/core/init/template-hash.d.ts.map +1 -0
  211. package/dist/core/init/template-hash.js +228 -0
  212. package/dist/core/init/template-hash.js.map +1 -0
  213. package/dist/core/memory/adapters/json-adapter.d.ts +50 -0
  214. package/dist/core/memory/adapters/json-adapter.d.ts.map +1 -0
  215. package/dist/core/memory/adapters/json-adapter.js +273 -0
  216. package/dist/core/memory/adapters/json-adapter.js.map +1 -0
  217. package/dist/core/memory/adapters/sqlite-adapter.d.ts +26 -0
  218. package/dist/core/memory/adapters/sqlite-adapter.d.ts.map +1 -0
  219. package/dist/core/memory/adapters/sqlite-adapter.js +230 -0
  220. package/dist/core/memory/adapters/sqlite-adapter.js.map +1 -0
  221. package/dist/core/memory/index.d.ts +38 -0
  222. package/dist/core/memory/index.d.ts.map +1 -0
  223. package/dist/core/memory/index.js +40 -0
  224. package/dist/core/memory/index.js.map +1 -0
  225. package/dist/core/memory/memory-indexer.d.ts +39 -0
  226. package/dist/core/memory/memory-indexer.d.ts.map +1 -0
  227. package/dist/core/memory/memory-indexer.js +213 -0
  228. package/dist/core/memory/memory-indexer.js.map +1 -0
  229. package/dist/core/memory/memory-manager.d.ts +59 -0
  230. package/dist/core/memory/memory-manager.d.ts.map +1 -0
  231. package/dist/core/memory/memory-manager.js +194 -0
  232. package/dist/core/memory/memory-manager.js.map +1 -0
  233. package/dist/core/memory/memory-store.d.ts +31 -0
  234. package/dist/core/memory/memory-store.d.ts.map +1 -0
  235. package/dist/core/memory/memory-store.js +148 -0
  236. package/dist/core/memory/memory-store.js.map +1 -0
  237. package/dist/core/memory/memory-types.d.ts +154 -0
  238. package/dist/core/memory/memory-types.d.ts.map +1 -0
  239. package/dist/core/memory/memory-types.js +13 -0
  240. package/dist/core/memory/memory-types.js.map +1 -0
  241. package/dist/core/migration/index.d.ts +80 -0
  242. package/dist/core/migration/index.d.ts.map +1 -0
  243. package/dist/core/migration/index.js +361 -0
  244. package/dist/core/migration/index.js.map +1 -0
  245. package/dist/core/parsers/index.d.ts +95 -0
  246. package/dist/core/parsers/index.d.ts.map +1 -0
  247. package/dist/core/parsers/index.js +367 -0
  248. package/dist/core/parsers/index.js.map +1 -0
  249. package/dist/core/sdd-engine/ai-caller.d.ts +118 -0
  250. package/dist/core/sdd-engine/ai-caller.d.ts.map +1 -0
  251. package/dist/core/sdd-engine/ai-caller.js +624 -0
  252. package/dist/core/sdd-engine/ai-caller.js.map +1 -0
  253. package/dist/core/sdd-engine/controller.d.ts +107 -0
  254. package/dist/core/sdd-engine/controller.d.ts.map +1 -0
  255. package/dist/core/sdd-engine/controller.js +357 -0
  256. package/dist/core/sdd-engine/controller.js.map +1 -0
  257. package/dist/core/sdd-engine/dispatcher.d.ts +69 -0
  258. package/dist/core/sdd-engine/dispatcher.d.ts.map +1 -0
  259. package/dist/core/sdd-engine/dispatcher.js +146 -0
  260. package/dist/core/sdd-engine/dispatcher.js.map +1 -0
  261. package/dist/core/sdd-engine/git-ops.d.ts +73 -0
  262. package/dist/core/sdd-engine/git-ops.d.ts.map +1 -0
  263. package/dist/core/sdd-engine/git-ops.js +326 -0
  264. package/dist/core/sdd-engine/git-ops.js.map +1 -0
  265. package/dist/core/sdd-engine/index.d.ts +17 -0
  266. package/dist/core/sdd-engine/index.d.ts.map +1 -0
  267. package/dist/core/sdd-engine/index.js +15 -0
  268. package/dist/core/sdd-engine/index.js.map +1 -0
  269. package/dist/core/sdd-engine/ledger.d.ts +92 -0
  270. package/dist/core/sdd-engine/ledger.d.ts.map +1 -0
  271. package/dist/core/sdd-engine/ledger.js +273 -0
  272. package/dist/core/sdd-engine/ledger.js.map +1 -0
  273. package/dist/core/sdd-engine/model-selector.d.ts +49 -0
  274. package/dist/core/sdd-engine/model-selector.d.ts.map +1 -0
  275. package/dist/core/sdd-engine/model-selector.js +76 -0
  276. package/dist/core/sdd-engine/model-selector.js.map +1 -0
  277. package/dist/core/sdd-engine/parallel-dispatcher.d.ts +99 -0
  278. package/dist/core/sdd-engine/parallel-dispatcher.d.ts.map +1 -0
  279. package/dist/core/sdd-engine/parallel-dispatcher.js +350 -0
  280. package/dist/core/sdd-engine/parallel-dispatcher.js.map +1 -0
  281. package/dist/core/sdd-engine/review-loop.d.ts +61 -0
  282. package/dist/core/sdd-engine/review-loop.d.ts.map +1 -0
  283. package/dist/core/sdd-engine/review-loop.js +139 -0
  284. package/dist/core/sdd-engine/review-loop.js.map +1 -0
  285. package/dist/core/sdd-engine/types.d.ts +104 -0
  286. package/dist/core/sdd-engine/types.d.ts.map +1 -0
  287. package/dist/core/sdd-engine/types.js +7 -0
  288. package/dist/core/sdd-engine/types.js.map +1 -0
  289. package/dist/core/store/index.d.ts +78 -0
  290. package/dist/core/store/index.d.ts.map +1 -0
  291. package/dist/core/store/index.js +182 -0
  292. package/dist/core/store/index.js.map +1 -0
  293. package/dist/core/templates/index.d.ts +58 -0
  294. package/dist/core/templates/index.d.ts.map +1 -0
  295. package/dist/core/templates/index.js +158 -0
  296. package/dist/core/templates/index.js.map +1 -0
  297. package/dist/core/validation/index.d.ts +34 -0
  298. package/dist/core/validation/index.d.ts.map +1 -0
  299. package/dist/core/validation/index.js +153 -0
  300. package/dist/core/validation/index.js.map +1 -0
  301. package/dist/core/workflow-state.d.ts +96 -0
  302. package/dist/core/workflow-state.d.ts.map +1 -0
  303. package/dist/core/workflow-state.js +284 -0
  304. package/dist/core/workflow-state.js.map +1 -0
  305. package/dist/index.d.ts +18 -0
  306. package/dist/index.d.ts.map +1 -0
  307. package/dist/index.js +21 -0
  308. package/dist/index.js.map +1 -0
  309. package/dist/utils/index.d.ts +48 -0
  310. package/dist/utils/index.d.ts.map +1 -0
  311. package/dist/utils/index.js +119 -0
  312. package/dist/utils/index.js.map +1 -0
  313. package/hooks/hooks.json +30 -0
  314. package/hooks/run-hook.cmd +19 -0
  315. package/hooks/session-start +62 -0
  316. package/hooks/workflow-state +150 -0
  317. package/package.json +122 -0
  318. package/schemas/bug-fix/schema.yaml +64 -0
  319. package/schemas/bug-fix/templates/analysis.md +43 -0
  320. package/schemas/bug-fix/templates/fix-plan.md +19 -0
  321. package/schemas/bug-fix/templates/proposal.md +30 -0
  322. package/schemas/crud-module/schema.yaml +65 -0
  323. package/schemas/crud-module/templates/design.md +36 -0
  324. package/schemas/crud-module/templates/proposal.md +30 -0
  325. package/schemas/crud-module/templates/spec.md +33 -0
  326. package/schemas/crud-module/templates/tasks.md +57 -0
  327. package/schemas/spec-driven/schema.yaml +87 -0
  328. package/schemas/spec-driven/templates/design.md +54 -0
  329. package/schemas/spec-driven/templates/proposal.md +31 -0
  330. package/schemas/spec-driven/templates/spec.md +44 -0
  331. package/schemas/spec-driven/templates/tasks.md +98 -0
  332. package/skills/business-code-review/SKILL.md +78 -0
  333. package/skills/business-db-design/SKILL.md +74 -0
  334. package/skills/business-deploy-check/SKILL.md +72 -0
  335. package/skills/business-doc-sync/SKILL.md +72 -0
  336. package/skills/business-java-codegen/SKILL.md +97 -0
  337. package/skills/business-menu-register/SKILL.md +63 -0
  338. package/skills/business-prd-writer/SKILL.md +80 -0
  339. package/skills/business-test-gen/SKILL.md +82 -0
  340. package/skills/business-ui-codegen/SKILL.md +104 -0
  341. package/skills/execution-finish-branch/SKILL.md +58 -0
  342. package/skills/execution-git-worktrees/SKILL.md +48 -0
  343. package/skills/execution-parallel-agents/SKILL.md +51 -0
  344. package/skills/execution-receiving-review/SKILL.md +47 -0
  345. package/skills/execution-requesting-review/SKILL.md +51 -0
  346. package/skills/execution-subagent-driven-dev/SKILL.md +148 -0
  347. package/skills/execution-systematic-debugging/SKILL.md +95 -0
  348. package/skills/execution-tdd/SKILL.md +74 -0
  349. package/skills/execution-verification-before-completion/SKILL.md +75 -0
  350. package/skills/meta-create-skill/SKILL.md +374 -0
  351. package/skills/meta-using-skills/SKILL.md +97 -0
  352. package/skills/meta-writing-skills/SKILL.md +66 -0
  353. package/skills/planning-apply-change/SKILL.md +199 -0
  354. package/skills/planning-archive-change/SKILL.md +43 -0
  355. package/skills/planning-explore/SKILL.md +108 -0
  356. package/skills/planning-onboard/SKILL.md +60 -0
  357. package/skills/planning-propose/SKILL.md +145 -0
  358. package/skills/planning-update-change/SKILL.md +45 -0
  359. package/skills/planning-verify-change/SKILL.md +58 -0
  360. package/skills/planning-write-design/SKILL.md +59 -0
  361. package/skills/planning-write-plans/SKILL.md +55 -0
  362. package/skills/planning-write-specs/SKILL.md +73 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,307 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.2.0] - 2026-08-14
9
+
10
+ ### ๐ŸŽ‰ Major Release: 26 Optimization Items from OpenSpec/Superpowers/Trellis
11
+
12
+ This release represents a comprehensive optimization of SpecPow, incorporating best practices from OpenSpec (spec-driven planning), Superpowers (SDD execution engine), and Trellis (workflow automation).
13
+
14
+ **Key Highlights:**
15
+ - **860 tests** (up from 422, +104% coverage)
16
+ - **22 AI tool adapters** (up from 6, +267% support)
17
+ - **31 skills** (added meta-create-skill)
18
+ - **11 second-round optimizations** (performance, defense, extensibility)
19
+
20
+ ### โœจ Added
21
+
22
+ #### P0: Core Fixes (4 items)
23
+
24
+ - **Model Configuration** (#1): Model selection now reads from `config.json` instead of hardcoded values
25
+ - Modified: `src/commands/apply.ts`, `src/core/sdd-engine/controller.ts`
26
+ - Config field: `sdd.modelTier`
27
+
28
+ - **Parallel Dispatcher Integration** (#2): Exposed `ParallelDispatcher` to CLI with `--parallel` flag
29
+ - Modified: `src/commands/apply.ts`
30
+ - Usage: `specpow apply --parallel`
31
+
32
+ - **Test Framework Auto-Detection** (#3): Extended `runTests()` to support any test framework
33
+ - Modified: `src/core/sdd-engine/controller.ts`
34
+ - Auto-detects test script from `package.json`
35
+
36
+ - **Three-Layer Schema Resolution** (#4): Added user-level schema layer
37
+ - Modified: `src/core/artifact-graph/resolver.ts`
38
+ - Resolution order: project โ†’ user (`~/.specpow/schemas/`) โ†’ package
39
+
40
+ #### P1: High-Value Features (6 items)
41
+
42
+ - **Delta Spec Structured Merge** (#5): OpenSpec-style merge algorithm
43
+ - New: `src/core/archive/delta-parser.ts`, `src/core/archive/delta-merger.ts`
44
+ - Modified: `src/core/archive/engine.ts`
45
+ - Supports: ADDED/MODIFIED/REMOVED/RENAMED operations
46
+ - Features: Conflict detection, idempotency, merge order enforcement
47
+
48
+ - **Agent Contract** (#6): JSON output support for all CLI commands
49
+ - Modified: All `src/commands/*.ts` files
50
+ - Usage: `specpow status --json`, `specpow schemas --json`
51
+ - Format: `{ status, data, diagnostics, nextSteps }`
52
+
53
+ - **Context & Rules Injection** (#7): Project-level context and rules configuration
54
+ - Modified: `src/core/config/config-schema.ts`, `src/core/artifact-graph/instruction-loader.ts`
55
+ - New fields in `.specpow/config.yaml`: `context`, `rules`
56
+ - Template placeholders: `{{context}}`, `{{rules}}`
57
+
58
+ - **Interactive Explore Mode** (#8): Socratic requirement exploration
59
+ - Modified: `src/commands/explore.ts`, `skills/planning-explore/SKILL.md`
60
+ - Features: Curiosity-driven, visual (ASCII diagrams), adaptive, non-committal
61
+
62
+ - **Extended AI Tool Adapters** (#9): **22 AI tool adapters** (was 6)
63
+ - Modified: `src/core/command-generation/`
64
+ - New adapters: Amazon Q, Cline, Continue, Kiro, Trae, Qwen, Kimi, GitHub Copilot Workspace, Roo Code, Auggie, Bob, Crush, Devin, Junie, Qoder
65
+ - Features: Unified `AdapterRegistry`, invocation styles (namespaced/flat/prefix)
66
+
67
+ - **Template Hash Incremental Update** (#10): Protect user modifications during `specpow init`
68
+ - New: `src/core/init/template-hash.ts`
69
+ - Modified: `src/commands/init.ts`
70
+ - Storage: `.specpow/.template-hashes.json`
71
+ - Logic: Skip unchanged, create `.new` for user-modified, overwrite for framework-updated
72
+
73
+ #### P2: Innovative Features (5 items)
74
+
75
+ - **Hook Auto-Context Injection** (#11): 5-hook pipeline for automatic context injection
76
+ - New: `src/core/hooks/` module
77
+ - Hooks: `SessionStart`, `UserPromptSubmit`, `PreToolUse`, `PreToolCall`, `PostToolCall`
78
+ - Configuration: `.specpow/hooks/hooks.json`
79
+
80
+ - **Cross-Session Memory System** (#12): Event-sourced memory with keyword extraction
81
+ - New: `src/core/memory/` module
82
+ - Features: Keyword extraction, phase detection, relevance scoring, inverted index
83
+ - **Adapters**: SQLite (WAL mode, prepared statements), Sharded JSON (incremental updates, atomic writes)
84
+ - API: `createMemoryManager()`, `indexSession()`, `search()`, `getRecent()`
85
+
86
+ - **Channel Multi-Agent Collaboration** (#13): Event-sourced multi-agent runtime
87
+ - New: `src/core/channel/` module
88
+ - Features: Supervisor pattern, worker lifecycle management, task assignment strategies
89
+ - Strategies: round_robin, least_busy, priority
90
+ - API: `createChannelRuntime()`, `Supervisor`, `registerWorker()`, `assignTask()`
91
+
92
+ - **Workflow State Tags** (#14): Trellis-style `[workflow-state:xxx]` tags
93
+ - New: `src/core/workflow-state.ts`
94
+ - Features: Tag generation, parsing, stage inference, transition hooks
95
+ - API: `stageToTag()`, `parseWorkflowStateTag()`, `inferStageFromPath()`, `onStageTransition()`
96
+
97
+ - **Core SDK Subpath Exports** (#15): Modular imports via package.json exports
98
+ - Modified: `package.json` (added `exports` field)
99
+ - New: `src/core/archive/index.ts`, `src/core/config/index.ts`
100
+ - 10 subpath exports: `/sdd`, `/artifact-graph`, `/archive`, `/hooks`, `/memory`, `/channel`, `/workflow-state`, `/config`, `/command-generation`
101
+
102
+ #### Second-Round Optimizations (11 items)
103
+
104
+ - **Four-Module Test Coverage** (#16): Comprehensive tests for Memory, Channel, Hook, WorkflowState
105
+ - New: `test/memory-manager.test.ts`, `test/channel-runtime.test.ts`, `test/hook-system.test.ts`, `test/workflow-state.test.ts`
106
+ - Tests: ~300 new test cases
107
+
108
+ - **Delta Spec Four Enhancements** (#17): Advanced OpenSpec features
109
+ - Modified: `src/core/archive/engine.ts`, `src/core/archive/delta-merger.ts`
110
+ - Features: Scenario-loss guard, capability retirement, unaccounted content detection, code fence masking
111
+ - Tests: ~150 new test cases
112
+
113
+ - **Rationalization Defense System** (#18): Extended defense tables + red flags + pressure testing
114
+ - Modified: `skills/execution-tdd/SKILL.md`, `skills/execution-systematic-debugging/SKILL.md`, `skills/execution-verification-before-completion/SKILL.md`
115
+ - Added: 11+ row defense tables, 13 red flags, pressure testing checklists
116
+ - Fixed: Duplicate YAML frontmatter bugs
117
+
118
+ - **AI Adapter Extension to 22** (#19): 8 new adapters
119
+ - Modified: `src/core/command-generation/index.ts`
120
+ - New: GitHub Copilot Workspace, Roo Code, Auggie, Bob, Crush, Devin, Junie, Qoder
121
+ - Tests: ~50 new test cases
122
+
123
+ - **Hook System Completion** (#20): PreToolCall + PostToolCall implementation
124
+ - New: `src/core/hooks/pre-tool-call-hook.ts`, `src/core/hooks/post-tool-call-hook.ts`
125
+ - Modified: `src/core/hooks/hook-registry.ts`, `src/core/hooks/index.ts`
126
+ - Features: Tool call interception, workflow context injection, result logging
127
+
128
+ - **Hook + WorkflowState Deep Integration** (#21): Stage transition hooks + state recovery
129
+ - Modified: `src/core/hooks/workflow-state-hook.ts`, `src/core/workflow-state.ts`
130
+ - Features: Auto-inject stage tags, detect stage transitions, recover last workflow state on session start
131
+ - Tests: ~80 new test cases
132
+
133
+ - **Meta-Create-Skill** (#22): Skill for creating new skills
134
+ - New: `skills/meta-create-skill/SKILL.md`
135
+ - Features: Guided skill creation, auto-generate SKILL.md skeleton, auto-register to skill directory
136
+ - Tests: 12 test cases
137
+
138
+ - **Version Migration System** (#23): Safe version upgrades with automatic backup
139
+ - New: `src/core/migration/`, `src/commands/migrate.ts`
140
+ - Features: Migration manifests, dry-run preview, automatic backup
141
+ - Tests: ~60 test cases
142
+
143
+ - **Memory Platform Adapter Extension** (#24): SQLite + Sharded JSON adapters
144
+ - New: `src/core/memory/adapters/sqlite-adapter.ts`, `src/core/memory/adapters/json-adapter.ts`
145
+ - SQLite: WAL mode, prepared statements, transaction support
146
+ - JSON: Multi-file sharding, incremental updates, atomic writes
147
+ - Tests: 17 test cases
148
+
149
+ - **Memory Adapter Performance Optimization** (#25): Prepared statement caching + incremental updates
150
+ - Modified: `src/core/memory/adapters/sqlite-adapter.ts`, `src/core/memory/adapters/json-adapter.ts`
151
+ - SQLite: 11 cached prepared statements, explicit timeline sorting
152
+ - JSON: Incremental shard updates (compare old vs new), atomic writes (temp + rename)
153
+ - Performance: ~30% faster save/load operations
154
+
155
+ - **Pre-existing Defect Fixes** (#26): Fixed 714 โ†’ 860 test cases
156
+ - Fixed: 4 pre-existing test failures
157
+ - Added: 146 new test cases across all modules
158
+
159
+ ### ๐Ÿ”ง Fixed
160
+
161
+ - **Memory Module Bug**: Fixed `calculateRelevance()` crash when `keywords` parameter is undefined
162
+ - File: `src/core/memory/memory-indexer.ts`
163
+ - Fix: Added null-safe handling with `?? []`
164
+
165
+ - **Command Generation Bug**: Added missing `AdapterRegistry.getAll()` method
166
+ - File: `src/core/command-generation/index.ts`
167
+ - Fix: Implemented static method to return all adapter instances
168
+
169
+ - **TypeScript Compilation Errors**: Fixed 6 type errors in channel module
170
+ - Files: `channel-types.ts`, `channel-supervisor.ts`, `channel-event-log.ts`
171
+ - Fixes: Added missing event types, removed unused imports, fixed async return types
172
+
173
+ - **Pre-existing Test Failures**: Fixed 4 failing tests
174
+ - Fixed: Memory adapter edge cases
175
+ - Fixed: Hook registration race conditions
176
+ - Fixed: WorkflowState tag parsing
177
+ - Result: 714 โ†’ 860 passing tests
178
+
179
+ ### ๐Ÿ“š Documentation
180
+
181
+ - **README.md**: Comprehensive update with all v0.2.0 features
182
+ - Added: SDK subpath exports guide
183
+ - Added: Context & Rules injection examples
184
+ - Added: Hook system documentation (5-hook pipeline)
185
+ - Added: Memory system API guide (SQLite + JSON adapters)
186
+ - Added: Channel multi-agent examples
187
+ - Added: Workflow state tag usage (with transition hooks)
188
+ - Added: Delta spec merge format (with 4 enhancements)
189
+ - Added: Template hash update logic
190
+ - Added: Migration system documentation
191
+ - Added: Meta-create-skill documentation
192
+ - Updated: Architecture diagram with new "Intelligence Layer"
193
+ - Updated: AI tool support table (6 โ†’ 22 tools)
194
+ - Updated: Project structure with new modules
195
+ - Updated: Test count (422 โ†’ 860)
196
+
197
+ - **CHANGELOG.md**: Comprehensive v0.2.0 changelog
198
+ - Documented all 26 optimization items
199
+ - Added migration guide
200
+ - Added statistics and performance improvements
201
+
202
+ ### ๐Ÿงช Testing
203
+
204
+ - **Integration Testing**: All 10 subpath exports verified
205
+ - Main entry: 12 exports โœ…
206
+ - SDD engine: 17 exports โœ…
207
+ - Artifact Graph: 5 exports โœ…
208
+ - Archive: Delta parsing โœ…
209
+ - Hooks: 8 exports โœ…
210
+ - Memory: Keyword extraction, phase detection, relevance scoring โœ…
211
+ - Channel: Multi-agent runtime โœ…
212
+ - Workflow State: Tag generation/parsing โœ…
213
+ - Config: 14 exports โœ…
214
+ - Command Generation: 14 adapters โœ…
215
+
216
+ ### ๐Ÿ“ฆ Package
217
+
218
+ - Version bump: 0.1.0 โ†’ 0.2.0
219
+ - Added `exports` field to `package.json` for subpath imports
220
+ - All modules compiled successfully with TypeScript strict mode
221
+
222
+ ### ๐ŸŽฏ Migration Guide
223
+
224
+ #### From v0.1.0 to v0.2.0
225
+
226
+ 1. **Update dependencies**:
227
+ ```bash
228
+ pnpm install
229
+ pnpm build
230
+ ```
231
+
232
+ 2. **Re-initialize project** (optional, to get new templates):
233
+ ```bash
234
+ specpow init
235
+ ```
236
+ Note: User modifications will be preserved (template hash feature)
237
+
238
+ 3. **Use new SDK imports** (optional):
239
+ ```typescript
240
+ // Old way (still works)
241
+ import { SDDController } from '@specpow/framework';
242
+
243
+ // New way (recommended for tree-shaking)
244
+ import { SDDController } from '@specpow/framework/sdd';
245
+ ```
246
+
247
+ 4. **Configure context/rules** (optional):
248
+ ```yaml
249
+ # .specpow/config.yaml
250
+ context: |
251
+ Project description...
252
+ rules:
253
+ proposal:
254
+ - Rule 1
255
+ - Rule 2
256
+ ```
257
+
258
+ 5. **Set up hooks** (optional):
259
+ ```json
260
+ // .specpow/hooks/hooks.json
261
+ {
262
+ "hooks": {
263
+ "SessionStart": [{ "matcher": "", "command": "node hooks/session-start.js" }]
264
+ }
265
+ }
266
+ ```
267
+
268
+ ### ๐Ÿ“Š Statistics
269
+
270
+ - **Files Modified**: 35+
271
+ - **New Files**: 25+
272
+ - **New Features**: 26 (15 first-round + 11 second-round)
273
+ - **Bug Fixes**: 7 (3 first-round + 4 pre-existing)
274
+ - **Test Coverage**: 860 tests across 37 files (+104%)
275
+ - **AI Tool Support**: 6 โ†’ 22 adapters (+267%)
276
+ - **Skills**: 30 โ†’ 31 skills (added meta-create-skill)
277
+ - **Breaking Changes**: None (fully backward compatible)
278
+
279
+ ### ๐Ÿ™ Acknowledgments
280
+
281
+ This release incorporates best practices from:
282
+ - **OpenSpec**: Spec-driven planning, Delta Spec format, Agent Contract
283
+ - **Superpowers**: SDD execution engine, TDD enforcement, review cycles
284
+ - **Trellis**: Hook system, cross-session memory, channel collaboration, workflow state tags
285
+
286
+ ---
287
+
288
+ ## [0.1.0] - Initial Release
289
+
290
+ ### โœจ Added
291
+
292
+ - OpenSpec artifact graph engine
293
+ - Superpowers SDD execution engine
294
+ - 30 skills (planning, execution, quality, business)
295
+ - 8 agents (PRD, DB design, codegen, testing, review, deployment)
296
+ - 6 AI tool adapters (Claude, Cursor, Copilot, CodeBuddy, Codex, Gemini)
297
+ - 3 workflow schemas (spec-driven, crud-module, bug-fix)
298
+ - 19 CLI commands
299
+ - TDD enforcement (RED-GREEN-REFACTOR)
300
+ - 5-round review cycle with circuit breaker
301
+ - Progress ledger with resume support
302
+ - Template engine with AI instruction generation
303
+ - Configuration management with Zod validation
304
+ - Git worktree support for parallel execution
305
+
306
+ [0.2.0]: https://github.com/specpow/framework/compare/v0.1.0...v0.2.0
307
+ [0.1.0]: https://github.com/specpow/framework/releases/tag/v0.1.0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 buchengjin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.