sdd-forge 0.1.0-alpha.7 → 0.1.0-alpha.759

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 (470) hide show
  1. package/README.md +122 -36
  2. package/package.json +17 -5
  3. package/src/AGENTS.md +485 -0
  4. package/src/api.js +12 -0
  5. package/src/check/commands/config.js +140 -0
  6. package/src/check/commands/freshness.js +205 -0
  7. package/src/check/commands/scan.js +273 -0
  8. package/src/check.js +41 -0
  9. package/src/docs/commands/agents.js +152 -294
  10. package/src/docs/commands/changelog.js +30 -40
  11. package/src/docs/commands/data.js +83 -110
  12. package/src/docs/commands/enrich.js +521 -0
  13. package/src/docs/commands/forge.js +266 -624
  14. package/src/docs/commands/init.js +145 -467
  15. package/src/docs/commands/readme.js +128 -140
  16. package/src/docs/commands/review.js +246 -43
  17. package/src/docs/commands/scan.js +407 -103
  18. package/src/docs/commands/text.js +477 -441
  19. package/src/docs/commands/translate.js +227 -0
  20. package/src/docs/data/agents.js +139 -0
  21. package/src/docs/data/docs.js +287 -0
  22. package/src/docs/data/lang.js +109 -0
  23. package/src/docs/data/project.js +56 -0
  24. package/src/docs/data/text.js +32 -0
  25. package/src/docs/lib/analysis-entry.js +78 -0
  26. package/src/docs/lib/analysis-filter.js +60 -0
  27. package/src/docs/lib/chapter-resolver.js +141 -0
  28. package/src/docs/lib/command-context.js +182 -0
  29. package/src/docs/lib/concurrency.js +47 -0
  30. package/src/docs/lib/data-source-loader.js +45 -0
  31. package/src/docs/lib/data-source.js +91 -0
  32. package/src/docs/lib/directive-parser.js +418 -87
  33. package/src/docs/lib/forge-prompts.js +182 -0
  34. package/src/docs/lib/lang/js.js +163 -0
  35. package/src/docs/lib/lang/php.js +173 -0
  36. package/src/docs/lib/lang/py.js +34 -0
  37. package/src/docs/lib/lang/yaml.js +19 -0
  38. package/src/docs/lib/lang-factory.js +37 -0
  39. package/src/docs/lib/minify.js +49 -0
  40. package/src/docs/lib/resolver-factory.js +99 -43
  41. package/src/docs/lib/review-parser.js +84 -0
  42. package/src/docs/lib/scan-source.js +75 -0
  43. package/src/docs/lib/scanner.js +111 -334
  44. package/src/docs/lib/template-merger.js +520 -169
  45. package/src/docs/lib/test-env-detection.js +58 -0
  46. package/src/docs/lib/text-prompts.js +295 -0
  47. package/src/docs/lib/toml-parser.js +135 -0
  48. package/src/docs.js +189 -83
  49. package/src/flow/commands/merge.js +209 -0
  50. package/src/flow/commands/report.js +242 -0
  51. package/src/flow/commands/review.js +943 -0
  52. package/src/flow/lib/base-command.js +40 -0
  53. package/src/flow/lib/get-check.js +83 -0
  54. package/src/flow/lib/get-context.js +400 -0
  55. package/src/flow/lib/get-guardrail.js +61 -0
  56. package/src/flow/lib/get-issue.js +42 -0
  57. package/src/flow/lib/get-prompt.js +343 -0
  58. package/src/flow/lib/get-qa-count.js +16 -0
  59. package/src/flow/lib/get-resolve-context.js +99 -0
  60. package/src/flow/lib/get-status.js +65 -0
  61. package/src/flow/lib/get-test-result.js +90 -0
  62. package/src/flow/lib/run-finalize.js +374 -0
  63. package/src/flow/lib/run-gate.js +540 -0
  64. package/src/flow/lib/run-impl-confirm.js +101 -0
  65. package/src/flow/lib/run-lint.js +61 -0
  66. package/src/flow/lib/run-prepare-spec.js +337 -0
  67. package/src/flow/lib/run-report.js +56 -0
  68. package/src/flow/lib/run-resume.js +105 -0
  69. package/src/flow/lib/run-retro.js +234 -0
  70. package/src/flow/lib/run-review.js +201 -0
  71. package/src/flow/lib/run-sync.js +85 -0
  72. package/src/flow/lib/set-auto.js +29 -0
  73. package/src/flow/lib/set-init.js +34 -0
  74. package/src/flow/lib/set-issue-log.js +73 -0
  75. package/src/flow/lib/set-issue.js +34 -0
  76. package/src/flow/lib/set-metric.js +41 -0
  77. package/src/flow/lib/set-note.js +24 -0
  78. package/src/flow/lib/set-req.js +37 -0
  79. package/src/flow/lib/set-request.js +24 -0
  80. package/src/flow/lib/set-step.js +32 -0
  81. package/src/flow/lib/set-summary.js +44 -0
  82. package/src/flow/lib/set-test-summary.js +39 -0
  83. package/src/flow/registry.js +470 -0
  84. package/src/flow.js +244 -191
  85. package/src/help.js +43 -46
  86. package/src/lib/NOTICE +15 -0
  87. package/src/lib/agent.js +712 -23
  88. package/src/lib/agents-md.js +25 -0
  89. package/src/lib/cli.js +45 -20
  90. package/src/lib/config.js +65 -46
  91. package/src/lib/constants.js +109 -0
  92. package/src/lib/entrypoint.js +24 -0
  93. package/src/lib/exit-codes.js +8 -0
  94. package/src/lib/flow-envelope.js +61 -0
  95. package/src/lib/flow-state.js +871 -18
  96. package/src/lib/formatter.js +21 -0
  97. package/src/lib/git-helpers.js +70 -0
  98. package/src/lib/guardrail.js +183 -0
  99. package/src/lib/i18n.js +189 -51
  100. package/src/lib/include.js +113 -0
  101. package/src/lib/json-parse.js +286 -0
  102. package/src/lib/lint.js +124 -0
  103. package/src/lib/log.js +431 -0
  104. package/src/lib/multi-select.js +265 -0
  105. package/src/lib/presets.js +209 -0
  106. package/src/lib/process.js +124 -21
  107. package/src/lib/progress.js +75 -13
  108. package/src/lib/skills.js +193 -0
  109. package/src/lib/types.js +283 -93
  110. package/src/loader.js +36 -0
  111. package/src/locale/en/messages.json +117 -0
  112. package/src/locale/en/prompts.json +68 -0
  113. package/src/locale/en/ui.json +306 -0
  114. package/src/locale/ja/messages.json +117 -0
  115. package/src/locale/ja/prompts.json +68 -0
  116. package/src/locale/ja/ui.json +306 -0
  117. package/src/metrics/commands/token.js +416 -0
  118. package/src/metrics.js +38 -0
  119. package/src/presets/api/guardrail.json +25 -0
  120. package/src/presets/api/preset.json +31 -0
  121. package/src/presets/api/templates/en/api_overview.md +22 -0
  122. package/src/presets/api/templates/en/authentication.md +22 -0
  123. package/src/presets/api/templates/ja/api_overview.md +22 -0
  124. package/src/presets/api/templates/ja/authentication.md +22 -0
  125. package/src/presets/architecture/guardrail.json +15 -0
  126. package/src/presets/architecture/preset.json +6 -0
  127. package/src/presets/base/data/package.js +60 -0
  128. package/src/presets/base/data/structure.js +109 -0
  129. package/src/presets/base/guardrail.json +241 -0
  130. package/src/presets/base/preset.json +22 -0
  131. package/src/presets/base/templates/en/AGENTS.sdd.md +28 -0
  132. package/src/presets/base/templates/en/development.md +42 -0
  133. package/src/presets/base/templates/en/layout.md +10 -0
  134. package/src/presets/base/templates/en/overview.md +47 -0
  135. package/src/presets/base/templates/en/project_structure.md +35 -0
  136. package/src/presets/base/templates/en/stack_and_ops.md +44 -0
  137. package/src/presets/base/templates/ja/AGENTS.sdd.md +28 -0
  138. package/src/presets/base/templates/ja/development.md +42 -0
  139. package/src/presets/base/templates/ja/layout.md +10 -0
  140. package/src/presets/base/templates/ja/overview.md +47 -0
  141. package/src/presets/base/templates/ja/project_structure.md +35 -0
  142. package/src/presets/base/templates/ja/stack_and_ops.md +44 -0
  143. package/src/presets/cakephp2/data/commands.js +129 -0
  144. package/src/presets/cakephp2/data/config.js +831 -0
  145. package/src/presets/cakephp2/data/controllers.js +176 -0
  146. package/src/presets/cakephp2/data/docker.js +17 -0
  147. package/src/presets/cakephp2/data/email.js +178 -0
  148. package/src/presets/cakephp2/data/libs.js +153 -0
  149. package/src/presets/cakephp2/data/models.js +537 -0
  150. package/src/presets/cakephp2/data/tables.js +122 -0
  151. package/src/presets/cakephp2/data/tests.js +84 -0
  152. package/src/presets/cakephp2/data/views.js +326 -0
  153. package/src/presets/cakephp2/guardrail.json +46 -0
  154. package/src/presets/cakephp2/preset.json +14 -0
  155. package/src/presets/cakephp2/templates/en/auth_and_session.md +42 -0
  156. package/src/presets/cakephp2/templates/en/business_logic.md +16 -0
  157. package/src/presets/cakephp2/templates/en/commands.md +16 -0
  158. package/src/presets/cakephp2/templates/en/controller_routes.md +19 -0
  159. package/src/presets/cakephp2/templates/en/database_architecture.md +11 -0
  160. package/src/presets/cakephp2/templates/en/db_tables.md +16 -0
  161. package/src/presets/cakephp2/templates/en/development.md +46 -0
  162. package/src/presets/cakephp2/templates/en/project_structure.md +31 -0
  163. package/src/presets/cakephp2/templates/en/stack_and_ops.md +43 -0
  164. package/src/presets/cakephp2/templates/ja/auth_and_session.md +42 -0
  165. package/src/presets/cakephp2/templates/ja/business_logic.md +16 -0
  166. package/src/presets/cakephp2/templates/ja/commands.md +16 -0
  167. package/src/presets/cakephp2/templates/ja/controller_routes.md +19 -0
  168. package/src/presets/cakephp2/templates/ja/database_architecture.md +11 -0
  169. package/src/presets/cakephp2/templates/ja/db_tables.md +16 -0
  170. package/src/presets/cakephp2/templates/ja/development.md +46 -0
  171. package/src/presets/cakephp2/templates/ja/project_structure.md +31 -0
  172. package/src/presets/cakephp2/templates/ja/stack_and_ops.md +43 -0
  173. package/src/presets/ci/guardrail.json +25 -0
  174. package/src/presets/ci/preset.json +27 -0
  175. package/src/presets/ci/templates/en/ci_cd.md +33 -0
  176. package/src/presets/ci/templates/ja/ci_cd.md +33 -0
  177. package/src/presets/cli/data/commands.js +52 -0
  178. package/src/presets/cli/data/modules.js +64 -0
  179. package/src/presets/cli/guardrail.json +26 -0
  180. package/src/presets/cli/preset.json +31 -0
  181. package/src/presets/cli/templates/en/README.md +35 -0
  182. package/src/presets/cli/templates/en/commands.md +35 -0
  183. package/src/presets/cli/templates/en/config.md +41 -0
  184. package/src/presets/cli/templates/ja/README.md +35 -0
  185. package/src/presets/cli/templates/ja/commands.md +35 -0
  186. package/src/presets/cli/templates/ja/config.md +41 -0
  187. package/src/presets/coding-rule/guardrail.json +51 -0
  188. package/src/presets/coding-rule/preset.json +5 -0
  189. package/src/presets/database/data/schema.js +38 -0
  190. package/src/presets/database/guardrail.json +58 -0
  191. package/src/presets/database/preset.json +11 -0
  192. package/src/presets/database/templates/en/database.md +16 -0
  193. package/src/presets/database/templates/ja/database.md +16 -0
  194. package/src/presets/document/guardrail.json +24 -0
  195. package/src/presets/document/preset.json +5 -0
  196. package/src/presets/drizzle/data/schema.js +231 -0
  197. package/src/presets/drizzle/preset.json +27 -0
  198. package/src/presets/drizzle/templates/en/database.md +11 -0
  199. package/src/presets/drizzle/templates/en/schema.md +20 -0
  200. package/src/presets/drizzle/templates/ja/database.md +11 -0
  201. package/src/presets/drizzle/templates/ja/schema.md +20 -0
  202. package/src/presets/edge/data/runtime.js +106 -0
  203. package/src/presets/edge/guardrail.json +35 -0
  204. package/src/presets/edge/preset.json +11 -0
  205. package/src/presets/edge/templates/en/edge_runtime.md +20 -0
  206. package/src/presets/edge/templates/ja/edge_runtime.md +20 -0
  207. package/src/presets/github-actions/data/pipelines.js +361 -0
  208. package/src/presets/github-actions/guardrail.json +34 -0
  209. package/src/presets/github-actions/preset.json +11 -0
  210. package/src/presets/github-actions/templates/en/ci_cd.md +16 -0
  211. package/src/presets/github-actions/templates/ja/ci_cd.md +16 -0
  212. package/src/presets/graphql/data/schema.js +198 -0
  213. package/src/presets/graphql/guardrail.json +36 -0
  214. package/src/presets/graphql/preset.json +46 -0
  215. package/src/presets/graphql/templates/en/api_overview.md +8 -0
  216. package/src/presets/graphql/templates/en/authentication.md +15 -0
  217. package/src/presets/graphql/templates/en/schema.md +27 -0
  218. package/src/presets/graphql/templates/ja/api_overview.md +8 -0
  219. package/src/presets/graphql/templates/ja/authentication.md +15 -0
  220. package/src/presets/graphql/templates/ja/schema.md +27 -0
  221. package/src/presets/greenfield/guardrail.json +65 -0
  222. package/src/presets/greenfield/preset.json +5 -0
  223. package/src/presets/hono/data/middleware.js +137 -0
  224. package/src/presets/hono/preset.json +53 -0
  225. package/src/presets/hono/templates/en/middleware.md +13 -0
  226. package/src/presets/hono/templates/ja/middleware.md +13 -0
  227. package/src/presets/infrastructure/guardrail.json +15 -0
  228. package/src/presets/infrastructure/preset.json +5 -0
  229. package/src/presets/js-webapp/guardrail.json +14 -0
  230. package/src/presets/js-webapp/preset.json +24 -0
  231. package/src/presets/laravel/data/commands.js +22 -0
  232. package/src/presets/laravel/data/config.js +336 -0
  233. package/src/presets/laravel/data/controllers.js +177 -0
  234. package/src/presets/laravel/data/models.js +268 -0
  235. package/src/presets/laravel/data/routes.js +270 -0
  236. package/src/presets/laravel/data/tables.js +306 -0
  237. package/src/presets/laravel/guardrail.json +46 -0
  238. package/src/presets/laravel/preset.json +17 -0
  239. package/src/presets/laravel/templates/en/auth_and_session.md +29 -0
  240. package/src/presets/laravel/templates/en/controller_routes.md +34 -0
  241. package/src/presets/laravel/templates/en/db_tables.md +16 -0
  242. package/src/presets/laravel/templates/en/project_structure.md +13 -0
  243. package/src/presets/laravel/templates/en/stack_and_ops.md +34 -0
  244. package/src/presets/laravel/templates/ja/auth_and_session.md +29 -0
  245. package/src/presets/laravel/templates/ja/controller_routes.md +34 -0
  246. package/src/presets/laravel/templates/ja/db_tables.md +16 -0
  247. package/src/presets/laravel/templates/ja/project_structure.md +13 -0
  248. package/src/presets/laravel/templates/ja/stack_and_ops.md +34 -0
  249. package/src/presets/lib/composer-utils.js +61 -0
  250. package/src/presets/lib/path-match.js +36 -0
  251. package/src/presets/library/guardrail.json +36 -0
  252. package/src/presets/library/preset.json +31 -0
  253. package/src/presets/library/templates/en/README.md +16 -0
  254. package/src/presets/library/templates/en/public_api.md +34 -0
  255. package/src/presets/library/templates/en/usage.md +41 -0
  256. package/src/presets/library/templates/ja/README.md +16 -0
  257. package/src/presets/library/templates/ja/public_api.md +34 -0
  258. package/src/presets/library/templates/ja/usage.md +41 -0
  259. package/src/presets/maintenance/guardrail.json +45 -0
  260. package/src/presets/maintenance/preset.json +5 -0
  261. package/src/presets/monorepo/data/monorepo.js +79 -0
  262. package/src/presets/monorepo/guardrail.json +26 -0
  263. package/src/presets/monorepo/preset.json +6 -0
  264. package/src/presets/mysql/NOTICE +26 -0
  265. package/src/presets/mysql/guardrail.json +108 -0
  266. package/src/presets/mysql/preset.json +6 -0
  267. package/src/presets/nextjs/NOTICE +19 -0
  268. package/src/presets/nextjs/data/components.js +140 -0
  269. package/src/presets/nextjs/data/routes.js +326 -0
  270. package/src/presets/nextjs/guardrail.json +128 -0
  271. package/src/presets/nextjs/preset.json +59 -0
  272. package/src/presets/nextjs/templates/en/components.md +27 -0
  273. package/src/presets/nextjs/templates/en/middleware.md +13 -0
  274. package/src/presets/nextjs/templates/en/pages_routing.md +27 -0
  275. package/src/presets/nextjs/templates/en/route_handlers.md +13 -0
  276. package/src/presets/nextjs/templates/ja/components.md +27 -0
  277. package/src/presets/nextjs/templates/ja/middleware.md +13 -0
  278. package/src/presets/nextjs/templates/ja/pages_routing.md +27 -0
  279. package/src/presets/nextjs/templates/ja/route_handlers.md +13 -0
  280. package/src/presets/node-cli/guardrail.json +24 -0
  281. package/src/presets/node-cli/preset.json +44 -0
  282. package/src/presets/node-cli/templates/en/README.md +31 -0
  283. package/src/presets/node-cli/templates/en/cli_commands.md +31 -0
  284. package/src/presets/node-cli/templates/en/configuration.md +31 -0
  285. package/src/presets/node-cli/templates/en/development_testing.md +49 -0
  286. package/src/presets/node-cli/templates/en/internal_design.md +36 -0
  287. package/src/presets/node-cli/templates/en/overview.md +31 -0
  288. package/src/presets/node-cli/templates/ja/README.md +31 -0
  289. package/src/presets/node-cli/templates/ja/cli_commands.md +31 -0
  290. package/src/presets/node-cli/templates/ja/configuration.md +31 -0
  291. package/src/presets/node-cli/templates/ja/development_testing.md +49 -0
  292. package/src/presets/node-cli/templates/ja/internal_design.md +36 -0
  293. package/src/presets/node-cli/templates/ja/overview.md +31 -0
  294. package/src/presets/oss-contribute/guardrail.json +35 -0
  295. package/src/presets/oss-contribute/preset.json +5 -0
  296. package/src/presets/php-webapp/preset.json +10 -0
  297. package/src/presets/postgres/data/database.js +19 -0
  298. package/src/presets/postgres/preset.json +11 -0
  299. package/src/presets/postgres/templates/en/database.md +9 -0
  300. package/src/presets/postgres/templates/ja/database.md +9 -0
  301. package/src/presets/principle/preset.json +5 -0
  302. package/src/presets/r2/data/storage.js +78 -0
  303. package/src/presets/r2/preset.json +11 -0
  304. package/src/presets/r2/templates/en/storage.md +11 -0
  305. package/src/presets/r2/templates/ja/storage.md +11 -0
  306. package/src/presets/rest/guardrail.json +15 -0
  307. package/src/presets/rest/preset.json +35 -0
  308. package/src/presets/rest/templates/en/api_overview.md +8 -0
  309. package/src/presets/rest/templates/en/authentication.md +15 -0
  310. package/src/presets/rest/templates/en/endpoints.md +20 -0
  311. package/src/presets/rest/templates/ja/api_overview.md +8 -0
  312. package/src/presets/rest/templates/ja/authentication.md +15 -0
  313. package/src/presets/rest/templates/ja/endpoints.md +20 -0
  314. package/src/presets/storage/data/buckets.js +23 -0
  315. package/src/presets/storage/guardrail.json +26 -0
  316. package/src/presets/storage/preset.json +11 -0
  317. package/src/presets/storage/templates/en/storage.md +20 -0
  318. package/src/presets/storage/templates/ja/storage.md +20 -0
  319. package/src/presets/symfony/NOTICE +51 -0
  320. package/src/presets/symfony/data/commands.js +42 -0
  321. package/src/presets/symfony/data/config.js +273 -0
  322. package/src/presets/symfony/data/controllers.js +215 -0
  323. package/src/presets/symfony/data/entities.js +233 -0
  324. package/src/presets/symfony/data/routes.js +333 -0
  325. package/src/{docs/presets/webapp/symfony/analyze-migrations.js → presets/symfony/data/tables.js} +130 -45
  326. package/src/presets/symfony/guardrail.json +308 -0
  327. package/src/presets/symfony/preset.json +16 -0
  328. package/src/presets/symfony/templates/en/auth_and_session.md +29 -0
  329. package/src/presets/symfony/templates/en/business_logic.md +10 -0
  330. package/src/presets/symfony/templates/en/controller_routes.md +32 -0
  331. package/src/presets/symfony/templates/en/db_tables.md +21 -0
  332. package/src/presets/symfony/templates/en/project_structure.md +13 -0
  333. package/src/presets/symfony/templates/en/stack_and_ops.md +34 -0
  334. package/src/presets/symfony/templates/ja/auth_and_session.md +29 -0
  335. package/src/presets/symfony/templates/ja/business_logic.md +10 -0
  336. package/src/presets/symfony/templates/ja/controller_routes.md +32 -0
  337. package/src/presets/symfony/templates/ja/db_tables.md +21 -0
  338. package/src/presets/symfony/templates/ja/project_structure.md +13 -0
  339. package/src/presets/symfony/templates/ja/stack_and_ops.md +34 -0
  340. package/src/presets/ui-ux/preset.json +5 -0
  341. package/src/presets/web-design/NOTICE +10 -0
  342. package/src/presets/web-design/guardrail.json +75 -0
  343. package/src/presets/web-design/preset.json +5 -0
  344. package/src/presets/webapp/NOTICE +16 -0
  345. package/src/presets/webapp/data/commands.js +47 -0
  346. package/src/presets/webapp/data/controllers.js +64 -0
  347. package/src/presets/webapp/data/models.js +77 -0
  348. package/src/presets/webapp/data/routes.js +63 -0
  349. package/src/presets/webapp/data/tables.js +51 -0
  350. package/src/presets/webapp/data/webapp-data-source.js +11 -0
  351. package/src/presets/webapp/guardrail.json +122 -0
  352. package/src/presets/webapp/preset.json +47 -0
  353. package/src/presets/webapp/templates/en/README.md +20 -0
  354. package/src/presets/webapp/templates/en/auth_and_session.md +47 -0
  355. package/src/presets/webapp/templates/en/business_logic.md +45 -0
  356. package/src/presets/webapp/templates/en/commands.md +42 -0
  357. package/src/presets/webapp/templates/en/controller_routes.md +49 -0
  358. package/src/presets/webapp/templates/en/database_architecture.md +41 -0
  359. package/src/presets/webapp/templates/en/db_tables.md +29 -0
  360. package/src/presets/webapp/templates/ja/README.md +20 -0
  361. package/src/presets/webapp/templates/ja/auth_and_session.md +47 -0
  362. package/src/presets/webapp/templates/ja/business_logic.md +45 -0
  363. package/src/presets/webapp/templates/ja/commands.md +42 -0
  364. package/src/presets/webapp/templates/ja/controller_routes.md +49 -0
  365. package/src/presets/webapp/templates/ja/database_architecture.md +41 -0
  366. package/src/presets/webapp/templates/ja/db_tables.md +29 -0
  367. package/src/presets/workers/data/bindings.js +297 -0
  368. package/src/presets/workers/guardrail.json +15 -0
  369. package/src/presets/workers/preset.json +29 -0
  370. package/src/presets/workers/templates/en/bindings.md +20 -0
  371. package/src/presets/workers/templates/en/edge_runtime.md +11 -0
  372. package/src/presets/workers/templates/ja/bindings.md +20 -0
  373. package/src/presets/workers/templates/ja/edge_runtime.md +11 -0
  374. package/src/presets-cmd.js +83 -0
  375. package/src/sdd-forge.js +54 -81
  376. package/src/setup.js +560 -0
  377. package/src/templates/config.example.json +51 -25
  378. package/src/templates/partials/choice-format.md +13 -0
  379. package/src/templates/partials/context-recording.md +3 -0
  380. package/src/templates/partials/core-principle.md +19 -0
  381. package/src/templates/partials/flow-tracking.md +1 -0
  382. package/src/templates/partials/issue-log-recording.md +41 -0
  383. package/src/templates/partials/worktree-mode.md +4 -0
  384. package/src/templates/skills/sdd-forge.flow-auto/SKILL.md +52 -0
  385. package/src/templates/skills/sdd-forge.flow-finalize/SKILL.md +107 -0
  386. package/src/templates/skills/sdd-forge.flow-impl/SKILL.md +238 -0
  387. package/src/templates/skills/sdd-forge.flow-plan/SKILL.md +274 -0
  388. package/src/templates/skills/sdd-forge.flow-resume/SKILL.md +34 -0
  389. package/src/templates/skills/sdd-forge.flow-status/SKILL.md +99 -0
  390. package/src/templates/skills/sdd-forge.flow-sync/SKILL.md +35 -0
  391. package/src/upgrade.js +132 -0
  392. package/src/README.md +0 -169
  393. package/src/docs/commands/default-project.js +0 -45
  394. package/src/docs/commands/setup.js +0 -664
  395. package/src/docs/commands/upgrade.js +0 -214
  396. package/src/docs/lib/renderers.js +0 -150
  397. package/src/docs/lib/resolver-base.js +0 -229
  398. package/src/docs/presets/registry.js +0 -75
  399. package/src/docs/presets/webapp/cakephp2/analyze-controllers.js +0 -85
  400. package/src/docs/presets/webapp/cakephp2/analyze-extras.js +0 -944
  401. package/src/docs/presets/webapp/cakephp2/analyze-models.js +0 -130
  402. package/src/docs/presets/webapp/cakephp2/analyze-routes.js +0 -50
  403. package/src/docs/presets/webapp/cakephp2/analyze-shells.js +0 -75
  404. package/src/docs/presets/webapp/cakephp2/resolver.js +0 -328
  405. package/src/docs/presets/webapp/cakephp2/scanner.js +0 -74
  406. package/src/docs/presets/webapp/laravel/analyze-config.js +0 -124
  407. package/src/docs/presets/webapp/laravel/analyze-controllers.js +0 -86
  408. package/src/docs/presets/webapp/laravel/analyze-migrations.js +0 -147
  409. package/src/docs/presets/webapp/laravel/analyze-models.js +0 -173
  410. package/src/docs/presets/webapp/laravel/analyze-routes.js +0 -121
  411. package/src/docs/presets/webapp/laravel/resolver.js +0 -234
  412. package/src/docs/presets/webapp/laravel/scanner.js +0 -104
  413. package/src/docs/presets/webapp/symfony/analyze-config.js +0 -136
  414. package/src/docs/presets/webapp/symfony/analyze-controllers.js +0 -105
  415. package/src/docs/presets/webapp/symfony/analyze-entities.js +0 -152
  416. package/src/docs/presets/webapp/symfony/analyze-routes.js +0 -207
  417. package/src/docs/presets/webapp/symfony/resolver.js +0 -223
  418. package/src/docs/presets/webapp/symfony/scanner.js +0 -104
  419. package/src/lib/projects.js +0 -127
  420. package/src/spec.js +0 -31
  421. package/src/specs/commands/gate.js +0 -108
  422. package/src/specs/commands/init.js +0 -286
  423. package/src/templates/locale/en/ui.json +0 -114
  424. package/src/templates/locale/ja/base/01_overview.md +0 -33
  425. package/src/templates/locale/ja/base/02_stack_and_ops.md +0 -33
  426. package/src/templates/locale/ja/base/03_project_structure.md +0 -27
  427. package/src/templates/locale/ja/base/04_development.md +0 -40
  428. package/src/templates/locale/ja/base/AGENTS.sdd.md +0 -84
  429. package/src/templates/locale/ja/cli/05_commands.md +0 -33
  430. package/src/templates/locale/ja/cli/06_config.md +0 -33
  431. package/src/templates/locale/ja/cli/README.md +0 -31
  432. package/src/templates/locale/ja/cli/node-cli/01_overview.md +0 -23
  433. package/src/templates/locale/ja/cli/node-cli/02_cli_commands.md +0 -23
  434. package/src/templates/locale/ja/cli/node-cli/03_configuration.md +0 -23
  435. package/src/templates/locale/ja/cli/node-cli/04_internal_design.md +0 -30
  436. package/src/templates/locale/ja/cli/node-cli/05_development.md +0 -49
  437. package/src/templates/locale/ja/cli/node-cli/README.md +0 -41
  438. package/src/templates/locale/ja/library/05_public_api.md +0 -27
  439. package/src/templates/locale/ja/library/06_usage.md +0 -33
  440. package/src/templates/locale/ja/library/README.md +0 -18
  441. package/src/templates/locale/ja/messages.json +0 -9
  442. package/src/templates/locale/ja/prompts.json +0 -4
  443. package/src/templates/locale/ja/sections.json +0 -6
  444. package/src/templates/locale/ja/ui.json +0 -114
  445. package/src/templates/locale/ja/webapp/05_auth_and_session.md +0 -37
  446. package/src/templates/locale/ja/webapp/06_database_architecture.md +0 -33
  447. package/src/templates/locale/ja/webapp/07_db_tables.md +0 -27
  448. package/src/templates/locale/ja/webapp/08_controller_routes.md +0 -41
  449. package/src/templates/locale/ja/webapp/09_business_logic.md +0 -37
  450. package/src/templates/locale/ja/webapp/10_batch_and_shell.md +0 -35
  451. package/src/templates/locale/ja/webapp/README.md +0 -34
  452. package/src/templates/locale/ja/webapp/cakephp2/02_stack_and_ops.md +0 -41
  453. package/src/templates/locale/ja/webapp/cakephp2/03_project_structure.md +0 -46
  454. package/src/templates/locale/ja/webapp/cakephp2/04_development.md +0 -58
  455. package/src/templates/locale/ja/webapp/cakephp2/05_auth_and_session.md +0 -22
  456. package/src/templates/locale/ja/webapp/cakephp2/07_db_tables.md +0 -19
  457. package/src/templates/locale/ja/webapp/cakephp2/08_controller_routes.md +0 -11
  458. package/src/templates/locale/ja/webapp/chapters.json +0 -4
  459. package/src/templates/locale/ja/webapp/laravel/02_stack_and_ops.md +0 -35
  460. package/src/templates/locale/ja/webapp/laravel/03_project_structure.md +0 -11
  461. package/src/templates/locale/ja/webapp/laravel/05_auth_and_session.md +0 -25
  462. package/src/templates/locale/ja/webapp/laravel/07_db_tables.md +0 -19
  463. package/src/templates/locale/ja/webapp/laravel/08_controller_routes.md +0 -37
  464. package/src/templates/locale/ja/webapp/symfony/02_stack_and_ops.md +0 -35
  465. package/src/templates/locale/ja/webapp/symfony/03_project_structure.md +0 -11
  466. package/src/templates/locale/ja/webapp/symfony/05_auth_and_session.md +0 -25
  467. package/src/templates/locale/ja/webapp/symfony/07_db_tables.md +0 -25
  468. package/src/templates/locale/ja/webapp/symfony/08_controller_routes.md +0 -35
  469. package/src/templates/skills/sdd-flow-close/SKILL.md +0 -79
  470. package/src/templates/skills/sdd-flow-start/SKILL.md +0 -73
