@dewtech/dare-cli 3.3.0 → 3.5.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 (750) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +764 -764
  3. package/dist/__tests__/confidence.test.js +13 -13
  4. package/dist/__tests__/dag-converter.test.js +56 -56
  5. package/dist/__tests__/dag-runner/buildLocateContext.test.d.ts +2 -0
  6. package/dist/__tests__/dag-runner/buildLocateContext.test.d.ts.map +1 -0
  7. package/dist/__tests__/dag-runner/buildLocateContext.test.js +53 -0
  8. package/dist/__tests__/dag-runner/buildLocateContext.test.js.map +1 -0
  9. package/dist/__tests__/dual-graph.test.d.ts +2 -0
  10. package/dist/__tests__/dual-graph.test.d.ts.map +1 -0
  11. package/dist/__tests__/dual-graph.test.js +141 -0
  12. package/dist/__tests__/dual-graph.test.js.map +1 -0
  13. package/dist/__tests__/graphrag/contract/traverse.contract.d.ts +9 -0
  14. package/dist/__tests__/graphrag/contract/traverse.contract.d.ts.map +1 -0
  15. package/dist/__tests__/graphrag/contract/traverse.contract.js +58 -0
  16. package/dist/__tests__/graphrag/contract/traverse.contract.js.map +1 -0
  17. package/dist/__tests__/graphrag/contract/traverse.contract.test.d.ts +2 -0
  18. package/dist/__tests__/graphrag/contract/traverse.contract.test.d.ts.map +1 -0
  19. package/dist/__tests__/graphrag/contract/traverse.contract.test.js +100 -0
  20. package/dist/__tests__/graphrag/contract/traverse.contract.test.js.map +1 -0
  21. package/dist/__tests__/graphrag/factory.test.js +10 -1
  22. package/dist/__tests__/graphrag/factory.test.js.map +1 -1
  23. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.d.ts +11 -0
  24. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.d.ts.map +1 -0
  25. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js +34 -0
  26. package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js.map +1 -0
  27. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.d.ts +2 -0
  28. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.d.ts.map +1 -0
  29. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.js +46 -0
  30. package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.js.map +1 -0
  31. package/dist/__tests__/graphrag/graph-rag.test.js +31 -0
  32. package/dist/__tests__/graphrag/graph-rag.test.js.map +1 -1
  33. package/dist/__tests__/graphrag/json-graph.test.js +57 -0
  34. package/dist/__tests__/graphrag/json-graph.test.js.map +1 -1
  35. package/dist/__tests__/graphrag/neo4j-graph.test.d.ts +2 -0
  36. package/dist/__tests__/graphrag/neo4j-graph.test.d.ts.map +1 -0
  37. package/dist/__tests__/graphrag/neo4j-graph.test.js +104 -0
  38. package/dist/__tests__/graphrag/neo4j-graph.test.js.map +1 -0
  39. package/dist/__tests__/graphrag/neo4j-persistence.test.d.ts +2 -0
  40. package/dist/__tests__/graphrag/neo4j-persistence.test.d.ts.map +1 -0
  41. package/dist/__tests__/graphrag/neo4j-persistence.test.js +110 -0
  42. package/dist/__tests__/graphrag/neo4j-persistence.test.js.map +1 -0
  43. package/dist/__tests__/mcp-server/server.test.js +3 -16
  44. package/dist/__tests__/mcp-server/server.test.js.map +1 -1
  45. package/dist/__tests__/project-generator.test.js +2 -2
  46. package/dist/__tests__/project-generator.test.js.map +1 -1
  47. package/dist/__tests__/refine.test.js +49 -49
  48. package/dist/__tests__/reverse-collection.test.js +6 -6
  49. package/dist/__tests__/review.test.js +38 -38
  50. package/dist/__tests__/security-hardening.test.d.ts +2 -0
  51. package/dist/__tests__/security-hardening.test.d.ts.map +1 -0
  52. package/dist/__tests__/security-hardening.test.js +101 -0
  53. package/dist/__tests__/security-hardening.test.js.map +1 -0
  54. package/dist/__tests__/validate.test.js +65 -65
  55. package/dist/bin/dare.js +0 -0
  56. package/dist/commands/__tests__/execute.telemetry.spec.js +9 -0
  57. package/dist/commands/__tests__/execute.telemetry.spec.js.map +1 -1
  58. package/dist/commands/__tests__/graph-viz-layers.test.d.ts +2 -0
  59. package/dist/commands/__tests__/graph-viz-layers.test.d.ts.map +1 -0
  60. package/dist/commands/__tests__/graph-viz-layers.test.js +36 -0
  61. package/dist/commands/__tests__/graph-viz-layers.test.js.map +1 -0
  62. package/dist/commands/__tests__/impact.test.d.ts +2 -0
  63. package/dist/commands/__tests__/impact.test.d.ts.map +1 -0
  64. package/dist/commands/__tests__/impact.test.js +26 -0
  65. package/dist/commands/__tests__/impact.test.js.map +1 -0
  66. package/dist/commands/__tests__/init-validation.test.d.ts +2 -0
  67. package/dist/commands/__tests__/init-validation.test.d.ts.map +1 -0
  68. package/dist/commands/__tests__/init-validation.test.js +81 -0
  69. package/dist/commands/__tests__/init-validation.test.js.map +1 -0
  70. package/dist/commands/__tests__/init.integration.spec.js +6 -4
  71. package/dist/commands/__tests__/init.integration.spec.js.map +1 -1
  72. package/dist/commands/__tests__/init.spec.d.ts +2 -0
  73. package/dist/commands/__tests__/init.spec.d.ts.map +1 -0
  74. package/dist/commands/__tests__/init.spec.js +88 -0
  75. package/dist/commands/__tests__/init.spec.js.map +1 -0
  76. package/dist/commands/__tests__/locate.test.d.ts +2 -0
  77. package/dist/commands/__tests__/locate.test.d.ts.map +1 -0
  78. package/dist/commands/__tests__/locate.test.js +35 -0
  79. package/dist/commands/__tests__/locate.test.js.map +1 -0
  80. package/dist/commands/__tests__/owners.test.d.ts +2 -0
  81. package/dist/commands/__tests__/owners.test.d.ts.map +1 -0
  82. package/dist/commands/__tests__/owners.test.js +34 -0
  83. package/dist/commands/__tests__/owners.test.js.map +1 -0
  84. package/dist/commands/__tests__/trace.test.d.ts +2 -0
  85. package/dist/commands/__tests__/trace.test.d.ts.map +1 -0
  86. package/dist/commands/__tests__/trace.test.js +29 -0
  87. package/dist/commands/__tests__/trace.test.js.map +1 -0
  88. package/dist/commands/blueprint.js +122 -122
  89. package/dist/commands/design.js +20 -20
  90. package/dist/commands/execute.d.ts.map +1 -1
  91. package/dist/commands/execute.js +11 -6
  92. package/dist/commands/execute.js.map +1 -1
  93. package/dist/commands/graph-queries.d.ts +48 -0
  94. package/dist/commands/graph-queries.d.ts.map +1 -0
  95. package/dist/commands/graph-queries.js +204 -0
  96. package/dist/commands/graph-queries.js.map +1 -0
  97. package/dist/commands/graph.d.ts +13 -0
  98. package/dist/commands/graph.d.ts.map +1 -1
  99. package/dist/commands/graph.js +212 -8
  100. package/dist/commands/graph.js.map +1 -1
  101. package/dist/commands/init-validation.d.ts +22 -0
  102. package/dist/commands/init-validation.d.ts.map +1 -0
  103. package/dist/commands/init-validation.js +54 -0
  104. package/dist/commands/init-validation.js.map +1 -0
  105. package/dist/commands/init.d.ts.map +1 -1
  106. package/dist/commands/init.js +26 -10
  107. package/dist/commands/init.js.map +1 -1
  108. package/dist/dag-runner/__tests__/fixtures/src/math.d.ts +3 -0
  109. package/dist/dag-runner/__tests__/fixtures/src/math.d.ts.map +1 -0
  110. package/dist/dag-runner/__tests__/fixtures/src/math.js +7 -0
  111. package/dist/dag-runner/__tests__/fixtures/src/math.js.map +1 -0
  112. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts +2 -0
  113. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts.map +1 -0
  114. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js +81 -0
  115. package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js.map +1 -0
  116. package/dist/dag-runner/graph-ingest.d.ts.map +1 -1
  117. package/dist/dag-runner/graph-ingest.js +46 -0
  118. package/dist/dag-runner/graph-ingest.js.map +1 -1
  119. package/dist/dag-runner/graph-locate.d.ts +11 -0
  120. package/dist/dag-runner/graph-locate.d.ts.map +1 -0
  121. package/dist/dag-runner/graph-locate.js +74 -0
  122. package/dist/dag-runner/graph-locate.js.map +1 -0
  123. package/dist/dag-runner/run_dag.d.ts +3 -1
  124. package/dist/dag-runner/run_dag.d.ts.map +1 -1
  125. package/dist/dag-runner/run_dag.js +2 -1
  126. package/dist/dag-runner/run_dag.js.map +1 -1
  127. package/dist/dag-runner/utils/stitch-context.d.ts +3 -1
  128. package/dist/dag-runner/utils/stitch-context.d.ts.map +1 -1
  129. package/dist/dag-runner/utils/stitch-context.js +8 -2
  130. package/dist/dag-runner/utils/stitch-context.js.map +1 -1
  131. package/dist/graphrag/__tests__/code-index.test.d.ts +2 -0
  132. package/dist/graphrag/__tests__/code-index.test.d.ts.map +1 -0
  133. package/dist/graphrag/__tests__/code-index.test.js +75 -0
  134. package/dist/graphrag/__tests__/code-index.test.js.map +1 -0
  135. package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts +5 -0
  136. package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts.map +1 -0
  137. package/dist/graphrag/__tests__/fixtures/code-index/sample.js +10 -0
  138. package/dist/graphrag/__tests__/fixtures/code-index/sample.js.map +1 -0
  139. package/dist/graphrag/__tests__/locate.test.d.ts +2 -0
  140. package/dist/graphrag/__tests__/locate.test.d.ts.map +1 -0
  141. package/dist/graphrag/__tests__/locate.test.js +43 -0
  142. package/dist/graphrag/__tests__/locate.test.js.map +1 -0
  143. package/dist/graphrag/__tests__/requirement-ingest.test.d.ts +2 -0
  144. package/dist/graphrag/__tests__/requirement-ingest.test.d.ts.map +1 -0
  145. package/dist/graphrag/__tests__/requirement-ingest.test.js +66 -0
  146. package/dist/graphrag/__tests__/requirement-ingest.test.js.map +1 -0
  147. package/dist/graphrag/__tests__/traverse.test.d.ts +2 -0
  148. package/dist/graphrag/__tests__/traverse.test.d.ts.map +1 -0
  149. package/dist/graphrag/__tests__/traverse.test.js +71 -0
  150. package/dist/graphrag/__tests__/traverse.test.js.map +1 -0
  151. package/dist/graphrag/__tests__/types.test.d.ts +2 -0
  152. package/dist/graphrag/__tests__/types.test.d.ts.map +1 -0
  153. package/dist/graphrag/__tests__/types.test.js +52 -0
  154. package/dist/graphrag/__tests__/types.test.js.map +1 -0
  155. package/dist/graphrag/code-index.d.ts +15 -0
  156. package/dist/graphrag/code-index.d.ts.map +1 -0
  157. package/dist/graphrag/code-index.js +205 -0
  158. package/dist/graphrag/code-index.js.map +1 -0
  159. package/dist/graphrag/factory.d.ts.map +1 -1
  160. package/dist/graphrag/factory.js +5 -0
  161. package/dist/graphrag/factory.js.map +1 -1
  162. package/dist/graphrag/graph-rag.d.ts +6 -2
  163. package/dist/graphrag/graph-rag.d.ts.map +1 -1
  164. package/dist/graphrag/graph-rag.js +64 -26
  165. package/dist/graphrag/graph-rag.js.map +1 -1
  166. package/dist/graphrag/index.d.ts +8 -2
  167. package/dist/graphrag/index.d.ts.map +1 -1
  168. package/dist/graphrag/index.js +5 -1
  169. package/dist/graphrag/index.js.map +1 -1
  170. package/dist/graphrag/json-graph.d.ts +8 -0
  171. package/dist/graphrag/json-graph.d.ts.map +1 -1
  172. package/dist/graphrag/json-graph.js +50 -4
  173. package/dist/graphrag/json-graph.js.map +1 -1
  174. package/dist/graphrag/knowledge-graph.d.ts +8 -3
  175. package/dist/graphrag/knowledge-graph.d.ts.map +1 -1
  176. package/dist/graphrag/neo4j-graph.d.ts +19 -18
  177. package/dist/graphrag/neo4j-graph.d.ts.map +1 -1
  178. package/dist/graphrag/neo4j-graph.js +164 -38
  179. package/dist/graphrag/neo4j-graph.js.map +1 -1
  180. package/dist/graphrag/requirement-ingest.d.ts +15 -0
  181. package/dist/graphrag/requirement-ingest.d.ts.map +1 -0
  182. package/dist/graphrag/requirement-ingest.js +158 -0
  183. package/dist/graphrag/requirement-ingest.js.map +1 -0
  184. package/dist/graphrag/traverse.d.ts +5 -0
  185. package/dist/graphrag/traverse.d.ts.map +1 -0
  186. package/dist/graphrag/traverse.js +139 -0
  187. package/dist/graphrag/traverse.js.map +1 -0
  188. package/dist/graphrag/types.d.ts +60 -2
  189. package/dist/graphrag/types.d.ts.map +1 -1
  190. package/dist/graphrag/types.js +34 -1
  191. package/dist/graphrag/types.js.map +1 -1
  192. package/dist/mcp-server/__tests__/auth.test.d.ts +2 -0
  193. package/dist/mcp-server/__tests__/auth.test.d.ts.map +1 -0
  194. package/dist/mcp-server/__tests__/auth.test.js +72 -0
  195. package/dist/mcp-server/__tests__/auth.test.js.map +1 -0
  196. package/dist/mcp-server/__tests__/boot-config.test.d.ts +2 -0
  197. package/dist/mcp-server/__tests__/boot-config.test.d.ts.map +1 -0
  198. package/dist/mcp-server/__tests__/boot-config.test.js +29 -0
  199. package/dist/mcp-server/__tests__/boot-config.test.js.map +1 -0
  200. package/dist/mcp-server/__tests__/error-sanitize.test.d.ts +2 -0
  201. package/dist/mcp-server/__tests__/error-sanitize.test.d.ts.map +1 -0
  202. package/dist/mcp-server/__tests__/error-sanitize.test.js +66 -0
  203. package/dist/mcp-server/__tests__/error-sanitize.test.js.map +1 -0
  204. package/dist/mcp-server/__tests__/mcp-graph.test.d.ts +2 -0
  205. package/dist/mcp-server/__tests__/mcp-graph.test.d.ts.map +1 -0
  206. package/dist/mcp-server/__tests__/mcp-graph.test.js +85 -0
  207. package/dist/mcp-server/__tests__/mcp-graph.test.js.map +1 -0
  208. package/dist/mcp-server/__tests__/path-confinement.test.d.ts +2 -0
  209. package/dist/mcp-server/__tests__/path-confinement.test.d.ts.map +1 -0
  210. package/dist/mcp-server/__tests__/path-confinement.test.js +135 -0
  211. package/dist/mcp-server/__tests__/path-confinement.test.js.map +1 -0
  212. package/dist/mcp-server/bin/server.js +18 -6
  213. package/dist/mcp-server/bin/server.js.map +1 -1
  214. package/dist/mcp-server/boot-config.d.ts +6 -0
  215. package/dist/mcp-server/boot-config.d.ts.map +1 -0
  216. package/dist/mcp-server/boot-config.js +17 -0
  217. package/dist/mcp-server/boot-config.js.map +1 -0
  218. package/dist/mcp-server/middleware/auth.d.ts +10 -0
  219. package/dist/mcp-server/middleware/auth.d.ts.map +1 -0
  220. package/dist/mcp-server/middleware/auth.js +44 -0
  221. package/dist/mcp-server/middleware/auth.js.map +1 -0
  222. package/dist/mcp-server/middleware/cors.d.ts +6 -0
  223. package/dist/mcp-server/middleware/cors.d.ts.map +1 -0
  224. package/dist/mcp-server/middleware/cors.js +30 -0
  225. package/dist/mcp-server/middleware/cors.js.map +1 -0
  226. package/dist/mcp-server/middleware/error-handler.d.ts +11 -0
  227. package/dist/mcp-server/middleware/error-handler.d.ts.map +1 -0
  228. package/dist/mcp-server/middleware/error-handler.js +14 -0
  229. package/dist/mcp-server/middleware/error-handler.js.map +1 -0
  230. package/dist/mcp-server/server.d.ts +7 -2
  231. package/dist/mcp-server/server.d.ts.map +1 -1
  232. package/dist/mcp-server/server.js +290 -105
  233. package/dist/mcp-server/server.js.map +1 -1
  234. package/dist/skills/registry-mock.json +109 -109
  235. package/dist/skills/tests/manifest.spec.js +20 -20
  236. package/dist/stacks/__tests__/dna-emitter.spec.js +6 -6
  237. package/dist/stacks/dna-emitter.js +69 -69
  238. package/dist/stacks/ruby-rails-8/scaffold.js +15 -15
  239. package/dist/utils/__tests__/static-analyzer-exports.test.d.ts +2 -0
  240. package/dist/utils/__tests__/static-analyzer-exports.test.d.ts.map +1 -0
  241. package/dist/utils/__tests__/static-analyzer-exports.test.js +21 -0
  242. package/dist/utils/__tests__/static-analyzer-exports.test.js.map +1 -0
  243. package/dist/utils/project-generator.d.ts.map +1 -1
  244. package/dist/utils/project-generator.js +266 -252
  245. package/dist/utils/project-generator.js.map +1 -1
  246. package/dist/utils/stack-bootstrap.js +371 -371
  247. package/dist/utils/static-analyzer.d.ts +9 -0
  248. package/dist/utils/static-analyzer.d.ts.map +1 -1
  249. package/dist/utils/static-analyzer.js +2 -2
  250. package/dist/utils/static-analyzer.js.map +1 -1
  251. package/dist/utils/templates.js +394 -394
  252. package/dist/verification/__tests__/anti-tamper.test.js +13 -13
  253. package/dist/verification/__tests__/telemetry.test.js +9 -0
  254. package/dist/verification/__tests__/telemetry.test.js.map +1 -1
  255. package/package.json +96 -93
  256. package/templates/DARE-dag-example.yaml +280 -280
  257. package/templates/UPDATE-MANIFEST.json +68 -68
  258. package/templates/backend/node-nestjs/.env.example +9 -9
  259. package/templates/backend/node-nestjs/nest-cli.json +8 -8
  260. package/templates/backend/node-nestjs/package.json +50 -50
  261. package/templates/backend/node-nestjs/src/app.controller.ts +12 -12
  262. package/templates/backend/node-nestjs/src/app.module.ts +15 -15
  263. package/templates/backend/node-nestjs/src/app.service.ts +8 -8
  264. package/templates/backend/node-nestjs/src/main.ts +24 -24
  265. package/templates/backend/node-nestjs/tsconfig.json +21 -21
  266. package/templates/backend/php-laravel/.env.example +22 -22
  267. package/templates/backend/php-laravel/app/Http/Controllers/HealthController.php +15 -15
  268. package/templates/backend/php-laravel/composer.json +40 -40
  269. package/templates/backend/python-fastapi/.env.example +4 -4
  270. package/templates/backend/python-fastapi/app/api/router.py +8 -8
  271. package/templates/backend/python-fastapi/app/core/config.py +20 -20
  272. package/templates/backend/python-fastapi/main.py +35 -35
  273. package/templates/backend/python-fastapi/requirements.txt +13 -13
  274. package/templates/backend/rust-axum/.env.example +3 -3
  275. package/templates/backend/rust-axum/Cargo.toml +23 -23
  276. package/templates/backend/rust-axum/src/errors.rs +30 -30
  277. package/templates/backend/rust-axum/src/main.rs +32 -32
  278. package/templates/backend/rust-axum/src/routes.rs +6 -6
  279. package/templates/frontend/leptos-csr/.cargo/config.toml +2 -2
  280. package/templates/frontend/leptos-csr/Cargo.toml +16 -16
  281. package/templates/frontend/leptos-csr/Trunk.toml +10 -10
  282. package/templates/frontend/leptos-csr/index.html +11 -11
  283. package/templates/frontend/leptos-csr/src/lib.rs +20 -20
  284. package/templates/frontend/leptos-csr/style/main.scss +19 -19
  285. package/templates/frontend/leptos-fullstack/.cargo/config.toml +4 -4
  286. package/templates/frontend/leptos-fullstack/Cargo.toml +56 -56
  287. package/templates/frontend/leptos-fullstack/src/app.rs +49 -49
  288. package/templates/frontend/leptos-fullstack/src/lib.rs +9 -9
  289. package/templates/frontend/leptos-fullstack/src/main.rs +29 -29
  290. package/templates/frontend/leptos-fullstack/style/main.scss +19 -19
  291. package/templates/frontend/react/index.html +12 -12
  292. package/templates/frontend/react/package.json +35 -35
  293. package/templates/frontend/react/src/App.tsx +25 -25
  294. package/templates/frontend/react/src/main.tsx +9 -9
  295. package/templates/frontend/vue/package.json +32 -32
  296. package/templates/frontend/vue/src/App.vue +7 -7
  297. package/templates/frontend/vue/src/main.ts +10 -10
  298. package/templates/frontend/vue/src/router/index.ts +14 -14
  299. package/templates/frontend/vue/src/views/HomeView.vue +6 -6
  300. package/templates/hooks/pre-commit-dare-validate +24 -24
  301. package/templates/ide/antigravity/.agents/skills/dare-ax/SKILL.md +152 -152
  302. package/templates/ide/antigravity/.agents/skills/dare-bench/SKILL.md +21 -21
  303. package/templates/ide/antigravity/.agents/skills/dare-blueprint/SKILL.md +368 -368
  304. package/templates/ide/antigravity/.agents/skills/dare-bootstrap/SKILL.md +32 -32
  305. package/templates/ide/antigravity/.agents/skills/dare-bugfix-design/SKILL.md +76 -76
  306. package/templates/ide/antigravity/.agents/skills/dare-dag/SKILL.md +32 -32
  307. package/templates/ide/antigravity/.agents/skills/dare-dag-build/SKILL.md +154 -154
  308. package/templates/ide/antigravity/.agents/skills/dare-dag-run/SKILL.md +130 -130
  309. package/templates/ide/antigravity/.agents/skills/dare-dag-runner/SKILL.md +203 -203
  310. package/templates/ide/antigravity/.agents/skills/dare-design/SKILL.md +180 -180
  311. package/templates/ide/antigravity/.agents/skills/dare-discover/SKILL.md +33 -33
  312. package/templates/ide/antigravity/.agents/skills/dare-dna/SKILL.md +63 -63
  313. package/templates/ide/antigravity/.agents/skills/dare-docker/SKILL.md +315 -315
  314. package/templates/ide/antigravity/.agents/skills/dare-execute/SKILL.md +264 -264
  315. package/templates/ide/antigravity/.agents/skills/dare-feature-design/SKILL.md +74 -74
  316. package/templates/ide/antigravity/.agents/skills/dare-frontend-design/SKILL.md +192 -192
  317. package/templates/ide/antigravity/.agents/skills/dare-graph/SKILL.md +35 -35
  318. package/templates/ide/antigravity/.agents/skills/dare-info/SKILL.md +31 -31
  319. package/templates/ide/antigravity/.agents/skills/dare-init/SKILL.md +35 -35
  320. package/templates/ide/antigravity/.agents/skills/dare-laravel-api/SKILL.md +337 -337
  321. package/templates/ide/antigravity/.agents/skills/dare-layered-design/SKILL.md +166 -166
  322. package/templates/ide/antigravity/.agents/skills/dare-llm-integration/SKILL.md +217 -217
  323. package/templates/ide/antigravity/.agents/skills/dare-migrate/SKILL.md +61 -61
  324. package/templates/ide/antigravity/.agents/skills/dare-quality-telemetry/SKILL.md +187 -187
  325. package/templates/ide/antigravity/.agents/skills/dare-realtime/SKILL.md +217 -217
  326. package/templates/ide/antigravity/.agents/skills/dare-refine/SKILL.md +114 -114
  327. package/templates/ide/antigravity/.agents/skills/dare-reverse/SKILL.md +108 -108
  328. package/templates/ide/antigravity/.agents/skills/dare-review/SKILL.md +111 -111
  329. package/templates/ide/antigravity/.agents/skills/dare-rust-leptos/SKILL.md +263 -263
  330. package/templates/ide/antigravity/.agents/skills/dare-rust-workspace/SKILL.md +275 -275
  331. package/templates/ide/antigravity/.agents/skills/dare-security/SKILL.md +274 -274
  332. package/templates/ide/antigravity/.agents/skills/dare-skill/SKILL.md +35 -35
  333. package/templates/ide/antigravity/.agents/skills/dare-tasks/SKILL.md +265 -265
  334. package/templates/ide/antigravity/.agents/skills/dare-telemetry/SKILL.md +188 -188
  335. package/templates/ide/antigravity/.agents/skills/dare-update/SKILL.md +33 -33
  336. package/templates/ide/antigravity/.agents/skills/dare-validate/SKILL.md +33 -33
  337. package/templates/ide/antigravity/.agents/skills/dare-welcome/SKILL.md +30 -30
  338. package/templates/ide/antigravity/.agents/skills/skill-fastapi-api/SKILL.md +343 -343
  339. package/templates/ide/antigravity/.agents/skills/skill-go-gin-api/SKILL.md +377 -377
  340. package/templates/ide/antigravity/.agents/skills/skill-mcp-server/SKILL.md +382 -382
  341. package/templates/ide/antigravity/.agents/skills/skill-nestjs-api/SKILL.md +326 -326
  342. package/templates/ide/antigravity/.agents/skills/skill-rails-api/SKILL.md +393 -393
  343. package/templates/ide/antigravity/templates/BLUEPRINT-template.md +193 -193
  344. package/templates/ide/antigravity/templates/DESIGN-template.md +129 -129
  345. package/templates/ide/antigravity/templates/TASK-SPEC-template.md +141 -141
  346. package/templates/ide/antigravity/templates/TASKS-template.md +26 -26
  347. package/templates/ide/antigravity/templates/TELEMETRY-template.md +125 -125
  348. package/templates/ide/claude/.claude/commands/dare-ax.md +131 -131
  349. package/templates/ide/claude/.claude/commands/dare-bench.md +18 -18
  350. package/templates/ide/claude/.claude/commands/dare-blueprint.md +134 -134
  351. package/templates/ide/claude/.claude/commands/dare-bootstrap.md +27 -27
  352. package/templates/ide/claude/.claude/commands/dare-bugfix-design.md +119 -119
  353. package/templates/ide/claude/.claude/commands/dare-dag-build.md +151 -151
  354. package/templates/ide/claude/.claude/commands/dare-dag-run.md +109 -109
  355. package/templates/ide/claude/.claude/commands/dare-dag-runner.md +117 -117
  356. package/templates/ide/claude/.claude/commands/dare-dag-viz.md +197 -197
  357. package/templates/ide/claude/.claude/commands/dare-dag.md +27 -27
  358. package/templates/ide/claude/.claude/commands/dare-design.md +69 -69
  359. package/templates/ide/claude/.claude/commands/dare-discover.md +28 -28
  360. package/templates/ide/claude/.claude/commands/dare-dna.md +75 -75
  361. package/templates/ide/claude/.claude/commands/dare-docker.md +207 -207
  362. package/templates/ide/claude/.claude/commands/dare-execute.md +152 -152
  363. package/templates/ide/claude/.claude/commands/dare-feature-design.md +147 -147
  364. package/templates/ide/claude/.claude/commands/dare-frontend-design.md +149 -149
  365. package/templates/ide/claude/.claude/commands/dare-graph.md +30 -30
  366. package/templates/ide/claude/.claude/commands/dare-info.md +26 -26
  367. package/templates/ide/claude/.claude/commands/dare-init.md +30 -30
  368. package/templates/ide/claude/.claude/commands/dare-laravel-api.md +211 -211
  369. package/templates/ide/claude/.claude/commands/dare-layered-design.md +124 -124
  370. package/templates/ide/claude/.claude/commands/dare-llm-integration.md +148 -148
  371. package/templates/ide/claude/.claude/commands/dare-migrate.md +72 -72
  372. package/templates/ide/claude/.claude/commands/dare-quality-telemetry.md +166 -166
  373. package/templates/ide/claude/.claude/commands/dare-realtime.md +159 -159
  374. package/templates/ide/claude/.claude/commands/dare-refine.md +145 -145
  375. package/templates/ide/claude/.claude/commands/dare-reverse.md +139 -139
  376. package/templates/ide/claude/.claude/commands/dare-review.md +113 -113
  377. package/templates/ide/claude/.claude/commands/dare-rust-leptos.md +269 -269
  378. package/templates/ide/claude/.claude/commands/dare-rust-workspace.md +209 -209
  379. package/templates/ide/claude/.claude/commands/dare-security.md +232 -232
  380. package/templates/ide/claude/.claude/commands/dare-skill.md +30 -30
  381. package/templates/ide/claude/.claude/commands/dare-tasks.md +70 -70
  382. package/templates/ide/claude/.claude/commands/dare-telemetry.md +132 -132
  383. package/templates/ide/claude/.claude/commands/dare-update.md +28 -28
  384. package/templates/ide/claude/.claude/commands/dare-validate.md +28 -28
  385. package/templates/ide/claude/.claude/commands/dare-welcome.md +25 -25
  386. package/templates/ide/claude/.claude/commands/skill-fastapi-api.md +205 -205
  387. package/templates/ide/claude/.claude/commands/skill-go-gin-api.md +232 -232
  388. package/templates/ide/claude/.claude/commands/skill-mcp-server.md +228 -228
  389. package/templates/ide/claude/.claude/commands/skill-nestjs-api.md +210 -210
  390. package/templates/ide/claude/.claude/commands/skill-rails-api.md +236 -236
  391. package/templates/ide/claude/.claude/settings.example.json +35 -35
  392. package/templates/ide/claude/CLAUDE.md +146 -146
  393. package/templates/ide/claude/templates/BLUEPRINT-template.md +193 -193
  394. package/templates/ide/claude/templates/DESIGN-template.md +129 -129
  395. package/templates/ide/claude/templates/TASK-SPEC-template.md +141 -141
  396. package/templates/ide/claude/templates/TASKS-template.md +26 -26
  397. package/templates/ide/claude/templates/TELEMETRY-template.md +125 -125
  398. package/templates/ide/cursor/.cursor/commands/dare-bench.md +18 -18
  399. package/templates/ide/cursor/.cursor/commands/dare-blueprint.md +86 -86
  400. package/templates/ide/cursor/.cursor/commands/dare-bootstrap.md +27 -27
  401. package/templates/ide/cursor/.cursor/commands/dare-bugfix-design.md +64 -64
  402. package/templates/ide/cursor/.cursor/commands/dare-dag-run.md +110 -110
  403. package/templates/ide/cursor/.cursor/commands/dare-dag-viz.md +139 -139
  404. package/templates/ide/cursor/.cursor/commands/dare-dag.md +27 -27
  405. package/templates/ide/cursor/.cursor/commands/dare-design.md +35 -35
  406. package/templates/ide/cursor/.cursor/commands/dare-discover.md +28 -28
  407. package/templates/ide/cursor/.cursor/commands/dare-dna.md +75 -75
  408. package/templates/ide/cursor/.cursor/commands/dare-docker-compose.md +18 -18
  409. package/templates/ide/cursor/.cursor/commands/dare-dockerfile.md +17 -17
  410. package/templates/ide/cursor/.cursor/commands/dare-execute.md +19 -19
  411. package/templates/ide/cursor/.cursor/commands/dare-feature-design.md +64 -64
  412. package/templates/ide/cursor/.cursor/commands/dare-graph.md +30 -30
  413. package/templates/ide/cursor/.cursor/commands/dare-info.md +26 -26
  414. package/templates/ide/cursor/.cursor/commands/dare-init.md +30 -30
  415. package/templates/ide/cursor/.cursor/commands/dare-migrate.md +72 -72
  416. package/templates/ide/cursor/.cursor/commands/dare-refine.md +107 -107
  417. package/templates/ide/cursor/.cursor/commands/dare-reverse.md +139 -139
  418. package/templates/ide/cursor/.cursor/commands/dare-review.md +91 -91
  419. package/templates/ide/cursor/.cursor/commands/dare-skill.md +30 -30
  420. package/templates/ide/cursor/.cursor/commands/dare-tasks.md +184 -184
  421. package/templates/ide/cursor/.cursor/commands/dare-telemetry.md +42 -42
  422. package/templates/ide/cursor/.cursor/commands/dare-update.md +28 -28
  423. package/templates/ide/cursor/.cursor/commands/dare-validate.md +28 -28
  424. package/templates/ide/cursor/.cursor/commands/dare-welcome.md +25 -25
  425. package/templates/ide/cursor/.cursor/rules/skill-ax.mdc +263 -263
  426. package/templates/ide/cursor/.cursor/rules/skill-bugfix-design.mdc +51 -51
  427. package/templates/ide/cursor/.cursor/rules/skill-dag-build.mdc +173 -173
  428. package/templates/ide/cursor/.cursor/rules/skill-dag-run.mdc +134 -134
  429. package/templates/ide/cursor/.cursor/rules/skill-dag-runner.mdc +221 -221
  430. package/templates/ide/cursor/.cursor/rules/skill-dna.mdc +63 -63
  431. package/templates/ide/cursor/.cursor/rules/skill-docker.mdc +33 -33
  432. package/templates/ide/cursor/.cursor/rules/skill-fastapi-api.mdc +352 -352
  433. package/templates/ide/cursor/.cursor/rules/skill-feature-design.mdc +43 -43
  434. package/templates/ide/cursor/.cursor/rules/skill-frontend-design.mdc +244 -244
  435. package/templates/ide/cursor/.cursor/rules/skill-go-gin-api.mdc +371 -371
  436. package/templates/ide/cursor/.cursor/rules/skill-laravel-api.mdc +44 -44
  437. package/templates/ide/cursor/.cursor/rules/skill-layered-design.mdc +266 -266
  438. package/templates/ide/cursor/.cursor/rules/skill-llm-integration.mdc +295 -295
  439. package/templates/ide/cursor/.cursor/rules/skill-mcp-server.mdc +367 -367
  440. package/templates/ide/cursor/.cursor/rules/skill-migrate.mdc +58 -58
  441. package/templates/ide/cursor/.cursor/rules/skill-nestjs-api.mdc +346 -346
  442. package/templates/ide/cursor/.cursor/rules/skill-quality-telemetry.mdc +248 -248
  443. package/templates/ide/cursor/.cursor/rules/skill-rails-api.mdc +400 -400
  444. package/templates/ide/cursor/.cursor/rules/skill-realtime.mdc +262 -262
  445. package/templates/ide/cursor/.cursor/rules/skill-reverse.mdc +107 -107
  446. package/templates/ide/cursor/.cursor/rules/skill-rust-leptos.mdc +281 -281
  447. package/templates/ide/cursor/.cursor/rules/skill-rust-workspace.mdc +312 -312
  448. package/templates/ide/cursor/.cursor/rules/skill-security.mdc +245 -245
  449. package/templates/ide/cursor/.cursor/rules/skill-telemetry.mdc +156 -156
  450. package/templates/ide/cursor/templates/BLUEPRINT-template.md +193 -193
  451. package/templates/ide/cursor/templates/DESIGN-template.md +129 -129
  452. package/templates/ide/cursor/templates/TASK-SPEC-template.md +141 -141
  453. package/templates/ide/cursor/templates/TASKS-template.md +26 -26
  454. package/templates/ide/cursor/templates/TELEMETRY-template.md +125 -125
  455. package/templates/shared/docker-compose.yml +41 -41
  456. package/templates/stacks/go-gin/.dare/skills.yml +11 -11
  457. package/templates/stacks/go-gin/.env.example +24 -24
  458. package/templates/stacks/go-gin/.github/workflows/dare-ci.yml +42 -42
  459. package/templates/stacks/go-gin/README.md.tpl +38 -38
  460. package/templates/stacks/go-gin/cmd/server/main.go.tpl +78 -78
  461. package/templates/stacks/go-gin/db/migrations/0001_create_users.down.sql +2 -2
  462. package/templates/stacks/go-gin/db/migrations/0001_create_users.up.sql +12 -12
  463. package/templates/stacks/go-gin/db/queries/users.sql +23 -23
  464. package/templates/stacks/go-gin/gitignore +7 -7
  465. package/templates/stacks/go-gin/go.mod.tpl +17 -17
  466. package/templates/stacks/go-gin/internal/config/config.go +41 -41
  467. package/templates/stacks/go-gin/internal/db/postgres.go.tpl +25 -25
  468. package/templates/stacks/go-gin/internal/handler/auth_handler.go.tpl +72 -72
  469. package/templates/stacks/go-gin/internal/handler/users_handler.go.tpl +72 -72
  470. package/templates/stacks/go-gin/internal/handler/ws_handler.go +37 -37
  471. package/templates/stacks/go-gin/internal/llm/dummy.go +14 -14
  472. package/templates/stacks/go-gin/internal/llm/provider.go +8 -8
  473. package/templates/stacks/go-gin/internal/middleware/jwt.go.tpl +58 -58
  474. package/templates/stacks/go-gin/internal/middleware/rate_limit.go +55 -55
  475. package/templates/stacks/go-gin/internal/model/user.go +17 -17
  476. package/templates/stacks/go-gin/internal/repository/users_repository.go.tpl +79 -79
  477. package/templates/stacks/go-gin/internal/service/auth_service.go.tpl +55 -55
  478. package/templates/stacks/go-gin/internal/service/users_service.go.tpl +53 -53
  479. package/templates/stacks/go-gin/llms.txt.tpl +54 -54
  480. package/templates/stacks/go-gin/openapi.json.tpl +46 -46
  481. package/templates/stacks/go-gin/sqlc.yaml +14 -14
  482. package/templates/stacks/go-gin/tests/smoke_test.go.tpl +22 -22
  483. package/templates/stacks/go-stdlib/.dare/skills.yml +11 -11
  484. package/templates/stacks/go-stdlib/.env.example +24 -24
  485. package/templates/stacks/go-stdlib/.github/workflows/dare-ci.yml +42 -42
  486. package/templates/stacks/go-stdlib/README.md.tpl +41 -41
  487. package/templates/stacks/go-stdlib/cmd/server/main.go.tpl +82 -82
  488. package/templates/stacks/go-stdlib/db/migrations/0001_create_users.down.sql +2 -2
  489. package/templates/stacks/go-stdlib/db/migrations/0001_create_users.up.sql +12 -12
  490. package/templates/stacks/go-stdlib/db/queries/users.sql +23 -23
  491. package/templates/stacks/go-stdlib/gitignore +6 -6
  492. package/templates/stacks/go-stdlib/go.mod.tpl +15 -15
  493. package/templates/stacks/go-stdlib/internal/config/config.go +41 -41
  494. package/templates/stacks/go-stdlib/internal/db/postgres.go.tpl +24 -24
  495. package/templates/stacks/go-stdlib/internal/handler/auth_handler.go.tpl +71 -71
  496. package/templates/stacks/go-stdlib/internal/handler/users_handler.go.tpl +84 -84
  497. package/templates/stacks/go-stdlib/internal/handler/ws_handler.go +36 -36
  498. package/templates/stacks/go-stdlib/internal/httpx/json.go +32 -32
  499. package/templates/stacks/go-stdlib/internal/llm/dummy.go +14 -14
  500. package/templates/stacks/go-stdlib/internal/llm/provider.go +8 -8
  501. package/templates/stacks/go-stdlib/internal/middleware/chain.go +21 -21
  502. package/templates/stacks/go-stdlib/internal/middleware/cors.go +27 -27
  503. package/templates/stacks/go-stdlib/internal/middleware/jwt.go.tpl +51 -51
  504. package/templates/stacks/go-stdlib/internal/middleware/rate_limit.go +81 -81
  505. package/templates/stacks/go-stdlib/internal/model/user.go +17 -17
  506. package/templates/stacks/go-stdlib/internal/repository/users_repository.go.tpl +75 -75
  507. package/templates/stacks/go-stdlib/internal/service/auth_service.go.tpl +55 -55
  508. package/templates/stacks/go-stdlib/internal/service/users_service.go.tpl +53 -53
  509. package/templates/stacks/go-stdlib/llms.txt.tpl +60 -60
  510. package/templates/stacks/go-stdlib/openapi.json.tpl +46 -46
  511. package/templates/stacks/go-stdlib/sqlc.yaml +14 -14
  512. package/templates/stacks/go-stdlib/tests/smoke_test.go.tpl +45 -45
  513. package/templates/stacks/mcp-go/.dare/skills.yml +8 -8
  514. package/templates/stacks/mcp-go/.env.example +14 -14
  515. package/templates/stacks/mcp-go/.github/workflows/dare-ci.yml +42 -42
  516. package/templates/stacks/mcp-go/README.md.tpl +50 -50
  517. package/templates/stacks/mcp-go/cmd/server/main.go.tpl +62 -62
  518. package/templates/stacks/mcp-go/gitignore +6 -6
  519. package/templates/stacks/mcp-go/go.mod.tpl +9 -9
  520. package/templates/stacks/mcp-go/internal/prompts/summarize.go +9 -9
  521. package/templates/stacks/mcp-go/internal/server/server.go.tpl +80 -80
  522. package/templates/stacks/mcp-go/internal/tools/echo.go +15 -15
  523. package/templates/stacks/mcp-go/internal/transports/http.go.tpl +21 -21
  524. package/templates/stacks/mcp-go/internal/transports/sse.go.tpl +17 -17
  525. package/templates/stacks/mcp-go/internal/transports/stdio.go.tpl +14 -14
  526. package/templates/stacks/mcp-go/llms.txt.tpl +60 -60
  527. package/templates/stacks/mcp-go/openapi.json.tpl +31 -31
  528. package/templates/stacks/mcp-go/tests/echo_test.go.tpl +37 -37
  529. package/templates/stacks/mcp-node-ts/.dare/skills.yml +8 -8
  530. package/templates/stacks/mcp-node-ts/.env.example +16 -16
  531. package/templates/stacks/mcp-node-ts/.github/workflows/dare-ci.yml +54 -54
  532. package/templates/stacks/mcp-node-ts/README.md.hbs +49 -49
  533. package/templates/stacks/mcp-node-ts/gitignore +7 -7
  534. package/templates/stacks/mcp-node-ts/llms.txt.hbs +61 -61
  535. package/templates/stacks/mcp-node-ts/openapi.json.hbs +39 -39
  536. package/templates/stacks/mcp-node-ts/package.json.hbs +35 -35
  537. package/templates/stacks/mcp-node-ts/src/cli.ts.hbs +71 -71
  538. package/templates/stacks/mcp-node-ts/src/prompts/index.ts +36 -36
  539. package/templates/stacks/mcp-node-ts/src/server.ts.hbs +45 -45
  540. package/templates/stacks/mcp-node-ts/src/tools/echo.ts +23 -23
  541. package/templates/stacks/mcp-node-ts/src/tools/index.ts +18 -18
  542. package/templates/stacks/mcp-node-ts/src/transports/http.ts +68 -68
  543. package/templates/stacks/mcp-node-ts/src/transports/sse.ts +58 -58
  544. package/templates/stacks/mcp-node-ts/src/transports/stdio.ts +5 -5
  545. package/templates/stacks/mcp-node-ts/tests/echo.test.ts +50 -50
  546. package/templates/stacks/mcp-node-ts/tsconfig.json +17 -17
  547. package/templates/stacks/mcp-python/.dare/skills.yml +8 -8
  548. package/templates/stacks/mcp-python/.env.example +14 -14
  549. package/templates/stacks/mcp-python/.github/workflows/dare-ci.yml +42 -42
  550. package/templates/stacks/mcp-python/README.md.j2 +49 -49
  551. package/templates/stacks/mcp-python/gitignore +12 -12
  552. package/templates/stacks/mcp-python/llms.txt.j2 +56 -56
  553. package/templates/stacks/mcp-python/openapi.json.j2 +33 -33
  554. package/templates/stacks/mcp-python/pyproject.toml.j2 +37 -37
  555. package/templates/stacks/mcp-python/src/cli.py.j2 +68 -68
  556. package/templates/stacks/mcp-python/src/prompts/summarize.py +10 -10
  557. package/templates/stacks/mcp-python/src/server.py.j2 +28 -28
  558. package/templates/stacks/mcp-python/src/tools/echo.py +12 -12
  559. package/templates/stacks/mcp-python/src/transports/http.py +12 -12
  560. package/templates/stacks/mcp-python/src/transports/sse.py +13 -13
  561. package/templates/stacks/mcp-python/src/transports/stdio.py +6 -6
  562. package/templates/stacks/mcp-python/tests/test_echo.py +28 -28
  563. package/templates/stacks/mcp-rust/.dare/skills.yml +8 -8
  564. package/templates/stacks/mcp-rust/.env.example +14 -14
  565. package/templates/stacks/mcp-rust/.github/workflows/dare-ci.yml +38 -38
  566. package/templates/stacks/mcp-rust/Cargo.toml.tera +35 -35
  567. package/templates/stacks/mcp-rust/README.md.tera +50 -50
  568. package/templates/stacks/mcp-rust/gitignore +5 -5
  569. package/templates/stacks/mcp-rust/llms.txt.tera +60 -60
  570. package/templates/stacks/mcp-rust/openapi.json.tera +31 -31
  571. package/templates/stacks/mcp-rust/src/cli.rs.tera +33 -33
  572. package/templates/stacks/mcp-rust/src/lib.rs +6 -6
  573. package/templates/stacks/mcp-rust/src/main.rs.tera +30 -30
  574. package/templates/stacks/mcp-rust/src/prompts/mod.rs +1 -1
  575. package/templates/stacks/mcp-rust/src/prompts/summarize.rs +5 -5
  576. package/templates/stacks/mcp-rust/src/server.rs.tera +38 -38
  577. package/templates/stacks/mcp-rust/src/tools/echo.rs +18 -18
  578. package/templates/stacks/mcp-rust/src/tools/mod.rs +22 -22
  579. package/templates/stacks/mcp-rust/src/transports/http.rs +27 -27
  580. package/templates/stacks/mcp-rust/src/transports/mod.rs +3 -3
  581. package/templates/stacks/mcp-rust/src/transports/sse.rs +33 -33
  582. package/templates/stacks/mcp-rust/src/transports/stdio.rs +14 -14
  583. package/templates/stacks/mcp-rust/tests/echo_test.rs.tera +27 -27
  584. package/templates/stacks/node-nestjs/.dare/skills.yml +11 -11
  585. package/templates/stacks/node-nestjs/.env.example +21 -21
  586. package/templates/stacks/node-nestjs/.github/workflows/dare-ci.yml +54 -54
  587. package/templates/stacks/node-nestjs/README.md.hbs +35 -35
  588. package/templates/stacks/node-nestjs/gitignore +7 -7
  589. package/templates/stacks/node-nestjs/llms.txt.hbs +47 -47
  590. package/templates/stacks/node-nestjs/nest-cli.json +16 -16
  591. package/templates/stacks/node-nestjs/openapi.json.hbs +75 -75
  592. package/templates/stacks/node-nestjs/package.json.hbs +57 -57
  593. package/templates/stacks/node-nestjs/prisma/schema.prisma +25 -25
  594. package/templates/stacks/node-nestjs/prisma/seed.ts.hbs +25 -25
  595. package/templates/stacks/node-nestjs/src/app.module.ts +39 -39
  596. package/templates/stacks/node-nestjs/src/auth/auth.controller.ts +29 -29
  597. package/templates/stacks/node-nestjs/src/auth/auth.module.ts +25 -25
  598. package/templates/stacks/node-nestjs/src/auth/auth.service.ts +36 -36
  599. package/templates/stacks/node-nestjs/src/auth/dto/login-response.dto.ts +9 -9
  600. package/templates/stacks/node-nestjs/src/auth/dto/login.dto.ts +17 -17
  601. package/templates/stacks/node-nestjs/src/auth/jwt.strategy.ts +25 -25
  602. package/templates/stacks/node-nestjs/src/common/filters/problem-details.filter.ts +38 -38
  603. package/templates/stacks/node-nestjs/src/common/interceptors/json-response.interceptor.ts +13 -13
  604. package/templates/stacks/node-nestjs/src/main.ts.hbs +44 -44
  605. package/templates/stacks/node-nestjs/src/prisma/prisma.module.ts +9 -9
  606. package/templates/stacks/node-nestjs/src/prisma/prisma.service.ts +9 -9
  607. package/templates/stacks/node-nestjs/src/users/dto/create-user.dto.ts +22 -22
  608. package/templates/stacks/node-nestjs/src/users/dto/user.dto.ts +15 -15
  609. package/templates/stacks/node-nestjs/src/users/users.controller.ts +41 -41
  610. package/templates/stacks/node-nestjs/src/users/users.module.ts +11 -11
  611. package/templates/stacks/node-nestjs/src/users/users.repository.ts +38 -38
  612. package/templates/stacks/node-nestjs/src/users/users.service.ts +38 -38
  613. package/templates/stacks/node-nestjs/tsconfig.build.json +4 -4
  614. package/templates/stacks/node-nestjs/tsconfig.json +28 -28
  615. package/templates/stacks/php-laravel/.dare/skills.yml +11 -11
  616. package/templates/stacks/php-laravel/.env.example +41 -41
  617. package/templates/stacks/php-laravel/.github/workflows/dare-ci.yml +43 -43
  618. package/templates/stacks/php-laravel/README.md.hbs +36 -36
  619. package/templates/stacks/php-laravel/app/Http/Controllers/Api/AuthController.php +36 -36
  620. package/templates/stacks/php-laravel/app/Http/Controllers/Api/UsersController.php +33 -33
  621. package/templates/stacks/php-laravel/app/Http/Requests/CreateUserRequest.php +26 -26
  622. package/templates/stacks/php-laravel/app/Http/Requests/LoginRequest.php +34 -34
  623. package/templates/stacks/php-laravel/app/Llm/Contracts/LlmProvider.php +12 -12
  624. package/templates/stacks/php-laravel/app/Llm/Providers/DummyProvider.php +13 -13
  625. package/templates/stacks/php-laravel/app/Llm/Providers/OpenAiProvider.php +33 -33
  626. package/templates/stacks/php-laravel/app/Models/User.php +44 -44
  627. package/templates/stacks/php-laravel/app/Repositories/UsersRepository.php +32 -32
  628. package/templates/stacks/php-laravel/app/Services/AuthService.php +37 -37
  629. package/templates/stacks/php-laravel/app/Services/UsersService.php +57 -57
  630. package/templates/stacks/php-laravel/artisan +12 -12
  631. package/templates/stacks/php-laravel/bootstrap/app.php +29 -29
  632. package/templates/stacks/php-laravel/bootstrap/providers.php +5 -5
  633. package/templates/stacks/php-laravel/composer.json.hbs +58 -58
  634. package/templates/stacks/php-laravel/config/l5-swagger.php +41 -41
  635. package/templates/stacks/php-laravel/config/reverb.php +34 -34
  636. package/templates/stacks/php-laravel/config/sanctum.php +15 -15
  637. package/templates/stacks/php-laravel/database/migrations/2026_06_01_000001_create_users_table.php +27 -27
  638. package/templates/stacks/php-laravel/database/seeders/DatabaseSeeder.php +21 -21
  639. package/templates/stacks/php-laravel/gitignore +23 -23
  640. package/templates/stacks/php-laravel/llms.txt.hbs +53 -53
  641. package/templates/stacks/php-laravel/openapi.json.hbs +43 -43
  642. package/templates/stacks/php-laravel/phpstan.neon +9 -9
  643. package/templates/stacks/php-laravel/routes/api.php +13 -13
  644. package/templates/stacks/php-laravel/routes/channels.php +7 -7
  645. package/templates/stacks/php-laravel/tests/Feature/AuthTest.php +35 -35
  646. package/templates/stacks/php-laravel/tests/Feature/UsersTest.php +30 -30
  647. package/templates/stacks/php-laravel/tests/Pest.php +5 -5
  648. package/templates/stacks/python-fastapi/.dare/skills.yml +11 -11
  649. package/templates/stacks/python-fastapi/.env.example +21 -21
  650. package/templates/stacks/python-fastapi/.github/workflows/dare-ci.yml +43 -43
  651. package/templates/stacks/python-fastapi/README.md.j2 +35 -35
  652. package/templates/stacks/python-fastapi/alembic/env.py +46 -46
  653. package/templates/stacks/python-fastapi/alembic/script.py.mako +26 -26
  654. package/templates/stacks/python-fastapi/alembic/versions/0001_create_users.py.j2 +37 -37
  655. package/templates/stacks/python-fastapi/alembic.ini.j2 +39 -39
  656. package/templates/stacks/python-fastapi/app/core/config.py +24 -24
  657. package/templates/stacks/python-fastapi/app/core/security.py +34 -34
  658. package/templates/stacks/python-fastapi/app/db/session.py +22 -22
  659. package/templates/stacks/python-fastapi/app/main.py.j2 +36 -36
  660. package/templates/stacks/python-fastapi/app/models/__init__.py +3 -3
  661. package/templates/stacks/python-fastapi/app/models/user.py +30 -30
  662. package/templates/stacks/python-fastapi/app/repositories/user_repository.py +34 -34
  663. package/templates/stacks/python-fastapi/app/routers/auth.py +37 -37
  664. package/templates/stacks/python-fastapi/app/routers/users.py +46 -46
  665. package/templates/stacks/python-fastapi/app/schemas/user.py +56 -56
  666. package/templates/stacks/python-fastapi/app/services/auth_service.py +22 -22
  667. package/templates/stacks/python-fastapi/app/services/user_service.py +31 -31
  668. package/templates/stacks/python-fastapi/gitignore +12 -12
  669. package/templates/stacks/python-fastapi/llms.txt.j2 +53 -53
  670. package/templates/stacks/python-fastapi/openapi.json.j2 +43 -43
  671. package/templates/stacks/python-fastapi/pyproject.toml.j2 +45 -45
  672. package/templates/stacks/python-fastapi/tests/test_auth.py +22 -22
  673. package/templates/stacks/ruby-rails-8/.dare/skills.yml +50 -50
  674. package/templates/stacks/ruby-rails-8/.env.example +20 -20
  675. package/templates/stacks/ruby-rails-8/.github/workflows/dare-ci.yml +112 -112
  676. package/templates/stacks/ruby-rails-8/Gemfile.erb +61 -61
  677. package/templates/stacks/ruby-rails-8/app/channels/application_cable/channel.rb +11 -11
  678. package/templates/stacks/ruby-rails-8/app/channels/application_cable/connection.rb +34 -34
  679. package/templates/stacks/ruby-rails-8/app/channels/dare_updates_channel.rb +18 -18
  680. package/templates/stacks/ruby-rails-8/app/channels/user_updates_channel.rb +23 -23
  681. package/templates/stacks/ruby-rails-8/app/controllers/application_controller.rb +44 -44
  682. package/templates/stacks/ruby-rails-8/app/controllers/concerns/problem_details.rb +93 -93
  683. package/templates/stacks/ruby-rails-8/app/handlers/summarize_handler.rb +33 -33
  684. package/templates/stacks/ruby-rails-8/app/handlers/users_handler.rb +68 -68
  685. package/templates/stacks/ruby-rails-8/app/llm/cache/llm_cache.rb +44 -44
  686. package/templates/stacks/ruby-rails-8/app/llm/prompts/prompt_loader.rb +54 -54
  687. package/templates/stacks/ruby-rails-8/app/llm/prompts/summarize_v1.jinja2 +12 -12
  688. package/templates/stacks/ruby-rails-8/app/llm/providers/dummy_provider.rb +35 -35
  689. package/templates/stacks/ruby-rails-8/app/llm/providers/llm_provider.rb +67 -67
  690. package/templates/stacks/ruby-rails-8/app/llm/providers/openai_provider.rb +62 -62
  691. package/templates/stacks/ruby-rails-8/app/llm/rate_limit/token_bucket.rb +82 -82
  692. package/templates/stacks/ruby-rails-8/app/llm/validators/summarize_output_schema.json +21 -21
  693. package/templates/stacks/ruby-rails-8/app/llm/validators/validator.rb +52 -52
  694. package/templates/stacks/ruby-rails-8/app/models/user.rb +36 -36
  695. package/templates/stacks/ruby-rails-8/app/presenters/user_presenter.rb +48 -48
  696. package/templates/stacks/ruby-rails-8/app/repositories/document_repository.rb +57 -57
  697. package/templates/stacks/ruby-rails-8/app/repositories/user_repository.rb +73 -73
  698. package/templates/stacks/ruby-rails-8/app/services/create_user_service.rb +67 -67
  699. package/templates/stacks/ruby-rails-8/app/services/realtime_service.rb +53 -53
  700. package/templates/stacks/ruby-rails-8/app/services/summarize_document_service.rb +57 -57
  701. package/templates/stacks/ruby-rails-8/config/dare.yml +42 -42
  702. package/templates/stacks/ruby-rails-8/config/initializers/dare.rb +31 -31
  703. package/templates/stacks/ruby-rails-8/config/initializers/rack_attack.rb +64 -64
  704. package/templates/stacks/ruby-rails-8/config/initializers/rswag_api.rb +12 -12
  705. package/templates/stacks/ruby-rails-8/lib/tasks/dare.rake +159 -159
  706. package/templates/stacks/ruby-rails-8/llms.txt.erb +69 -69
  707. package/templates/stacks/ruby-rails-8/spec/api/summarize_spec.rb +56 -56
  708. package/templates/stacks/ruby-rails-8/spec/api/users_spec.rb +72 -72
  709. package/templates/stacks/ruby-rails-8/spec/channels/dare_updates_channel_spec.rb +61 -61
  710. package/templates/stacks/ruby-rails-8/spec/channels/user_updates_channel_spec.rb +56 -56
  711. package/templates/stacks/ruby-rails-8/spec/factories/users.rb +27 -27
  712. package/templates/stacks/ruby-rails-8/spec/handlers/users_handler_spec.rb +88 -88
  713. package/templates/stacks/ruby-rails-8/spec/rails_helper.rb +31 -31
  714. package/templates/stacks/ruby-rails-8/spec/services/create_user_service_spec.rb +88 -88
  715. package/templates/stacks/ruby-rails-8/spec/services/summarize_document_service_spec.rb +142 -142
  716. package/templates/stacks/ruby-rails-8/spec/swagger_helper.rb +73 -73
  717. package/templates/stacks/rust-axum/.dare/skills.yml +11 -11
  718. package/templates/stacks/rust-axum/.env.example +26 -26
  719. package/templates/stacks/rust-axum/.github/workflows/dare-ci.yml +40 -40
  720. package/templates/stacks/rust-axum/Cargo.toml.tera +53 -53
  721. package/templates/stacks/rust-axum/README.md.tera +37 -37
  722. package/templates/stacks/rust-axum/gitignore +5 -5
  723. package/templates/stacks/rust-axum/llms.txt.tera +54 -54
  724. package/templates/stacks/rust-axum/migrations/0001_create_users.sql +13 -13
  725. package/templates/stacks/rust-axum/openapi.json.tera +46 -46
  726. package/templates/stacks/rust-axum/src/config.rs +45 -45
  727. package/templates/stacks/rust-axum/src/errors.rs +48 -48
  728. package/templates/stacks/rust-axum/src/handlers/auth.rs +48 -48
  729. package/templates/stacks/rust-axum/src/handlers/mod.rs +3 -3
  730. package/templates/stacks/rust-axum/src/handlers/users.rs +81 -81
  731. package/templates/stacks/rust-axum/src/handlers/ws.rs +24 -24
  732. package/templates/stacks/rust-axum/src/lib.rs +19 -19
  733. package/templates/stacks/rust-axum/src/llm/mod.rs +1 -1
  734. package/templates/stacks/rust-axum/src/llm/provider.rs +48 -48
  735. package/templates/stacks/rust-axum/src/main.rs.tera +64 -64
  736. package/templates/stacks/rust-axum/src/middleware/auth.rs +20 -20
  737. package/templates/stacks/rust-axum/src/middleware/mod.rs +2 -2
  738. package/templates/stacks/rust-axum/src/middleware/rate_limit.rs +27 -27
  739. package/templates/stacks/rust-axum/src/models/mod.rs +1 -1
  740. package/templates/stacks/rust-axum/src/models/user.rs +13 -13
  741. package/templates/stacks/rust-axum/src/repositories/mod.rs +1 -1
  742. package/templates/stacks/rust-axum/src/repositories/user_repository.rs +62 -62
  743. package/templates/stacks/rust-axum/src/services/auth_service.rs +50 -50
  744. package/templates/stacks/rust-axum/src/services/mod.rs +2 -2
  745. package/templates/stacks/rust-axum/src/services/user_service.rs +53 -53
  746. package/templates/stacks/rust-axum/tests/integration_test.rs.tera +13 -13
  747. package/dist/commands/new.d.ts +0 -16
  748. package/dist/commands/new.d.ts.map +0 -1
  749. package/dist/commands/new.js +0 -104
  750. package/dist/commands/new.js.map +0 -1