package/README.md CHANGED
@@ -1,50 +1,136 @@
1
- # sdd-forge
1
+ # <!-- {{data("cli.project.name")}} -->sdd-forge<!-- {{/data}} -->
2
2
 
3
- Spec-Driven Development tooling for automated documentation generation
3
+ <!-- {{data("cli.docs.langSwitcher", {labels: "absolute"})}} -->
4
+ [日本語](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/ja/README.md) | **English**
5
+ <!-- {{/data}} -->
4
6
 
5
- ## 技術スタック
7
+ [![npm version](https://img.shields.io/npm/v/sdd-forge.svg)](https://www.npmjs.com/package/sdd-forge)
8
+ [![license](https://img.shields.io/npm/l/sdd-forge.svg)](https://opensource.org/licenses/MIT)
9
+ [![downloads](https://img.shields.io/npm/dm/sdd-forge.svg)](https://www.npmjs.com/package/sdd-forge)
6
10
 
7
- | カテゴリ | 技術 |
8
- |----------|------|
9
- | 言語 | Node.js (ES Modules) |
10
- | 配布 | npm |
11
- | テスト | — |
11
+ > **Alpha:** APIs, command structure, and configuration formats may change without notice.
12
12
 
13
- ## クイックスタート
13
+ ## Spec-Driven Development — Design, implement, and document in a single flow
14
14
 
15
- ```bash
16
- npm install -g sdd-forge
17
- sdd-forge help
15
+ A spec-first development flow manager designed to work with AI coding agents.
16
+
17
+ ## The SDD Flow
18
+
19
+ Every feature goes through three phases, from spec to merge.
20
+
21
+ ```
22
+ plan ──────── Specification
23
+ │ ├─ draft Refine requirements through dialogue
24
+ │ ├─ spec Create spec (feature branch + spec.md)
25
+ │ ├─ gate Spec validation + guardrail check
26
+ │ └─ test Write test code
27
+
28
+ implement ─── Coding
29
+ │ ├─ implement Write code after gate PASS
30
+ │ └─ review AI code review
31
+
32
+ finalize ──── Wrap-up
33
+ │ ├─ commit Commit + retro + report
34
+ │ ├─ merge Squash merge or PR
35
+ │ ├─ sync Auto-update documentation
36
+ │ └─ cleanup Remove branch / worktree
18
37
  ```
19
38
 
20
- ## ドキュメント
39
+ ### AI stays in its lane
21
40
 
22
- | | 概要 |
23
- |----|------|
24
- | [01. ツール概要とアーキテクチャ](docs/01_overview.md) | 本章では、sdd-forge がどのような課題を解決するツールであるか、その全体的なアーキテクチャ、および利用を開始するまでの典型的なフローを説明します。ソースコードの自動解析によるドキュメント生成と、Spec-Driven Development ワークフローの両面からツールの役割を理解できます。 |
25
- | [02. CLI コマンドリファレンス](docs/02_cli_commands.md) | `sdd-forge` は `sdd-forge <コマンド>` 形式のサブコマンド体系を採用しており、ドキュメント生成・品質チェック・SDD ワークフロー支援など 16 種類のコマンドを提供しています。すべてのコマンドで共通して利用できるグローバルオプションとして `--help` および `--project` が用意されています。 |
26
- | [02. 技術スタックと運用](docs/02_stack_and_ops.md) | 本章では、sdd-forge が動作するために必要な技術スタックと、日常的な運用・デプロイ手順を説明します。Node.js 18 以上を実行環境とする純粋な ES モジュール CLI ツールであり、外部フレームワークや npm 依存パッケージを持たない軽量な構成です。 |
27
- | [03. 設定とカスタマイズ](docs/03_configuration.md) | sdd-forge は `.sdd-forge/config.json` を中心とした複数の設定ファイルを読み込み、ドキュメント生成の言語・スタイル・AI プロバイダー・プロジェクト登録などを制御します。テンプレートや AI エージェントのコマンドをカスタマイズすることで、さまざまなプロジェクト環境に合わせた柔軟な運用が可能です。 |
28
- | [03. プロジェクト構成](docs/03_project_structure.md) | 本章では sdd-forge のソースコード構成を解説します。`src/` 配下は `docs`・`specs`・`lib`・`templates` の 4 つの主要ディレクトリに整理されており、それぞれドキュメント生成・仕様管理・共通処理・テンプレートの役割を担っています。 |
29
- | [04. 開発ガイド](docs/04_development.md) | 本章では、sdd-forge の開発環境セットアップからローカル開発の手順、テスト実行までを説明します。外部依存パッケージがないため `npm install` と `npm link` のみで開発環境を構築でき、テストは Node.js 標準の `node:test` モジュールと `node --test` コマンドで実行します。 |
30
- | [04. 内部設計](docs/04_internal_design.md) | 本章では sdd-forge の内部構造を解説します。エントリポイント `sdd-forge.js` からサブシステムディスパッチャ(`docs.js` / `spec.js` / `flow.js`)、さらに `commands/` 配下の個別コマンドへと三層構造で委譲が行われ、`src/lib/` の共有ユーティリティが各層から横断的に利用されます。 |
31
- | [05. CLI コマンドリファレンス](docs/05_commands.md) | `sdd-forge` が提供する 16 のサブコマンドをリファレンス形式でまとめた章です。すべてのコマンドに共通する `--project` および `--help` グローバルオプションを備え、ドキュメント生成系・SDD ワークフロー系・プロジェクト管理系の 3 つの用途に大別されるサブコマンド体系を構成しています。 |
32
- | [05. 開発・テスト・配布](docs/05_development.md) | 本章では、`npm link` を用いたビルドレスなローカル開発環境の構築手順から、ブランチ運用・コミット規約・リリースフローまで、sdd-forge の開発に参加するために必要な情報をまとめています。外部依存ライブラリを持たない素の ES Modules 構成により、セットアップは最小限の手順で完了します。 |
33
- | [06. 設定とカスタマイズ](docs/06_config.md) | sdd-forge は `.sdd-forge/config.json` を中心に動作し、プロジェクトタイプ・出力言語・ドキュメントスタイル・AI エージェントなどを一元管理します。`sdd-forge setup` で初期生成された設定ファイルを直接編集することで、ドキュメント生成の挙動やワークフローのマージ戦略などをカスタマイズできます。 |
41
+ Source code analysis, spec gate checks, and flow orchestration are all handled by deterministic commands. AI is not in charge of the flow — it assists with spec drafting, code review, and prose generation within well-defined boundaries.
34
42
 
35
- ## 開発ワークフロー(SDD)
43
+ - **Spec gate** — Programmatic validation of unresolved items and missing approvals. No PASS, no implementation
44
+ - **Guardrails** — Project-specific design principles checked against each spec
45
+ - **Compaction resilience** — Flow state and requirements are persisted, so you can resume after context compression
36
46
 
37
- 本プロジェクトは Spec-Driven Development(SDD)を採用しています。
47
+ ## Automatic Doc Sync
38
48
 
49
+ Source code is statically analyzed to extract file structure, classes, methods, configuration, and dependencies. The extracted data is injected into templates to produce structured documentation (`docs/`) and `README.md`.
50
+
51
+ Documentation is automatically refreshed during the merge phase, so docs and code never drift apart. With always-current docs, both humans and AI agents can understand the system without reading every source file.
52
+
53
+ ## Quick Start
54
+
55
+ ### Install
56
+
57
+ <pre>
58
+ npm install -g <!-- {{data("cli.project.name")}} -->sdd-forge<!-- {{/data}} -->
59
+ </pre>
60
+
61
+ ### Setup
62
+
63
+ <pre>
64
+ <!-- {{data("cli.project.name")}} -->sdd-forge<!-- {{/data}} --> setup
65
+ </pre>
66
+
67
+ An interactive wizard configures your project type (preset) and AI agent.
68
+
69
+ ### Generate docs for an existing project
70
+
71
+ If you already have source code, generate documentation to get a complete picture of the system. Especially useful for onboarding onto legacy codebases.
72
+
73
+ <pre>
74
+ <!-- {{data("cli.project.name")}} -->sdd-forge<!-- {{/data}} --> docs build
75
+ </pre>
76
+
77
+ ### Develop with the SDD flow
78
+
79
+ **[Claude Code](https://docs.anthropic.com/en/docs/claude-code)** — run each phase via skills:
80
+
81
+ | Skill | Phase |
82
+ |---|---|
83
+ | `/sdd-forge.flow-plan` | plan (specification) |
84
+ | `/sdd-forge.flow-impl` | implement (coding + review) |
85
+ | `/sdd-forge.flow-finalize` | finalize (commit, merge, docs sync, cleanup) |
86
+
87
+ **[Codex CLI](https://github.com/openai/codex)** — invoke via `$` prefix:
88
+
89
+ | Command | Phase |
90
+ |---|---|
91
+ | `$sdd-forge.flow-plan` | plan (specification) |
92
+ | `$sdd-forge.flow-impl` | implement (coding + review) |
93
+ | `$sdd-forge.flow-finalize` | finalize (commit, merge, docs sync, cleanup) |
94
+
95
+ ## Commands
96
+
97
+ | Command | Description |
98
+ |---|---|
99
+ | `setup` | Register project and generate config |
100
+ | `docs build` | Run the full documentation pipeline |
101
+
102
+ See `sdd-forge help` or the [command reference](docs/cli_commands.md) for the full list.
103
+
104
+ ## Configuration
105
+
106
+ `setup` generates `.sdd-forge/config.json`:
107
+
108
+ ```jsonc
109
+ {
110
+ "type": "node-cli", // project type (preset name)
111
+ "lang": "en", // operating language
112
+ "agent": {
113
+ "default": "claude", // AI agent
114
+ "providers": { ... } // agent settings
115
+ }
116
+ }
39
117
  ```
40
- 1. sdd-forge spec --title "..." — 仕様ファイル作成
41
- 2. sdd-forge gate --spec ... — 仕様ゲート(未解決事項がなければ PASS)
42
- 3. 実装
43
- 4. sdd-forge forge --prompt "..." — ドキュメント自動更新
44
- 5. sdd-forge review — ドキュメントレビュー
45
- ```
46
118
 
47
- 詳細は [CLAUDE.md](CLAUDE.md) の「SDDフロー」セクションを参照してください。
119
+ See the [configuration reference](docs/configuration.md) for details.
120
+
121
+ ## Documentation
122
+
123
+ <!-- {{data("cli.docs.chapters", {header: "", labels: "Chapter|Summary", ignoreError: true})}} -->
124
+ | Chapter | Summary |
125
+ | --- | --- |
126
+ | [Tool Overview and Architecture](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/overview.md) | This chapter introduces sdd-forge, a CLI tool that automates documentation generation from source code analysis and e… |
127
+ | [Technology Stack and Operations](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/stack_and_ops.md) | This chapter covers the technology stack, dependency management, deployment, and operations procedures for sdd-forge,… |
128
+ | [Project Structure](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/project_structure.md) | This chapter describes the overall directory organization of the sdd-forge project, which is structured around seven … |
129
+ | [CLI Command Reference](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/cli_commands.md) | This chapter documents 8 CLI entrypoints and routed commands in the analyzed files: setup, check, check freshness, do… |
130
+ | [Configuration and Customization](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/configuration.md) | sdd-forge is configured through a single project-level JSON file (.sdd-forge/config.json) and optionally extended by … |
131
+ | [Internal Design](https://github.com/SpreadWorks/sdd-forge/blob/main/docs/internal_design.md) | This chapter describes the internal structure of sdd-forge: a layered CLI tool built entirely on Node.js built-in mod… |
132
+ <!-- {{/data}} -->
133
+
134
+ ## License
48
135
 
49
- <!-- MANUAL:START -->
50
- <!-- MANUAL:END -->
136
+ MIT
package/package.json CHANGED
@@ -1,16 +1,25 @@
1
1
  {
2
2
  "name": "sdd-forge",
3
- "version": "0.1.0-alpha.7",
3
+ "version": "0.1.0-alpha.759",
4
4
  "description": "Spec-Driven Development tooling for automated documentation generation",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/SpreadWorks/sdd-forge.git"
8
+ },
5
9
  "type": "module",
6
10
  "bin": {
7
11
  "sdd-forge": "./src/sdd-forge.js"
8
12
  },
13
+ "exports": {
14
+ ".": "./src/sdd-forge.js",
15
+ "./api": "./src/api.js"
16
+ },
9
17
  "files": [
10
- "src/"
18
+ "src/",
19
+ "!src/presets/*/tests/"
11
20
  ],
12
21
  "engines": {
13
- "node": ">=18.0.0"
22
+ "node": ">=18.19.0"
14
23
  },
15
24
  "keywords": [
16
25
  "sdd",
@@ -20,7 +29,10 @@
20
29
  "technical-docs"
21
30
  ],
22
31
  "scripts": {
23
- "test": "find tests -name '*.test.js' | xargs node --test"
32
+ "test:unit": "node tests/run.js --scope unit",
33
+ "test:e2e": "node tests/run.js --scope e2e",
34
+ "test:acceptance": "node tests/acceptance/run.js"
24
35
  },
25
- "license": "MIT"
36
+ "license": "MIT",
37
+ "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319"
26
38
  }