@@ -1,131 +1,131 @@
1
- # /dare-ax
2
-
3
- Audita ou bootstrapa um projeto DARE com foco em **Agent Experience (AX)** — os sinais estruturados que agentes de código (Claude Code, Cursor, Antigravity) precisam para trabalhar sem refactor desnecessário.
4
-
5
- ## Como usar
6
-
7
- ```
8
- /dare-ax # audita projeto atual
9
- /dare-ax init # cria llms.txt + .env.example + ajustes mínimos
10
- /dare-ax openapi # valida ou gera openapi.json
11
- /dare-ax cli # adiciona --json em comandos CLI faltantes
12
- ```
13
-
14
- ## Os três planos AX
15
-
16
- ### 1. Discovery — agente acha o que precisa
17
-
18
- - `llms.txt` na raiz com descrição, comandos, endpoints
19
- - `README.md` com bootstrap em 5 minutos
20
- - Estrutura de pastas previsível (`src/`, `tests/`, `docs/`, `DARE/`)
21
-
22
- ### 2. Usage — agente consegue operar
23
-
24
- - `openapi.json` em `/openapi.json` (HTTP)
25
- - Flag `--json` em todos os CLIs
26
- - `Dockerfile` + `docker-compose.yml` validados
27
- - `.env.example` versionado
28
-
29
- ### 3. Defense — agente não quebra produção
30
-
31
- - Rate limit (rack-attack, express-rate-limit, tower-governor, slowapi)
32
- - Validação de input (FormRequests, Pydantic, Zod, serde+validator)
33
- - Secrets só via env
34
- - `llms.txt` sem credenciais (scan no CI)
35
-
36
- ## Métricas obrigatórias
37
-
38
- | ID | Métrica | Como verificar |
39
- |---|---|---|
40
- | M-01 | `llms.txt` existe e é válido (sem secrets, seções obrigatórias) | grep + parse |
41
- | M-02 | `openapi.json` ou `public/openapi.json` existe | `test -f` |
42
- | M-03 | CLI suporta `--json` | `cli --help \| grep '\-\-json'` |
43
- | M-04 | Rate limit configurado | grep pelo middleware da stack |
44
-
45
- Falha em CI se M-01 ou M-04 falharem em produção.
46
-
47
- ## O que fazer
48
-
49
- ### Passo 1: Auditar o projeto
50
-
51
- Confira na ordem:
52
- 1. Existe `llms.txt`? Está atualizado?
53
- 2. Existe `openapi.json` se o projeto expõe HTTP?
54
- 3. Todos os CLIs aceitam `--json`?
55
- 4. Existe rate limit em endpoints autenticados públicos?
56
- 5. `.env.example` está versionado sem valores reais?
57
-
58
- ### Passo 2: Gerar `llms.txt` se faltar
59
-
60
- Use este template — preencha apenas com comandos e endpoints que **existem de verdade**:
61
-
62
- ```
63
- # <nome-do-projeto>
64
-
65
- > <descrição em 1-2 frases>
66
-
67
- ## Stack
68
- - <linguagem + framework>
69
- - <banco>
70
- - <cache/fila>
71
-
72
- ## Bootstrap
73
- - `make setup`
74
- - `make dev`
75
- - `make test`
76
-
77
- ## Endpoints
78
- - `GET /healthz`
79
- - `GET /openapi.json`
80
- - `POST /api/login`
81
-
82
- ## Docs
83
- - DARE/DESIGN.md
84
- - DARE/BLUEPRINT.md
85
- - docs/RUNBOOK.md
86
- ```
87
-
88
- ### Passo 3: Validar / gerar OpenAPI
89
-
90
- - **Node/NestJS** — `@nestjs/swagger`
91
- - **FastAPI** — automático em `/openapi.json`
92
- - **Rails** — `grape-swagger` ou `rswag`
93
- - **Rust/Axum** — `utoipa` + `utoipa-swagger-ui`
94
- - **Laravel** — `darkaonline/l5-swagger`
95
-
96
- ### Passo 4: Adicionar `--json` no CLI
97
-
98
- Para cada comando:
99
- - Imprime JSON puro em stdout (sem cores ANSI, sem prompt)
100
- - Exit code 0 em sucesso, ≠ 0 em erro
101
- - Schema documentado no `llms.txt`
102
-
103
- ### Passo 5: Configurar rate limit
104
-
105
- Adicione middleware específico da stack para todos os endpoints públicos. Padrão recomendado:
106
- - Login: 5 req / 15 min por IP + por usuário
107
- - API geral: 100 req / min por usuário autenticado
108
-
109
- ## Antipatterns a evitar
110
-
111
- | AP | Por que evitar |
112
- |---|---|
113
- | Docs fora do código | Divergem |
114
- | OpenAPI à mão | Desatualiza |
115
- | CLI sem `--json` | Parsing regex frágil |
116
- | Rate limit só em dev | Produção vira target |
117
- | `llms.txt` com secrets | Credencial exposta |
118
- | CORS `*` em prod | Origem qualquer |
119
-
120
- ## Saída esperada
121
-
122
- Reporte numerado dos 4 checks (M-01 a M-04). Para cada falha, mostre:
123
- - O que falta
124
- - Como corrigir (com comando concreto da stack)
125
- - Quem deve aprovar antes do CI travar release
126
-
127
- $ARGUMENTS
128
-
129
- ---
130
-
131
- Skill MIT — parte do DARE Method.
1
+ # /dare-ax
2
+
3
+ Audita ou bootstrapa um projeto DARE com foco em **Agent Experience (AX)** — os sinais estruturados que agentes de código (Claude Code, Cursor, Antigravity) precisam para trabalhar sem refactor desnecessário.
4
+
5
+ ## Como usar
6
+
7
+ ```
8
+ /dare-ax # audita projeto atual
9
+ /dare-ax init # cria llms.txt + .env.example + ajustes mínimos
10
+ /dare-ax openapi # valida ou gera openapi.json
11
+ /dare-ax cli # adiciona --json em comandos CLI faltantes
12
+ ```
13
+
14
+ ## Os três planos AX
15
+
16
+ ### 1. Discovery — agente acha o que precisa
17
+
18
+ - `llms.txt` na raiz com descrição, comandos, endpoints
19
+ - `README.md` com bootstrap em 5 minutos
20
+ - Estrutura de pastas previsível (`src/`, `tests/`, `docs/`, `DARE/`)
21
+
22
+ ### 2. Usage — agente consegue operar
23
+
24
+ - `openapi.json` em `/openapi.json` (HTTP)
25
+ - Flag `--json` em todos os CLIs
26
+ - `Dockerfile` + `docker-compose.yml` validados
27
+ - `.env.example` versionado
28
+
29
+ ### 3. Defense — agente não quebra produção
30
+
31
+ - Rate limit (rack-attack, express-rate-limit, tower-governor, slowapi)
32
+ - Validação de input (FormRequests, Pydantic, Zod, serde+validator)
33
+ - Secrets só via env
34
+ - `llms.txt` sem credenciais (scan no CI)
35
+
36
+ ## Métricas obrigatórias
37
+
38
+ | ID | Métrica | Como verificar |
39
+ |---|---|---|
40
+ | M-01 | `llms.txt` existe e é válido (sem secrets, seções obrigatórias) | grep + parse |
41
+ | M-02 | `openapi.json` ou `public/openapi.json` existe | `test -f` |
42
+ | M-03 | CLI suporta `--json` | `cli --help \| grep '\-\-json'` |
43
+ | M-04 | Rate limit configurado | grep pelo middleware da stack |
44
+
45
+ Falha em CI se M-01 ou M-04 falharem em produção.
46
+
47
+ ## O que fazer
48
+
49
+ ### Passo 1: Auditar o projeto
50
+
51
+ Confira na ordem:
52
+ 1. Existe `llms.txt`? Está atualizado?
53
+ 2. Existe `openapi.json` se o projeto expõe HTTP?
54
+ 3. Todos os CLIs aceitam `--json`?
55
+ 4. Existe rate limit em endpoints autenticados públicos?
56
+ 5. `.env.example` está versionado sem valores reais?
57
+
58
+ ### Passo 2: Gerar `llms.txt` se faltar
59
+
60
+ Use este template — preencha apenas com comandos e endpoints que **existem de verdade**:
61
+
62
+ ```
63
+ # <nome-do-projeto>
64
+
65
+ > <descrição em 1-2 frases>
66
+
67
+ ## Stack
68
+ - <linguagem + framework>
69
+ - <banco>
70
+ - <cache/fila>
71
+
72
+ ## Bootstrap
73
+ - `make setup`
74
+ - `make dev`
75
+ - `make test`
76
+
77
+ ## Endpoints
78
+ - `GET /healthz`
79
+ - `GET /openapi.json`
80
+ - `POST /api/login`
81
+
82
+ ## Docs
83
+ - DARE/DESIGN.md
84
+ - DARE/BLUEPRINT.md
85
+ - docs/RUNBOOK.md
86
+ ```
87
+
88
+ ### Passo 3: Validar / gerar OpenAPI
89
+
90
+ - **Node/NestJS** — `@nestjs/swagger`
91
+ - **FastAPI** — automático em `/openapi.json`
92
+ - **Rails** — `grape-swagger` ou `rswag`
93
+ - **Rust/Axum** — `utoipa` + `utoipa-swagger-ui`
94
+ - **Laravel** — `darkaonline/l5-swagger`
95
+
96
+ ### Passo 4: Adicionar `--json` no CLI
97
+
98
+ Para cada comando:
99
+ - Imprime JSON puro em stdout (sem cores ANSI, sem prompt)
100
+ - Exit code 0 em sucesso, ≠ 0 em erro
101
+ - Schema documentado no `llms.txt`
102
+
103
+ ### Passo 5: Configurar rate limit
104
+
105
+ Adicione middleware específico da stack para todos os endpoints públicos. Padrão recomendado:
106
+ - Login: 5 req / 15 min por IP + por usuário
107
+ - API geral: 100 req / min por usuário autenticado
108
+
109
+ ## Antipatterns a evitar
110
+
111
+ | AP | Por que evitar |
112
+ |---|---|
113
+ | Docs fora do código | Divergem |
114
+ | OpenAPI à mão | Desatualiza |
115
+ | CLI sem `--json` | Parsing regex frágil |
116
+ | Rate limit só em dev | Produção vira target |
117
+ | `llms.txt` com secrets | Credencial exposta |
118
+ | CORS `*` em prod | Origem qualquer |
119
+
120
+ ## Saída esperada
121
+
122
+ Reporte numerado dos 4 checks (M-01 a M-04). Para cada falha, mostre:
123
+ - O que falta
124
+ - Como corrigir (com comando concreto da stack)
125
+ - Quem deve aprovar antes do CI travar release
126
+
127
+ $ARGUMENTS
128
+
129
+ ---
130
+
131
+ Skill MIT — parte do DARE Method.
@@ -1,18 +1,18 @@
1
- # /dare-bench
2
-
3
- Roda o harness determinístico de fixtures de verificação (`dare bench`) — mede Fix·Rate e solve-rate contra patches versionados.
4
-
5
- > Este comando expõe o CLI `dare bench` na IDE.
6
-
7
- ## Como rodar
8
-
9
- ```bash
10
- dare bench --suite fixtures/bench --json
11
- dare bench --suite fixtures/bench --baseline bench-baseline.json --fail-on-regression 3
12
- ```
13
-
14
- ## O que fazer
15
-
16
- 1. Rode `dare bench` com `--json` para relatório estruturado.
17
- 2. Compare com `--baseline` em CI; exit 1 = regressão > limiar pp.
18
- 3. Exit 2 = suite inválida/ausente.
1
+ # /dare-bench
2
+
3
+ Roda o harness determinístico de fixtures de verificação (`dare bench`) — mede Fix·Rate e solve-rate contra patches versionados.
4
+
5
+ > Este comando expõe o CLI `dare bench` na IDE.
6
+
7
+ ## Como rodar
8
+
9
+ ```bash
10
+ dare bench --suite fixtures/bench --json
11
+ dare bench --suite fixtures/bench --baseline bench-baseline.json --fail-on-regression 3
12
+ ```
13
+
14
+ ## O que fazer
15
+
16
+ 1. Rode `dare bench` com `--json` para relatório estruturado.
17
+ 2. Compare com `--baseline` em CI; exit 1 = regressão > limiar pp.
18
+ 3. Exit 2 = suite inválida/ausente.
@@ -1,134 +1,134 @@
1
- # /dare-blueprint
2
-
3
- Gera **somente** `DARE/BLUEPRINT.md` a partir do `DARE/DESIGN.md`.
4
-
5
- > Tasks, DAG e specs de execução são geradas depois com `/dare-tasks`, após aprovação humana do Blueprint.
6
-
7
- ## Como usar
8
-
9
- ```
10
- /dare-blueprint
11
- /dare-blueprint --stack node-nestjs+react
12
- ```
13
-
14
- ## O que fazer
15
-
16
- ### 1. Ler `DARE/DESIGN.md`
17
-
18
- Obrigatório. Se não existir, peça para rodar `/dare-design` primeiro.
19
-
20
- Extraia e use durante todo o comando:
21
- - Stack técnica (linguagem, framework, versões)
22
- - Requisitos funcionais priorizados (RF-*)
23
- - Requisitos de segurança (RS-*)
24
- - Integrações externas confirmadas
25
- - Restrições e escopo
26
-
27
- ### 2. Gerar `DARE/BLUEPRINT.md`
28
-
29
- Siga o template `templates/BLUEPRINT-template.md`. Seções obrigatórias:
30
-
31
- **2.1 Visão Geral da Arquitetura**
32
- - Diagrama Mermaid da arquitetura
33
- - Tabela de decisões arquiteturais com justificativa (não apenas "escolha X")
34
-
35
- **2.2 Stack Técnica Definida** — versões fixas, não ranges
36
-
37
- **2.3 Estrutura de Pastas** — árvore completa dos arquivos que serão criados
38
-
39
- **2.4 Modelo de Dados** — entidades, campos tipados, relacionamentos, índices necessários
40
-
41
- **2.5 Contratos de API** — tabela completa: método, rota, auth, request body, response, status codes
42
-
43
- **2.6 Plano de Execução (Fases)** — cada fase com:
44
- - Nome e objetivo
45
- - **Critério de DONE** — comportamento verificável e testável (não "código feito")
46
- - Lista de entregáveis concretos
47
-
48
- > **Fase 1 é sempre containerização** (Dockerfile + docker-compose + healthcheck)
49
- > **Fase N-1 é sempre auditoria de segurança e dependências**
50
-
51
- **2.7 Validation Gates por Stack**
52
-
53
- | Stack | Build | Test | Lint/Audit |
54
- |-------|-------|------|------------|
55
- | Rust/Axum | `cargo build` | `cargo test --workspace` | `cargo clippy && cargo audit` |
56
- | Node/NestJS | `npm run build` | `npm test` | `npx eslint src && npm audit --audit-level=high` |
57
- | Python/FastAPI | verificar imports | `pytest` | `ruff check . && pip-audit` |
58
- | PHP/Laravel | `php artisan config:cache` | `php artisan test` | `./vendor/bin/phpstan && composer audit` |
59
- | Go | `go build ./...` | `go test ./...` | `golangci-lint run` |
60
-
61
- **2.8 Controles de Segurança** — checklist com todos os RS-* do DESIGN mapeados para fases específicas
62
-
63
- **2.9 Estratégia de Testes** — unitários + integração + segurança (auditoria de deps) + E2E se frontend
64
-
65
- **2.10 Estratégia de Deploy** — por ambiente com branch, trigger e infra
66
-
67
- **2.11 Checklist de Aprovação** — checkboxes para o usuário revisar antes de prosseguir
68
-
69
- ---
70
-
71
- ## 🚫 ANTI-STUB CONTRACT (regra inegociável)
72
-
73
- > **Por que existe esta seção:** o `/dare-tasks` que vem depois usa este Blueprint como **única fonte de verdade**. Se um endpoint, função ou regra ficar genérico aqui, o agente que implementar a task **será forçado a inventar** — e vai produzir mocks, stubs e esqueletos para "preencher o vazio". Detalhe agora.
74
- >
75
- > Tasks que produzem mock/stub/skeleton **falham** no `dare review` (introduzido na v2.17) e bloqueiam o `dare execute --complete`.
76
-
77
- Para **cada** endpoint, função pública, evento ou job declarado no Blueprint, especifique de forma **executável**:
78
-
79
- ### Para endpoints HTTP/RPC
80
-
81
- - **Assinatura completa:** método, path, headers obrigatórios, content-type
82
- - **Request schema:** todos os campos com tipo, restrições (min/max/regex), opcionalidade
83
- - **Response schema por status code:** estrutura para 2xx, 4xx, 5xx — não apenas "200 OK"
84
- - **Validações server-side:** lista exaustiva de regras (`email único`, `senha ≥ 8 chars + 1 maiúscula + 1 dígito`, etc.)
85
- - **Edge cases enumerados:** o que acontece com input vazio, duplicado, expirado, sem permissão, com dados inconsistentes
86
- - **Side effects:** que tabelas/filas/caches/emails são tocados — em ordem
87
- - **Exemplo concreto (não placeholder):** payload real, response real
88
-
89
- ### Para funções de domínio / services
90
-
91
- - **Assinatura tipada** (`fn name(args: Types) -> ReturnType` ou equivalente)
92
- - **Pré-condições** verificáveis (estado obrigatório do banco/cache/etc.)
93
- - **Pós-condições** verificáveis (o que muda no sistema após retornar OK)
94
- - **Estados de erro** com tipo de exceção/Result/Either esperado
95
- - **Comportamento em concorrência** quando relevante (idempotência, locking, retry)
96
-
97
- ### Para jobs / event handlers / workers
98
-
99
- - **Trigger:** evento, cron, fila — incluir o **nome canônico**
100
- - **Payload schema** com tipos
101
- - **Retry policy** (backoff, max attempts, DLQ)
102
- - **Idempotência:** chave + estratégia
103
- - **SLA / timeout**
104
-
105
- ### Para modelos de dados
106
-
107
- - Cada campo: tipo, nullable, default, constraints (unique, fk, check), índices
108
- - Triggers ou hooks (soft-delete, audit, encryption-at-rest)
109
- - Estado inicial / seed obrigatório (se aplicável)
110
-
111
- ### Critério de "Blueprint detalhado o suficiente"
112
-
113
- Antes de salvar, valide internamente — se a resposta a **qualquer** pergunta abaixo for "não", o Blueprint ainda está raso e precisa ser expandido:
114
-
115
- - [ ] Para cada endpoint, um humano não-familiarizado consegue escrever request/response sem perguntar nada?
116
- - [ ] Para cada função pública, está claro **o que retorna** em todos os caminhos (sucesso + erros enumerados)?
117
- - [ ] Edge cases foram **enumerados** ou só listados como "tratar edge cases"?
118
- - [ ] Cada validação tem uma regra concreta (não "validar email" — `^[a-z0-9._%+-]+@...`)?
119
- - [ ] Cada decisão arquitetural tem **justificativa** (não só "escolhemos X")?
120
-
121
- **Anti-padrão a evitar:** seções como _"implementar autenticação"_ ou _"validar dados"_ — isso vai virar stub. Especifique **qual** algoritmo, **quais** campos, **quais** regras.
122
-
123
- ---
124
-
125
- ### 3. Salvar e aguardar aprovação humana
126
-
127
- Salve `DARE/BLUEPRINT.md` e informe:
128
-
129
- _"Blueprint gerado. Revise a arquitetura, os contratos de API e os critérios de DONE de cada fase — especialmente as tasks de complexidade HIGH. Quando aprovado, rode `/dare-tasks` para gerar o DAG e as specs de execução."_
130
-
131
- **Não gere** `DARE/TASKS.md`, `DARE/dare-dag.yaml` nem arquivos em `DARE/EXECUTION/`.
132
- Esses artefatos são responsabilidade exclusiva do `/dare-tasks`.
133
-
134
- $ARGUMENTS
1
+ # /dare-blueprint
2
+
3
+ Gera **somente** `DARE/BLUEPRINT.md` a partir do `DARE/DESIGN.md`.
4
+
5
+ > Tasks, DAG e specs de execução são geradas depois com `/dare-tasks`, após aprovação humana do Blueprint.
6
+
7
+ ## Como usar
8
+
9
+ ```
10
+ /dare-blueprint
11
+ /dare-blueprint --stack node-nestjs+react
12
+ ```
13
+
14
+ ## O que fazer
15
+
16
+ ### 1. Ler `DARE/DESIGN.md`
17
+
18
+ Obrigatório. Se não existir, peça para rodar `/dare-design` primeiro.
19
+
20
+ Extraia e use durante todo o comando:
21
+ - Stack técnica (linguagem, framework, versões)
22
+ - Requisitos funcionais priorizados (RF-*)
23
+ - Requisitos de segurança (RS-*)
24
+ - Integrações externas confirmadas
25
+ - Restrições e escopo
26
+
27
+ ### 2. Gerar `DARE/BLUEPRINT.md`
28
+
29
+ Siga o template `templates/BLUEPRINT-template.md`. Seções obrigatórias:
30
+
31
+ **2.1 Visão Geral da Arquitetura**
32
+ - Diagrama Mermaid da arquitetura
33
+ - Tabela de decisões arquiteturais com justificativa (não apenas "escolha X")
34
+
35
+ **2.2 Stack Técnica Definida** — versões fixas, não ranges
36
+
37
+ **2.3 Estrutura de Pastas** — árvore completa dos arquivos que serão criados
38
+
39
+ **2.4 Modelo de Dados** — entidades, campos tipados, relacionamentos, índices necessários
40
+
41
+ **2.5 Contratos de API** — tabela completa: método, rota, auth, request body, response, status codes
42
+
43
+ **2.6 Plano de Execução (Fases)** — cada fase com:
44
+ - Nome e objetivo
45
+ - **Critério de DONE** — comportamento verificável e testável (não "código feito")
46
+ - Lista de entregáveis concretos
47
+
48
+ > **Fase 1 é sempre containerização** (Dockerfile + docker-compose + healthcheck)
49
+ > **Fase N-1 é sempre auditoria de segurança e dependências**
50
+
51
+ **2.7 Validation Gates por Stack**
52
+
53
+ | Stack | Build | Test | Lint/Audit |
54
+ |-------|-------|------|------------|
55
+ | Rust/Axum | `cargo build` | `cargo test --workspace` | `cargo clippy && cargo audit` |
56
+ | Node/NestJS | `npm run build` | `npm test` | `npx eslint src && npm audit --audit-level=high` |
57
+ | Python/FastAPI | verificar imports | `pytest` | `ruff check . && pip-audit` |
58
+ | PHP/Laravel | `php artisan config:cache` | `php artisan test` | `./vendor/bin/phpstan && composer audit` |
59
+ | Go | `go build ./...` | `go test ./...` | `golangci-lint run` |
60
+
61
+ **2.8 Controles de Segurança** — checklist com todos os RS-* do DESIGN mapeados para fases específicas
62
+
63
+ **2.9 Estratégia de Testes** — unitários + integração + segurança (auditoria de deps) + E2E se frontend
64
+
65
+ **2.10 Estratégia de Deploy** — por ambiente com branch, trigger e infra
66
+
67
+ **2.11 Checklist de Aprovação** — checkboxes para o usuário revisar antes de prosseguir
68
+
69
+ ---
70
+
71
+ ## 🚫 ANTI-STUB CONTRACT (regra inegociável)
72
+
73
+ > **Por que existe esta seção:** o `/dare-tasks` que vem depois usa este Blueprint como **única fonte de verdade**. Se um endpoint, função ou regra ficar genérico aqui, o agente que implementar a task **será forçado a inventar** — e vai produzir mocks, stubs e esqueletos para "preencher o vazio". Detalhe agora.
74
+ >
75
+ > Tasks que produzem mock/stub/skeleton **falham** no `dare review` (introduzido na v2.17) e bloqueiam o `dare execute --complete`.
76
+
77
+ Para **cada** endpoint, função pública, evento ou job declarado no Blueprint, especifique de forma **executável**:
78
+
79
+ ### Para endpoints HTTP/RPC
80
+
81
+ - **Assinatura completa:** método, path, headers obrigatórios, content-type
82
+ - **Request schema:** todos os campos com tipo, restrições (min/max/regex), opcionalidade
83
+ - **Response schema por status code:** estrutura para 2xx, 4xx, 5xx — não apenas "200 OK"
84
+ - **Validações server-side:** lista exaustiva de regras (`email único`, `senha ≥ 8 chars + 1 maiúscula + 1 dígito`, etc.)
85
+ - **Edge cases enumerados:** o que acontece com input vazio, duplicado, expirado, sem permissão, com dados inconsistentes
86
+ - **Side effects:** que tabelas/filas/caches/emails são tocados — em ordem
87
+ - **Exemplo concreto (não placeholder):** payload real, response real
88
+
89
+ ### Para funções de domínio / services
90
+
91
+ - **Assinatura tipada** (`fn name(args: Types) -> ReturnType` ou equivalente)
92
+ - **Pré-condições** verificáveis (estado obrigatório do banco/cache/etc.)
93
+ - **Pós-condições** verificáveis (o que muda no sistema após retornar OK)
94
+ - **Estados de erro** com tipo de exceção/Result/Either esperado
95
+ - **Comportamento em concorrência** quando relevante (idempotência, locking, retry)
96
+
97
+ ### Para jobs / event handlers / workers
98
+
99
+ - **Trigger:** evento, cron, fila — incluir o **nome canônico**
100
+ - **Payload schema** com tipos
101
+ - **Retry policy** (backoff, max attempts, DLQ)
102
+ - **Idempotência:** chave + estratégia
103
+ - **SLA / timeout**
104
+
105
+ ### Para modelos de dados
106
+
107
+ - Cada campo: tipo, nullable, default, constraints (unique, fk, check), índices
108
+ - Triggers ou hooks (soft-delete, audit, encryption-at-rest)
109
+ - Estado inicial / seed obrigatório (se aplicável)
110
+
111
+ ### Critério de "Blueprint detalhado o suficiente"
112
+
113
+ Antes de salvar, valide internamente — se a resposta a **qualquer** pergunta abaixo for "não", o Blueprint ainda está raso e precisa ser expandido:
114
+
115
+ - [ ] Para cada endpoint, um humano não-familiarizado consegue escrever request/response sem perguntar nada?
116
+ - [ ] Para cada função pública, está claro **o que retorna** em todos os caminhos (sucesso + erros enumerados)?
117
+ - [ ] Edge cases foram **enumerados** ou só listados como "tratar edge cases"?
118
+ - [ ] Cada validação tem uma regra concreta (não "validar email" — `^[a-z0-9._%+-]+@...`)?
119
+ - [ ] Cada decisão arquitetural tem **justificativa** (não só "escolhemos X")?
120
+
121
+ **Anti-padrão a evitar:** seções como _"implementar autenticação"_ ou _"validar dados"_ — isso vai virar stub. Especifique **qual** algoritmo, **quais** campos, **quais** regras.
122
+
123
+ ---
124
+
125
+ ### 3. Salvar e aguardar aprovação humana
126
+
127
+ Salve `DARE/BLUEPRINT.md` e informe:
128
+
129
+ _"Blueprint gerado. Revise a arquitetura, os contratos de API e os critérios de DONE de cada fase — especialmente as tasks de complexidade HIGH. Quando aprovado, rode `/dare-tasks` para gerar o DAG e as specs de execução."_
130
+
131
+ **Não gere** `DARE/TASKS.md`, `DARE/dare-dag.yaml` nem arquivos em `DARE/EXECUTION/`.
132
+ Esses artefatos são responsabilidade exclusiva do `/dare-tasks`.
133
+
134
+ $ARGUMENTS
@@ -1,27 +1,27 @@
1
- # /dare-bootstrap
2
-
3
- Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual.
4
-
5
- > Este comando expõe o CLI `dare bootstrap` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
-
7
- ## Quando usar
8
-
9
- - Logo após `dare init`, para gerar o esqueleto real do framework.
10
- - Quando `dare.config.json` existe mas os artefatos do framework ainda não foram gerados.
11
-
12
- ## Como rodar
13
-
14
- ```bash
15
- dare bootstrap
16
- dare bootstrap --force # roda mesmo se já houver artefatos (pode sobrescrever)
17
- ```
18
-
19
- ## O que fazer
20
-
21
- 1. Confirme que existe `dare.config.json` com a stack definida.
22
- 2. Rode `dare bootstrap` (use `--force` apenas se o usuário aceitar sobrescrever arquivos existentes).
23
- 3. Verifique a saída: arquivos gerados e próximos passos sugeridos pelo CLI.
24
-
25
- ## Comandos relacionados
26
-
27
- `/dare-init` · `/dare-design`
1
+ # /dare-bootstrap
2
+
3
+ Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual.
4
+
5
+ > Este comando expõe o CLI `dare bootstrap` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
+
7
+ ## Quando usar
8
+
9
+ - Logo após `dare init`, para gerar o esqueleto real do framework.
10
+ - Quando `dare.config.json` existe mas os artefatos do framework ainda não foram gerados.
11
+
12
+ ## Como rodar
13
+
14
+ ```bash
15
+ dare bootstrap
16
+ dare bootstrap --force # roda mesmo se já houver artefatos (pode sobrescrever)
17
+ ```
18
+
19
+ ## O que fazer
20
+
21
+ 1. Confirme que existe `dare.config.json` com a stack definida.
22
+ 2. Rode `dare bootstrap` (use `--force` apenas se o usuário aceitar sobrescrever arquivos existentes).
23
+ 3. Verifique a saída: arquivos gerados e próximos passos sugeridos pelo CLI.
24
+
25
+ ## Comandos relacionados
26
+
27
+ `/dare-init` · `/dare-design`