@dewtech/dare-cli 3.2.0 → 3.4.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 (839) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +764 -762
  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/ralph-loop.test.js +107 -45
  6. package/dist/__tests__/dag-runner/ralph-loop.test.js.map +1 -1
  7. package/dist/__tests__/dag-runner/state-store.test.d.ts +2 -0
  8. package/dist/__tests__/dag-runner/state-store.test.d.ts.map +1 -0
  9. package/dist/__tests__/dag-runner/state-store.test.js +74 -0
  10. package/dist/__tests__/dag-runner/state-store.test.js.map +1 -0
  11. package/dist/__tests__/ide-command-parity.test.js +1 -0
  12. package/dist/__tests__/ide-command-parity.test.js.map +1 -1
  13. package/dist/__tests__/mcp-server/server.test.js +3 -16
  14. package/dist/__tests__/mcp-server/server.test.js.map +1 -1
  15. package/dist/__tests__/project-generator.test.d.ts +2 -0
  16. package/dist/__tests__/project-generator.test.d.ts.map +1 -0
  17. package/dist/__tests__/project-generator.test.js +56 -0
  18. package/dist/__tests__/project-generator.test.js.map +1 -0
  19. package/dist/__tests__/refine.test.js +49 -49
  20. package/dist/__tests__/reverse-collection.test.js +6 -6
  21. package/dist/__tests__/review.test.js +38 -38
  22. package/dist/__tests__/security-hardening.test.d.ts +2 -0
  23. package/dist/__tests__/security-hardening.test.d.ts.map +1 -0
  24. package/dist/__tests__/security-hardening.test.js +101 -0
  25. package/dist/__tests__/security-hardening.test.js.map +1 -0
  26. package/dist/__tests__/validate.test.js +65 -65
  27. package/dist/bin/dare.js +2 -0
  28. package/dist/bin/dare.js.map +1 -1
  29. package/dist/commands/__tests__/bench.spec.d.ts +2 -0
  30. package/dist/commands/__tests__/bench.spec.d.ts.map +1 -0
  31. package/dist/commands/__tests__/bench.spec.js +106 -0
  32. package/dist/commands/__tests__/bench.spec.js.map +1 -0
  33. package/dist/commands/__tests__/execute.best-of.spec.d.ts +2 -0
  34. package/dist/commands/__tests__/execute.best-of.spec.d.ts.map +1 -0
  35. package/dist/commands/__tests__/execute.best-of.spec.js +24 -0
  36. package/dist/commands/__tests__/execute.best-of.spec.js.map +1 -0
  37. package/dist/commands/__tests__/execute.telemetry.spec.d.ts +2 -0
  38. package/dist/commands/__tests__/execute.telemetry.spec.d.ts.map +1 -0
  39. package/dist/commands/__tests__/execute.telemetry.spec.js +93 -0
  40. package/dist/commands/__tests__/execute.telemetry.spec.js.map +1 -0
  41. package/dist/commands/__tests__/execute.verify.spec.d.ts +2 -0
  42. package/dist/commands/__tests__/execute.verify.spec.d.ts.map +1 -0
  43. package/dist/commands/__tests__/execute.verify.spec.js +150 -0
  44. package/dist/commands/__tests__/execute.verify.spec.js.map +1 -0
  45. package/dist/commands/__tests__/init-validation.test.d.ts +2 -0
  46. package/dist/commands/__tests__/init-validation.test.d.ts.map +1 -0
  47. package/dist/commands/__tests__/init-validation.test.js +81 -0
  48. package/dist/commands/__tests__/init-validation.test.js.map +1 -0
  49. package/dist/commands/__tests__/init.integration.spec.js +6 -4
  50. package/dist/commands/__tests__/init.integration.spec.js.map +1 -1
  51. package/dist/commands/__tests__/init.spec.d.ts +2 -0
  52. package/dist/commands/__tests__/init.spec.d.ts.map +1 -0
  53. package/dist/commands/__tests__/init.spec.js +88 -0
  54. package/dist/commands/__tests__/init.spec.js.map +1 -0
  55. package/dist/commands/bench.d.ts +10 -0
  56. package/dist/commands/bench.d.ts.map +1 -0
  57. package/dist/commands/bench.js +64 -0
  58. package/dist/commands/bench.js.map +1 -0
  59. package/dist/commands/blueprint.js +122 -122
  60. package/dist/commands/design.js +20 -20
  61. package/dist/commands/execute-verification.d.ts +51 -0
  62. package/dist/commands/execute-verification.d.ts.map +1 -0
  63. package/dist/commands/execute-verification.js +201 -0
  64. package/dist/commands/execute-verification.js.map +1 -0
  65. package/dist/commands/execute.d.ts.map +1 -1
  66. package/dist/commands/execute.js +139 -2
  67. package/dist/commands/execute.js.map +1 -1
  68. package/dist/commands/init-validation.d.ts +22 -0
  69. package/dist/commands/init-validation.d.ts.map +1 -0
  70. package/dist/commands/init-validation.js +54 -0
  71. package/dist/commands/init-validation.js.map +1 -0
  72. package/dist/commands/init.d.ts.map +1 -1
  73. package/dist/commands/init.js +26 -10
  74. package/dist/commands/init.js.map +1 -1
  75. package/dist/dag-runner/ralph-loop.d.ts +9 -9
  76. package/dist/dag-runner/ralph-loop.d.ts.map +1 -1
  77. package/dist/dag-runner/ralph-loop.js +89 -113
  78. package/dist/dag-runner/ralph-loop.js.map +1 -1
  79. package/dist/dag-runner/state-store.d.ts +14 -1
  80. package/dist/dag-runner/state-store.d.ts.map +1 -1
  81. package/dist/dag-runner/state-store.js +39 -8
  82. package/dist/dag-runner/state-store.js.map +1 -1
  83. package/dist/exec/npm-invoke.d.ts +8 -0
  84. package/dist/exec/npm-invoke.d.ts.map +1 -0
  85. package/dist/exec/npm-invoke.js +45 -0
  86. package/dist/exec/npm-invoke.js.map +1 -0
  87. package/dist/exec/safe-spawn.d.ts +21 -0
  88. package/dist/exec/safe-spawn.d.ts.map +1 -0
  89. package/dist/exec/safe-spawn.js +108 -0
  90. package/dist/exec/safe-spawn.js.map +1 -0
  91. package/dist/graphrag/graph-rag.js +24 -24
  92. package/dist/graphrag/types.d.ts +2 -2
  93. package/dist/graphrag/types.d.ts.map +1 -1
  94. package/dist/mcp-server/__tests__/auth.test.d.ts +2 -0
  95. package/dist/mcp-server/__tests__/auth.test.d.ts.map +1 -0
  96. package/dist/mcp-server/__tests__/auth.test.js +72 -0
  97. package/dist/mcp-server/__tests__/auth.test.js.map +1 -0
  98. package/dist/mcp-server/__tests__/boot-config.test.d.ts +2 -0
  99. package/dist/mcp-server/__tests__/boot-config.test.d.ts.map +1 -0
  100. package/dist/mcp-server/__tests__/boot-config.test.js +29 -0
  101. package/dist/mcp-server/__tests__/boot-config.test.js.map +1 -0
  102. package/dist/mcp-server/__tests__/error-sanitize.test.d.ts +2 -0
  103. package/dist/mcp-server/__tests__/error-sanitize.test.d.ts.map +1 -0
  104. package/dist/mcp-server/__tests__/error-sanitize.test.js +66 -0
  105. package/dist/mcp-server/__tests__/error-sanitize.test.js.map +1 -0
  106. package/dist/mcp-server/__tests__/path-confinement.test.d.ts +2 -0
  107. package/dist/mcp-server/__tests__/path-confinement.test.d.ts.map +1 -0
  108. package/dist/mcp-server/__tests__/path-confinement.test.js +135 -0
  109. package/dist/mcp-server/__tests__/path-confinement.test.js.map +1 -0
  110. package/dist/mcp-server/bin/server.js +18 -6
  111. package/dist/mcp-server/bin/server.js.map +1 -1
  112. package/dist/mcp-server/boot-config.d.ts +6 -0
  113. package/dist/mcp-server/boot-config.d.ts.map +1 -0
  114. package/dist/mcp-server/boot-config.js +17 -0
  115. package/dist/mcp-server/boot-config.js.map +1 -0
  116. package/dist/mcp-server/middleware/auth.d.ts +10 -0
  117. package/dist/mcp-server/middleware/auth.d.ts.map +1 -0
  118. package/dist/mcp-server/middleware/auth.js +44 -0
  119. package/dist/mcp-server/middleware/auth.js.map +1 -0
  120. package/dist/mcp-server/middleware/cors.d.ts +6 -0
  121. package/dist/mcp-server/middleware/cors.d.ts.map +1 -0
  122. package/dist/mcp-server/middleware/cors.js +30 -0
  123. package/dist/mcp-server/middleware/cors.js.map +1 -0
  124. package/dist/mcp-server/middleware/error-handler.d.ts +11 -0
  125. package/dist/mcp-server/middleware/error-handler.d.ts.map +1 -0
  126. package/dist/mcp-server/middleware/error-handler.js +14 -0
  127. package/dist/mcp-server/middleware/error-handler.js.map +1 -0
  128. package/dist/mcp-server/server.d.ts +7 -2
  129. package/dist/mcp-server/server.d.ts.map +1 -1
  130. package/dist/mcp-server/server.js +185 -105
  131. package/dist/mcp-server/server.js.map +1 -1
  132. package/dist/skills/registry-mock.json +109 -109
  133. package/dist/skills/tests/manifest.spec.js +20 -20
  134. package/dist/stacks/__tests__/dna-emitter.spec.js +6 -6
  135. package/dist/stacks/dna-emitter.d.ts.map +1 -1
  136. package/dist/stacks/dna-emitter.js +70 -79
  137. package/dist/stacks/dna-emitter.js.map +1 -1
  138. package/dist/stacks/ruby-rails-8/scaffold.js +15 -15
  139. package/dist/utils/UpdateApplier.d.ts.map +1 -1
  140. package/dist/utils/UpdateApplier.js +8 -0
  141. package/dist/utils/UpdateApplier.js.map +1 -1
  142. package/dist/utils/logger.d.ts +7 -0
  143. package/dist/utils/logger.d.ts.map +1 -0
  144. package/dist/utils/logger.js +23 -0
  145. package/dist/utils/logger.js.map +1 -0
  146. package/dist/utils/path-safety.d.ts +22 -0
  147. package/dist/utils/path-safety.d.ts.map +1 -0
  148. package/dist/utils/path-safety.js +83 -0
  149. package/dist/utils/path-safety.js.map +1 -0
  150. package/dist/utils/project-generator.d.ts.map +1 -1
  151. package/dist/utils/project-generator.js +256 -252
  152. package/dist/utils/project-generator.js.map +1 -1
  153. package/dist/utils/stack-bootstrap.js +373 -373
  154. package/dist/utils/stack-bootstrap.js.map +1 -1
  155. package/dist/utils/templates.js +394 -394
  156. package/dist/verification/__tests__/anti-tamper.test.d.ts +2 -0
  157. package/dist/verification/__tests__/anti-tamper.test.d.ts.map +1 -0
  158. package/dist/verification/__tests__/anti-tamper.test.js +73 -0
  159. package/dist/verification/__tests__/anti-tamper.test.js.map +1 -0
  160. package/dist/verification/__tests__/bench-fixtures.test.d.ts +2 -0
  161. package/dist/verification/__tests__/bench-fixtures.test.d.ts.map +1 -0
  162. package/dist/verification/__tests__/bench-fixtures.test.js +35 -0
  163. package/dist/verification/__tests__/bench-fixtures.test.js.map +1 -0
  164. package/dist/verification/__tests__/bench-harness.test.d.ts +2 -0
  165. package/dist/verification/__tests__/bench-harness.test.d.ts.map +1 -0
  166. package/dist/verification/__tests__/bench-harness.test.js +75 -0
  167. package/dist/verification/__tests__/bench-harness.test.js.map +1 -0
  168. package/dist/verification/__tests__/bench-report.test.d.ts +2 -0
  169. package/dist/verification/__tests__/bench-report.test.d.ts.map +1 -0
  170. package/dist/verification/__tests__/bench-report.test.js +73 -0
  171. package/dist/verification/__tests__/bench-report.test.js.map +1 -0
  172. package/dist/verification/__tests__/best-of-n-runner.test.d.ts +2 -0
  173. package/dist/verification/__tests__/best-of-n-runner.test.d.ts.map +1 -0
  174. package/dist/verification/__tests__/best-of-n-runner.test.js +94 -0
  175. package/dist/verification/__tests__/best-of-n-runner.test.js.map +1 -0
  176. package/dist/verification/__tests__/config.test.d.ts +2 -0
  177. package/dist/verification/__tests__/config.test.d.ts.map +1 -0
  178. package/dist/verification/__tests__/config.test.js +50 -0
  179. package/dist/verification/__tests__/config.test.js.map +1 -0
  180. package/dist/verification/__tests__/decay-policy.test.d.ts +2 -0
  181. package/dist/verification/__tests__/decay-policy.test.d.ts.map +1 -0
  182. package/dist/verification/__tests__/decay-policy.test.js +130 -0
  183. package/dist/verification/__tests__/decay-policy.test.js.map +1 -0
  184. package/dist/verification/__tests__/fail-to-pass.test.d.ts +2 -0
  185. package/dist/verification/__tests__/fail-to-pass.test.d.ts.map +1 -0
  186. package/dist/verification/__tests__/fail-to-pass.test.js +107 -0
  187. package/dist/verification/__tests__/fail-to-pass.test.js.map +1 -0
  188. package/dist/verification/__tests__/failure-signature.test.d.ts +2 -0
  189. package/dist/verification/__tests__/failure-signature.test.d.ts.map +1 -0
  190. package/dist/verification/__tests__/failure-signature.test.js +40 -0
  191. package/dist/verification/__tests__/failure-signature.test.js.map +1 -0
  192. package/dist/verification/__tests__/logger.test.d.ts +2 -0
  193. package/dist/verification/__tests__/logger.test.d.ts.map +1 -0
  194. package/dist/verification/__tests__/logger.test.js +23 -0
  195. package/dist/verification/__tests__/logger.test.js.map +1 -0
  196. package/dist/verification/__tests__/mutation-cargo-mutants.test.d.ts +2 -0
  197. package/dist/verification/__tests__/mutation-cargo-mutants.test.d.ts.map +1 -0
  198. package/dist/verification/__tests__/mutation-cargo-mutants.test.js +96 -0
  199. package/dist/verification/__tests__/mutation-cargo-mutants.test.js.map +1 -0
  200. package/dist/verification/__tests__/mutation-infection.test.d.ts +2 -0
  201. package/dist/verification/__tests__/mutation-infection.test.d.ts.map +1 -0
  202. package/dist/verification/__tests__/mutation-infection.test.js +101 -0
  203. package/dist/verification/__tests__/mutation-infection.test.js.map +1 -0
  204. package/dist/verification/__tests__/mutation-mutmut.test.d.ts +2 -0
  205. package/dist/verification/__tests__/mutation-mutmut.test.d.ts.map +1 -0
  206. package/dist/verification/__tests__/mutation-mutmut.test.js +102 -0
  207. package/dist/verification/__tests__/mutation-mutmut.test.js.map +1 -0
  208. package/dist/verification/__tests__/mutation-registry.test.d.ts +2 -0
  209. package/dist/verification/__tests__/mutation-registry.test.d.ts.map +1 -0
  210. package/dist/verification/__tests__/mutation-registry.test.js +28 -0
  211. package/dist/verification/__tests__/mutation-registry.test.js.map +1 -0
  212. package/dist/verification/__tests__/mutation-stryker.test.d.ts +2 -0
  213. package/dist/verification/__tests__/mutation-stryker.test.d.ts.map +1 -0
  214. package/dist/verification/__tests__/mutation-stryker.test.js +88 -0
  215. package/dist/verification/__tests__/mutation-stryker.test.js.map +1 -0
  216. package/dist/verification/__tests__/no-shell-true.test.d.ts +2 -0
  217. package/dist/verification/__tests__/no-shell-true.test.d.ts.map +1 -0
  218. package/dist/verification/__tests__/no-shell-true.test.js +43 -0
  219. package/dist/verification/__tests__/no-shell-true.test.js.map +1 -0
  220. package/dist/verification/__tests__/path-safety.test.d.ts +2 -0
  221. package/dist/verification/__tests__/path-safety.test.d.ts.map +1 -0
  222. package/dist/verification/__tests__/path-safety.test.js +59 -0
  223. package/dist/verification/__tests__/path-safety.test.js.map +1 -0
  224. package/dist/verification/__tests__/prerank.test.d.ts +2 -0
  225. package/dist/verification/__tests__/prerank.test.d.ts.map +1 -0
  226. package/dist/verification/__tests__/prerank.test.js +44 -0
  227. package/dist/verification/__tests__/prerank.test.js.map +1 -0
  228. package/dist/verification/__tests__/runner.test.d.ts +2 -0
  229. package/dist/verification/__tests__/runner.test.d.ts.map +1 -0
  230. package/dist/verification/__tests__/runner.test.js +200 -0
  231. package/dist/verification/__tests__/runner.test.js.map +1 -0
  232. package/dist/verification/__tests__/safe-spawn.test.d.ts +2 -0
  233. package/dist/verification/__tests__/safe-spawn.test.d.ts.map +1 -0
  234. package/dist/verification/__tests__/safe-spawn.test.js +36 -0
  235. package/dist/verification/__tests__/safe-spawn.test.js.map +1 -0
  236. package/dist/verification/__tests__/security.test.d.ts +2 -0
  237. package/dist/verification/__tests__/security.test.d.ts.map +1 -0
  238. package/dist/verification/__tests__/security.test.js +79 -0
  239. package/dist/verification/__tests__/security.test.js.map +1 -0
  240. package/dist/verification/__tests__/selector-pareto.test.d.ts +2 -0
  241. package/dist/verification/__tests__/selector-pareto.test.d.ts.map +1 -0
  242. package/dist/verification/__tests__/selector-pareto.test.js +77 -0
  243. package/dist/verification/__tests__/selector-pareto.test.js.map +1 -0
  244. package/dist/verification/__tests__/telemetry.test.d.ts +2 -0
  245. package/dist/verification/__tests__/telemetry.test.d.ts.map +1 -0
  246. package/dist/verification/__tests__/telemetry.test.js +116 -0
  247. package/dist/verification/__tests__/telemetry.test.js.map +1 -0
  248. package/dist/verification/__tests__/type-check.test.d.ts +2 -0
  249. package/dist/verification/__tests__/type-check.test.d.ts.map +1 -0
  250. package/dist/verification/__tests__/type-check.test.js +52 -0
  251. package/dist/verification/__tests__/type-check.test.js.map +1 -0
  252. package/dist/verification/__tests__/worktree.test.d.ts +2 -0
  253. package/dist/verification/__tests__/worktree.test.d.ts.map +1 -0
  254. package/dist/verification/__tests__/worktree.test.js +41 -0
  255. package/dist/verification/__tests__/worktree.test.js.map +1 -0
  256. package/dist/verification/bench/fixtures.d.ts +11 -0
  257. package/dist/verification/bench/fixtures.d.ts.map +1 -0
  258. package/dist/verification/bench/fixtures.js +66 -0
  259. package/dist/verification/bench/fixtures.js.map +1 -0
  260. package/dist/verification/bench/harness.d.ts +19 -0
  261. package/dist/verification/bench/harness.d.ts.map +1 -0
  262. package/dist/verification/bench/harness.js +138 -0
  263. package/dist/verification/bench/harness.js.map +1 -0
  264. package/dist/verification/bench/report.d.ts +53 -0
  265. package/dist/verification/bench/report.d.ts.map +1 -0
  266. package/dist/verification/bench/report.js +47 -0
  267. package/dist/verification/bench/report.js.map +1 -0
  268. package/dist/verification/best-of-n/runner.d.ts +29 -0
  269. package/dist/verification/best-of-n/runner.d.ts.map +1 -0
  270. package/dist/verification/best-of-n/runner.js +76 -0
  271. package/dist/verification/best-of-n/runner.js.map +1 -0
  272. package/dist/verification/best-of-n/selector/pareto.d.ts +10 -0
  273. package/dist/verification/best-of-n/selector/pareto.d.ts.map +1 -0
  274. package/dist/verification/best-of-n/selector/pareto.js +65 -0
  275. package/dist/verification/best-of-n/selector/pareto.js.map +1 -0
  276. package/dist/verification/best-of-n/selector/prerank.d.ts +23 -0
  277. package/dist/verification/best-of-n/selector/prerank.d.ts.map +1 -0
  278. package/dist/verification/best-of-n/selector/prerank.js +32 -0
  279. package/dist/verification/best-of-n/selector/prerank.js.map +1 -0
  280. package/dist/verification/best-of-n/worktree.d.ts +9 -0
  281. package/dist/verification/best-of-n/worktree.d.ts.map +1 -0
  282. package/dist/verification/best-of-n/worktree.js +100 -0
  283. package/dist/verification/best-of-n/worktree.js.map +1 -0
  284. package/dist/verification/config.d.ts +24 -0
  285. package/dist/verification/config.d.ts.map +1 -0
  286. package/dist/verification/config.js +168 -0
  287. package/dist/verification/config.js.map +1 -0
  288. package/dist/verification/decay/policy.d.ts +16 -0
  289. package/dist/verification/decay/policy.d.ts.map +1 -0
  290. package/dist/verification/decay/policy.js +64 -0
  291. package/dist/verification/decay/policy.js.map +1 -0
  292. package/dist/verification/decay/signature.d.ts +6 -0
  293. package/dist/verification/decay/signature.d.ts.map +1 -0
  294. package/dist/verification/decay/signature.js +18 -0
  295. package/dist/verification/decay/signature.js.map +1 -0
  296. package/dist/verification/gates/anti-tamper.d.ts +16 -0
  297. package/dist/verification/gates/anti-tamper.d.ts.map +1 -0
  298. package/dist/verification/gates/anti-tamper.js +142 -0
  299. package/dist/verification/gates/anti-tamper.js.map +1 -0
  300. package/dist/verification/gates/fail-to-pass.d.ts +39 -0
  301. package/dist/verification/gates/fail-to-pass.d.ts.map +1 -0
  302. package/dist/verification/gates/fail-to-pass.js +173 -0
  303. package/dist/verification/gates/fail-to-pass.js.map +1 -0
  304. package/dist/verification/gates/mutation/adapter.d.ts +34 -0
  305. package/dist/verification/gates/mutation/adapter.d.ts.map +1 -0
  306. package/dist/verification/gates/mutation/adapter.js +22 -0
  307. package/dist/verification/gates/mutation/adapter.js.map +1 -0
  308. package/dist/verification/gates/mutation/cargo-mutants.d.ts +28 -0
  309. package/dist/verification/gates/mutation/cargo-mutants.d.ts.map +1 -0
  310. package/dist/verification/gates/mutation/cargo-mutants.js +170 -0
  311. package/dist/verification/gates/mutation/cargo-mutants.js.map +1 -0
  312. package/dist/verification/gates/mutation/infection.d.ts +28 -0
  313. package/dist/verification/gates/mutation/infection.d.ts.map +1 -0
  314. package/dist/verification/gates/mutation/infection.js +149 -0
  315. package/dist/verification/gates/mutation/infection.js.map +1 -0
  316. package/dist/verification/gates/mutation/mutmut.d.ts +23 -0
  317. package/dist/verification/gates/mutation/mutmut.d.ts.map +1 -0
  318. package/dist/verification/gates/mutation/mutmut.js +148 -0
  319. package/dist/verification/gates/mutation/mutmut.js.map +1 -0
  320. package/dist/verification/gates/mutation/stryker.d.ts +19 -0
  321. package/dist/verification/gates/mutation/stryker.d.ts.map +1 -0
  322. package/dist/verification/gates/mutation/stryker.js +103 -0
  323. package/dist/verification/gates/mutation/stryker.js.map +1 -0
  324. package/dist/verification/gates/type-check.d.ts +11 -0
  325. package/dist/verification/gates/type-check.d.ts.map +1 -0
  326. package/dist/verification/gates/type-check.js +84 -0
  327. package/dist/verification/gates/type-check.js.map +1 -0
  328. package/dist/verification/registry.d.ts +6 -0
  329. package/dist/verification/registry.d.ts.map +1 -0
  330. package/dist/verification/registry.js +49 -0
  331. package/dist/verification/registry.js.map +1 -0
  332. package/dist/verification/runner.d.ts +27 -0
  333. package/dist/verification/runner.d.ts.map +1 -0
  334. package/dist/verification/runner.js +173 -0
  335. package/dist/verification/runner.js.map +1 -0
  336. package/dist/verification/telemetry.d.ts +18 -0
  337. package/dist/verification/telemetry.d.ts.map +1 -0
  338. package/dist/verification/telemetry.js +71 -0
  339. package/dist/verification/telemetry.js.map +1 -0
  340. package/dist/verification/types.d.ts +89 -0
  341. package/dist/verification/types.d.ts.map +1 -0
  342. package/dist/verification/types.js +3 -0
  343. package/dist/verification/types.js.map +1 -0
  344. package/package.json +96 -91
  345. package/templates/DARE-dag-example.yaml +280 -280
  346. package/templates/UPDATE-MANIFEST.json +68 -48
  347. package/templates/backend/node-nestjs/.env.example +9 -9
  348. package/templates/backend/node-nestjs/nest-cli.json +8 -8
  349. package/templates/backend/node-nestjs/package.json +50 -50
  350. package/templates/backend/node-nestjs/src/app.controller.ts +12 -12
  351. package/templates/backend/node-nestjs/src/app.module.ts +15 -15
  352. package/templates/backend/node-nestjs/src/app.service.ts +8 -8
  353. package/templates/backend/node-nestjs/src/main.ts +24 -24
  354. package/templates/backend/node-nestjs/tsconfig.json +21 -21
  355. package/templates/backend/php-laravel/.env.example +22 -22
  356. package/templates/backend/php-laravel/app/Http/Controllers/HealthController.php +15 -15
  357. package/templates/backend/php-laravel/composer.json +40 -40
  358. package/templates/backend/python-fastapi/.env.example +4 -4
  359. package/templates/backend/python-fastapi/app/api/router.py +8 -8
  360. package/templates/backend/python-fastapi/app/core/config.py +20 -20
  361. package/templates/backend/python-fastapi/main.py +35 -35
  362. package/templates/backend/python-fastapi/requirements.txt +13 -13
  363. package/templates/backend/rust-axum/.env.example +3 -3
  364. package/templates/backend/rust-axum/Cargo.toml +23 -23
  365. package/templates/backend/rust-axum/src/errors.rs +30 -30
  366. package/templates/backend/rust-axum/src/main.rs +32 -32
  367. package/templates/backend/rust-axum/src/routes.rs +6 -6
  368. package/templates/frontend/leptos-csr/.cargo/config.toml +2 -2
  369. package/templates/frontend/leptos-csr/Cargo.toml +16 -16
  370. package/templates/frontend/leptos-csr/Trunk.toml +10 -10
  371. package/templates/frontend/leptos-csr/index.html +11 -11
  372. package/templates/frontend/leptos-csr/src/lib.rs +20 -20
  373. package/templates/frontend/leptos-csr/style/main.scss +19 -19
  374. package/templates/frontend/leptos-fullstack/.cargo/config.toml +4 -4
  375. package/templates/frontend/leptos-fullstack/Cargo.toml +56 -56
  376. package/templates/frontend/leptos-fullstack/src/app.rs +49 -49
  377. package/templates/frontend/leptos-fullstack/src/lib.rs +9 -9
  378. package/templates/frontend/leptos-fullstack/src/main.rs +29 -29
  379. package/templates/frontend/leptos-fullstack/style/main.scss +19 -19
  380. package/templates/frontend/react/index.html +12 -12
  381. package/templates/frontend/react/package.json +35 -35
  382. package/templates/frontend/react/src/App.tsx +25 -25
  383. package/templates/frontend/react/src/main.tsx +9 -9
  384. package/templates/frontend/vue/package.json +32 -32
  385. package/templates/frontend/vue/src/App.vue +7 -7
  386. package/templates/frontend/vue/src/main.ts +10 -10
  387. package/templates/frontend/vue/src/router/index.ts +14 -14
  388. package/templates/frontend/vue/src/views/HomeView.vue +6 -6
  389. package/templates/hooks/pre-commit-dare-validate +24 -24
  390. package/templates/ide/antigravity/.agents/skills/dare-ax/SKILL.md +152 -152
  391. package/templates/ide/antigravity/.agents/skills/dare-bench/SKILL.md +21 -0
  392. package/templates/ide/antigravity/.agents/skills/dare-blueprint/SKILL.md +368 -368
  393. package/templates/ide/antigravity/.agents/skills/dare-bootstrap/SKILL.md +32 -32
  394. package/templates/ide/antigravity/.agents/skills/dare-bugfix-design/SKILL.md +76 -76
  395. package/templates/ide/antigravity/.agents/skills/dare-dag/SKILL.md +32 -32
  396. package/templates/ide/antigravity/.agents/skills/dare-dag-build/SKILL.md +154 -154
  397. package/templates/ide/antigravity/.agents/skills/dare-dag-run/SKILL.md +130 -130
  398. package/templates/ide/antigravity/.agents/skills/dare-dag-runner/SKILL.md +203 -203
  399. package/templates/ide/antigravity/.agents/skills/dare-design/SKILL.md +180 -180
  400. package/templates/ide/antigravity/.agents/skills/dare-discover/SKILL.md +33 -33
  401. package/templates/ide/antigravity/.agents/skills/dare-dna/SKILL.md +63 -63
  402. package/templates/ide/antigravity/.agents/skills/dare-docker/SKILL.md +315 -315
  403. package/templates/ide/antigravity/.agents/skills/dare-execute/SKILL.md +264 -264
  404. package/templates/ide/antigravity/.agents/skills/dare-feature-design/SKILL.md +74 -74
  405. package/templates/ide/antigravity/.agents/skills/dare-frontend-design/SKILL.md +192 -192
  406. package/templates/ide/antigravity/.agents/skills/dare-graph/SKILL.md +35 -35
  407. package/templates/ide/antigravity/.agents/skills/dare-info/SKILL.md +31 -31
  408. package/templates/ide/antigravity/.agents/skills/dare-init/SKILL.md +35 -35
  409. package/templates/ide/antigravity/.agents/skills/dare-laravel-api/SKILL.md +337 -337
  410. package/templates/ide/antigravity/.agents/skills/dare-layered-design/SKILL.md +166 -166
  411. package/templates/ide/antigravity/.agents/skills/dare-llm-integration/SKILL.md +217 -217
  412. package/templates/ide/antigravity/.agents/skills/dare-migrate/SKILL.md +61 -61
  413. package/templates/ide/antigravity/.agents/skills/dare-quality-telemetry/SKILL.md +187 -187
  414. package/templates/ide/antigravity/.agents/skills/dare-realtime/SKILL.md +217 -217
  415. package/templates/ide/antigravity/.agents/skills/dare-refine/SKILL.md +114 -114
  416. package/templates/ide/antigravity/.agents/skills/dare-reverse/SKILL.md +108 -108
  417. package/templates/ide/antigravity/.agents/skills/dare-review/SKILL.md +111 -111
  418. package/templates/ide/antigravity/.agents/skills/dare-rust-leptos/SKILL.md +263 -263
  419. package/templates/ide/antigravity/.agents/skills/dare-rust-workspace/SKILL.md +275 -275
  420. package/templates/ide/antigravity/.agents/skills/dare-security/SKILL.md +274 -274
  421. package/templates/ide/antigravity/.agents/skills/dare-skill/SKILL.md +35 -35
  422. package/templates/ide/antigravity/.agents/skills/dare-tasks/SKILL.md +265 -265
  423. package/templates/ide/antigravity/.agents/skills/dare-telemetry/SKILL.md +188 -188
  424. package/templates/ide/antigravity/.agents/skills/dare-update/SKILL.md +33 -33
  425. package/templates/ide/antigravity/.agents/skills/dare-validate/SKILL.md +33 -33
  426. package/templates/ide/antigravity/.agents/skills/dare-welcome/SKILL.md +30 -30
  427. package/templates/ide/antigravity/.agents/skills/skill-fastapi-api/SKILL.md +343 -343
  428. package/templates/ide/antigravity/.agents/skills/skill-go-gin-api/SKILL.md +377 -377
  429. package/templates/ide/antigravity/.agents/skills/skill-mcp-server/SKILL.md +382 -382
  430. package/templates/ide/antigravity/.agents/skills/skill-nestjs-api/SKILL.md +326 -326
  431. package/templates/ide/antigravity/.agents/skills/skill-rails-api/SKILL.md +393 -393
  432. package/templates/ide/antigravity/templates/BLUEPRINT-template.md +193 -193
  433. package/templates/ide/antigravity/templates/DESIGN-template.md +129 -129
  434. package/templates/ide/antigravity/templates/TASK-SPEC-template.md +141 -141
  435. package/templates/ide/antigravity/templates/TASKS-template.md +26 -26
  436. package/templates/ide/antigravity/templates/TELEMETRY-template.md +125 -125
  437. package/templates/ide/claude/.claude/commands/dare-ax.md +131 -131
  438. package/templates/ide/claude/.claude/commands/dare-bench.md +18 -0
  439. package/templates/ide/claude/.claude/commands/dare-blueprint.md +134 -134
  440. package/templates/ide/claude/.claude/commands/dare-bootstrap.md +27 -27
  441. package/templates/ide/claude/.claude/commands/dare-bugfix-design.md +119 -119
  442. package/templates/ide/claude/.claude/commands/dare-dag-build.md +151 -151
  443. package/templates/ide/claude/.claude/commands/dare-dag-run.md +109 -109
  444. package/templates/ide/claude/.claude/commands/dare-dag-runner.md +117 -117
  445. package/templates/ide/claude/.claude/commands/dare-dag-viz.md +197 -197
  446. package/templates/ide/claude/.claude/commands/dare-dag.md +27 -27
  447. package/templates/ide/claude/.claude/commands/dare-design.md +69 -69
  448. package/templates/ide/claude/.claude/commands/dare-discover.md +28 -28
  449. package/templates/ide/claude/.claude/commands/dare-dna.md +75 -75
  450. package/templates/ide/claude/.claude/commands/dare-docker.md +207 -207
  451. package/templates/ide/claude/.claude/commands/dare-execute.md +152 -152
  452. package/templates/ide/claude/.claude/commands/dare-feature-design.md +147 -147
  453. package/templates/ide/claude/.claude/commands/dare-frontend-design.md +149 -149
  454. package/templates/ide/claude/.claude/commands/dare-graph.md +30 -30
  455. package/templates/ide/claude/.claude/commands/dare-info.md +26 -26
  456. package/templates/ide/claude/.claude/commands/dare-init.md +30 -30
  457. package/templates/ide/claude/.claude/commands/dare-laravel-api.md +211 -211
  458. package/templates/ide/claude/.claude/commands/dare-layered-design.md +124 -124
  459. package/templates/ide/claude/.claude/commands/dare-llm-integration.md +148 -148
  460. package/templates/ide/claude/.claude/commands/dare-migrate.md +72 -72
  461. package/templates/ide/claude/.claude/commands/dare-quality-telemetry.md +166 -166
  462. package/templates/ide/claude/.claude/commands/dare-realtime.md +159 -159
  463. package/templates/ide/claude/.claude/commands/dare-refine.md +145 -145
  464. package/templates/ide/claude/.claude/commands/dare-reverse.md +139 -139
  465. package/templates/ide/claude/.claude/commands/dare-review.md +113 -113
  466. package/templates/ide/claude/.claude/commands/dare-rust-leptos.md +269 -269
  467. package/templates/ide/claude/.claude/commands/dare-rust-workspace.md +209 -209
  468. package/templates/ide/claude/.claude/commands/dare-security.md +232 -232
  469. package/templates/ide/claude/.claude/commands/dare-skill.md +30 -30
  470. package/templates/ide/claude/.claude/commands/dare-tasks.md +70 -70
  471. package/templates/ide/claude/.claude/commands/dare-telemetry.md +132 -132
  472. package/templates/ide/claude/.claude/commands/dare-update.md +28 -28
  473. package/templates/ide/claude/.claude/commands/dare-validate.md +28 -28
  474. package/templates/ide/claude/.claude/commands/dare-welcome.md +25 -25
  475. package/templates/ide/claude/.claude/commands/skill-fastapi-api.md +205 -205
  476. package/templates/ide/claude/.claude/commands/skill-go-gin-api.md +232 -232
  477. package/templates/ide/claude/.claude/commands/skill-mcp-server.md +228 -228
  478. package/templates/ide/claude/.claude/commands/skill-nestjs-api.md +210 -210
  479. package/templates/ide/claude/.claude/commands/skill-rails-api.md +236 -236
  480. package/templates/ide/claude/.claude/settings.example.json +35 -35
  481. package/templates/ide/claude/CLAUDE.md +146 -146
  482. package/templates/ide/claude/templates/BLUEPRINT-template.md +193 -193
  483. package/templates/ide/claude/templates/DESIGN-template.md +129 -129
  484. package/templates/ide/claude/templates/TASK-SPEC-template.md +141 -141
  485. package/templates/ide/claude/templates/TASKS-template.md +26 -26
  486. package/templates/ide/claude/templates/TELEMETRY-template.md +125 -125
  487. package/templates/ide/cursor/.cursor/commands/dare-bench.md +18 -0
  488. package/templates/ide/cursor/.cursor/commands/dare-blueprint.md +86 -86
  489. package/templates/ide/cursor/.cursor/commands/dare-bootstrap.md +27 -27
  490. package/templates/ide/cursor/.cursor/commands/dare-bugfix-design.md +64 -64
  491. package/templates/ide/cursor/.cursor/commands/dare-dag-run.md +110 -110
  492. package/templates/ide/cursor/.cursor/commands/dare-dag-viz.md +139 -139
  493. package/templates/ide/cursor/.cursor/commands/dare-dag.md +27 -27
  494. package/templates/ide/cursor/.cursor/commands/dare-design.md +35 -35
  495. package/templates/ide/cursor/.cursor/commands/dare-discover.md +28 -28
  496. package/templates/ide/cursor/.cursor/commands/dare-dna.md +75 -75
  497. package/templates/ide/cursor/.cursor/commands/dare-docker-compose.md +18 -18
  498. package/templates/ide/cursor/.cursor/commands/dare-dockerfile.md +17 -17
  499. package/templates/ide/cursor/.cursor/commands/dare-execute.md +19 -19
  500. package/templates/ide/cursor/.cursor/commands/dare-feature-design.md +64 -64
  501. package/templates/ide/cursor/.cursor/commands/dare-graph.md +30 -30
  502. package/templates/ide/cursor/.cursor/commands/dare-info.md +26 -26
  503. package/templates/ide/cursor/.cursor/commands/dare-init.md +30 -30
  504. package/templates/ide/cursor/.cursor/commands/dare-migrate.md +72 -72
  505. package/templates/ide/cursor/.cursor/commands/dare-refine.md +107 -107
  506. package/templates/ide/cursor/.cursor/commands/dare-reverse.md +139 -139
  507. package/templates/ide/cursor/.cursor/commands/dare-review.md +91 -91
  508. package/templates/ide/cursor/.cursor/commands/dare-skill.md +30 -30
  509. package/templates/ide/cursor/.cursor/commands/dare-tasks.md +184 -184
  510. package/templates/ide/cursor/.cursor/commands/dare-telemetry.md +42 -42
  511. package/templates/ide/cursor/.cursor/commands/dare-update.md +28 -28
  512. package/templates/ide/cursor/.cursor/commands/dare-validate.md +28 -28
  513. package/templates/ide/cursor/.cursor/commands/dare-welcome.md +25 -25
  514. package/templates/ide/cursor/.cursor/rules/skill-ax.mdc +263 -263
  515. package/templates/ide/cursor/.cursor/rules/skill-bugfix-design.mdc +51 -51
  516. package/templates/ide/cursor/.cursor/rules/skill-dag-build.mdc +173 -173
  517. package/templates/ide/cursor/.cursor/rules/skill-dag-run.mdc +134 -134
  518. package/templates/ide/cursor/.cursor/rules/skill-dag-runner.mdc +221 -221
  519. package/templates/ide/cursor/.cursor/rules/skill-dna.mdc +63 -63
  520. package/templates/ide/cursor/.cursor/rules/skill-docker.mdc +33 -33
  521. package/templates/ide/cursor/.cursor/rules/skill-fastapi-api.mdc +352 -352
  522. package/templates/ide/cursor/.cursor/rules/skill-feature-design.mdc +43 -43
  523. package/templates/ide/cursor/.cursor/rules/skill-frontend-design.mdc +244 -244
  524. package/templates/ide/cursor/.cursor/rules/skill-go-gin-api.mdc +371 -371
  525. package/templates/ide/cursor/.cursor/rules/skill-laravel-api.mdc +44 -44
  526. package/templates/ide/cursor/.cursor/rules/skill-layered-design.mdc +266 -266
  527. package/templates/ide/cursor/.cursor/rules/skill-llm-integration.mdc +295 -295
  528. package/templates/ide/cursor/.cursor/rules/skill-mcp-server.mdc +367 -367
  529. package/templates/ide/cursor/.cursor/rules/skill-migrate.mdc +58 -58
  530. package/templates/ide/cursor/.cursor/rules/skill-nestjs-api.mdc +346 -346
  531. package/templates/ide/cursor/.cursor/rules/skill-quality-telemetry.mdc +248 -248
  532. package/templates/ide/cursor/.cursor/rules/skill-rails-api.mdc +400 -400
  533. package/templates/ide/cursor/.cursor/rules/skill-realtime.mdc +262 -262
  534. package/templates/ide/cursor/.cursor/rules/skill-reverse.mdc +107 -107
  535. package/templates/ide/cursor/.cursor/rules/skill-rust-leptos.mdc +281 -281
  536. package/templates/ide/cursor/.cursor/rules/skill-rust-workspace.mdc +312 -312
  537. package/templates/ide/cursor/.cursor/rules/skill-security.mdc +245 -245
  538. package/templates/ide/cursor/.cursor/rules/skill-telemetry.mdc +156 -156
  539. package/templates/ide/cursor/templates/BLUEPRINT-template.md +193 -193
  540. package/templates/ide/cursor/templates/DESIGN-template.md +129 -129
  541. package/templates/ide/cursor/templates/TASK-SPEC-template.md +141 -141
  542. package/templates/ide/cursor/templates/TASKS-template.md +26 -26
  543. package/templates/ide/cursor/templates/TELEMETRY-template.md +125 -125
  544. package/templates/shared/docker-compose.yml +41 -41
  545. package/templates/stacks/go-gin/.dare/skills.yml +11 -11
  546. package/templates/stacks/go-gin/.env.example +24 -24
  547. package/templates/stacks/go-gin/.github/workflows/dare-ci.yml +42 -42
  548. package/templates/stacks/go-gin/README.md.tpl +38 -38
  549. package/templates/stacks/go-gin/cmd/server/main.go.tpl +78 -78
  550. package/templates/stacks/go-gin/db/migrations/0001_create_users.down.sql +2 -2
  551. package/templates/stacks/go-gin/db/migrations/0001_create_users.up.sql +12 -12
  552. package/templates/stacks/go-gin/db/queries/users.sql +23 -23
  553. package/templates/stacks/go-gin/gitignore +7 -7
  554. package/templates/stacks/go-gin/go.mod.tpl +17 -17
  555. package/templates/stacks/go-gin/internal/config/config.go +41 -41
  556. package/templates/stacks/go-gin/internal/db/postgres.go.tpl +25 -25
  557. package/templates/stacks/go-gin/internal/handler/auth_handler.go.tpl +72 -72
  558. package/templates/stacks/go-gin/internal/handler/users_handler.go.tpl +72 -72
  559. package/templates/stacks/go-gin/internal/handler/ws_handler.go +37 -37
  560. package/templates/stacks/go-gin/internal/llm/dummy.go +14 -14
  561. package/templates/stacks/go-gin/internal/llm/provider.go +8 -8
  562. package/templates/stacks/go-gin/internal/middleware/jwt.go.tpl +58 -58
  563. package/templates/stacks/go-gin/internal/middleware/rate_limit.go +55 -55
  564. package/templates/stacks/go-gin/internal/model/user.go +17 -17
  565. package/templates/stacks/go-gin/internal/repository/users_repository.go.tpl +79 -79
  566. package/templates/stacks/go-gin/internal/service/auth_service.go.tpl +55 -55
  567. package/templates/stacks/go-gin/internal/service/users_service.go.tpl +53 -53
  568. package/templates/stacks/go-gin/llms.txt.tpl +54 -54
  569. package/templates/stacks/go-gin/openapi.json.tpl +46 -46
  570. package/templates/stacks/go-gin/sqlc.yaml +14 -14
  571. package/templates/stacks/go-gin/tests/smoke_test.go.tpl +22 -22
  572. package/templates/stacks/go-stdlib/.dare/skills.yml +11 -11
  573. package/templates/stacks/go-stdlib/.env.example +24 -24
  574. package/templates/stacks/go-stdlib/.github/workflows/dare-ci.yml +42 -42
  575. package/templates/stacks/go-stdlib/README.md.tpl +41 -41
  576. package/templates/stacks/go-stdlib/cmd/server/main.go.tpl +82 -82
  577. package/templates/stacks/go-stdlib/db/migrations/0001_create_users.down.sql +2 -2
  578. package/templates/stacks/go-stdlib/db/migrations/0001_create_users.up.sql +12 -12
  579. package/templates/stacks/go-stdlib/db/queries/users.sql +23 -23
  580. package/templates/stacks/go-stdlib/gitignore +6 -6
  581. package/templates/stacks/go-stdlib/go.mod.tpl +15 -15
  582. package/templates/stacks/go-stdlib/internal/config/config.go +41 -41
  583. package/templates/stacks/go-stdlib/internal/db/postgres.go.tpl +24 -24
  584. package/templates/stacks/go-stdlib/internal/handler/auth_handler.go.tpl +71 -71
  585. package/templates/stacks/go-stdlib/internal/handler/users_handler.go.tpl +84 -84
  586. package/templates/stacks/go-stdlib/internal/handler/ws_handler.go +36 -36
  587. package/templates/stacks/go-stdlib/internal/httpx/json.go +32 -32
  588. package/templates/stacks/go-stdlib/internal/llm/dummy.go +14 -14
  589. package/templates/stacks/go-stdlib/internal/llm/provider.go +8 -8
  590. package/templates/stacks/go-stdlib/internal/middleware/chain.go +21 -21
  591. package/templates/stacks/go-stdlib/internal/middleware/cors.go +27 -27
  592. package/templates/stacks/go-stdlib/internal/middleware/jwt.go.tpl +51 -51
  593. package/templates/stacks/go-stdlib/internal/middleware/rate_limit.go +81 -81
  594. package/templates/stacks/go-stdlib/internal/model/user.go +17 -17
  595. package/templates/stacks/go-stdlib/internal/repository/users_repository.go.tpl +75 -75
  596. package/templates/stacks/go-stdlib/internal/service/auth_service.go.tpl +55 -55
  597. package/templates/stacks/go-stdlib/internal/service/users_service.go.tpl +53 -53
  598. package/templates/stacks/go-stdlib/llms.txt.tpl +60 -60
  599. package/templates/stacks/go-stdlib/openapi.json.tpl +46 -46
  600. package/templates/stacks/go-stdlib/sqlc.yaml +14 -14
  601. package/templates/stacks/go-stdlib/tests/smoke_test.go.tpl +45 -45
  602. package/templates/stacks/mcp-go/.dare/skills.yml +8 -8
  603. package/templates/stacks/mcp-go/.env.example +14 -14
  604. package/templates/stacks/mcp-go/.github/workflows/dare-ci.yml +42 -42
  605. package/templates/stacks/mcp-go/README.md.tpl +50 -50
  606. package/templates/stacks/mcp-go/cmd/server/main.go.tpl +62 -62
  607. package/templates/stacks/mcp-go/gitignore +6 -6
  608. package/templates/stacks/mcp-go/go.mod.tpl +9 -9
  609. package/templates/stacks/mcp-go/internal/prompts/summarize.go +9 -9
  610. package/templates/stacks/mcp-go/internal/server/server.go.tpl +80 -80
  611. package/templates/stacks/mcp-go/internal/tools/echo.go +15 -15
  612. package/templates/stacks/mcp-go/internal/transports/http.go.tpl +21 -21
  613. package/templates/stacks/mcp-go/internal/transports/sse.go.tpl +17 -17
  614. package/templates/stacks/mcp-go/internal/transports/stdio.go.tpl +14 -14
  615. package/templates/stacks/mcp-go/llms.txt.tpl +60 -60
  616. package/templates/stacks/mcp-go/openapi.json.tpl +31 -31
  617. package/templates/stacks/mcp-go/tests/echo_test.go.tpl +37 -37
  618. package/templates/stacks/mcp-node-ts/.dare/skills.yml +8 -8
  619. package/templates/stacks/mcp-node-ts/.env.example +16 -16
  620. package/templates/stacks/mcp-node-ts/.github/workflows/dare-ci.yml +54 -54
  621. package/templates/stacks/mcp-node-ts/README.md.hbs +49 -49
  622. package/templates/stacks/mcp-node-ts/gitignore +7 -7
  623. package/templates/stacks/mcp-node-ts/llms.txt.hbs +61 -61
  624. package/templates/stacks/mcp-node-ts/openapi.json.hbs +39 -39
  625. package/templates/stacks/mcp-node-ts/package.json.hbs +35 -35
  626. package/templates/stacks/mcp-node-ts/src/cli.ts.hbs +71 -71
  627. package/templates/stacks/mcp-node-ts/src/prompts/index.ts +36 -36
  628. package/templates/stacks/mcp-node-ts/src/server.ts.hbs +45 -45
  629. package/templates/stacks/mcp-node-ts/src/tools/echo.ts +23 -23
  630. package/templates/stacks/mcp-node-ts/src/tools/index.ts +18 -18
  631. package/templates/stacks/mcp-node-ts/src/transports/http.ts +68 -68
  632. package/templates/stacks/mcp-node-ts/src/transports/sse.ts +58 -58
  633. package/templates/stacks/mcp-node-ts/src/transports/stdio.ts +5 -5
  634. package/templates/stacks/mcp-node-ts/tests/echo.test.ts +50 -50
  635. package/templates/stacks/mcp-node-ts/tsconfig.json +17 -17
  636. package/templates/stacks/mcp-python/.dare/skills.yml +8 -8
  637. package/templates/stacks/mcp-python/.env.example +14 -14
  638. package/templates/stacks/mcp-python/.github/workflows/dare-ci.yml +42 -42
  639. package/templates/stacks/mcp-python/README.md.j2 +49 -49
  640. package/templates/stacks/mcp-python/gitignore +12 -12
  641. package/templates/stacks/mcp-python/llms.txt.j2 +56 -56
  642. package/templates/stacks/mcp-python/openapi.json.j2 +33 -33
  643. package/templates/stacks/mcp-python/pyproject.toml.j2 +37 -37
  644. package/templates/stacks/mcp-python/src/cli.py.j2 +68 -68
  645. package/templates/stacks/mcp-python/src/prompts/summarize.py +10 -10
  646. package/templates/stacks/mcp-python/src/server.py.j2 +28 -28
  647. package/templates/stacks/mcp-python/src/tools/echo.py +12 -12
  648. package/templates/stacks/mcp-python/src/transports/http.py +12 -12
  649. package/templates/stacks/mcp-python/src/transports/sse.py +13 -13
  650. package/templates/stacks/mcp-python/src/transports/stdio.py +6 -6
  651. package/templates/stacks/mcp-python/tests/test_echo.py +28 -28
  652. package/templates/stacks/mcp-rust/.dare/skills.yml +8 -8
  653. package/templates/stacks/mcp-rust/.env.example +14 -14
  654. package/templates/stacks/mcp-rust/.github/workflows/dare-ci.yml +38 -38
  655. package/templates/stacks/mcp-rust/Cargo.toml.tera +35 -35
  656. package/templates/stacks/mcp-rust/README.md.tera +50 -50
  657. package/templates/stacks/mcp-rust/gitignore +5 -5
  658. package/templates/stacks/mcp-rust/llms.txt.tera +60 -60
  659. package/templates/stacks/mcp-rust/openapi.json.tera +31 -31
  660. package/templates/stacks/mcp-rust/src/cli.rs.tera +33 -33
  661. package/templates/stacks/mcp-rust/src/lib.rs +6 -6
  662. package/templates/stacks/mcp-rust/src/main.rs.tera +30 -30
  663. package/templates/stacks/mcp-rust/src/prompts/mod.rs +1 -1
  664. package/templates/stacks/mcp-rust/src/prompts/summarize.rs +5 -5
  665. package/templates/stacks/mcp-rust/src/server.rs.tera +38 -38
  666. package/templates/stacks/mcp-rust/src/tools/echo.rs +18 -18
  667. package/templates/stacks/mcp-rust/src/tools/mod.rs +22 -22
  668. package/templates/stacks/mcp-rust/src/transports/http.rs +27 -27
  669. package/templates/stacks/mcp-rust/src/transports/mod.rs +3 -3
  670. package/templates/stacks/mcp-rust/src/transports/sse.rs +33 -33
  671. package/templates/stacks/mcp-rust/src/transports/stdio.rs +14 -14
  672. package/templates/stacks/mcp-rust/tests/echo_test.rs.tera +27 -27
  673. package/templates/stacks/node-nestjs/.dare/skills.yml +11 -11
  674. package/templates/stacks/node-nestjs/.env.example +21 -21
  675. package/templates/stacks/node-nestjs/.github/workflows/dare-ci.yml +54 -54
  676. package/templates/stacks/node-nestjs/README.md.hbs +35 -35
  677. package/templates/stacks/node-nestjs/gitignore +7 -7
  678. package/templates/stacks/node-nestjs/llms.txt.hbs +47 -47
  679. package/templates/stacks/node-nestjs/nest-cli.json +16 -16
  680. package/templates/stacks/node-nestjs/openapi.json.hbs +75 -75
  681. package/templates/stacks/node-nestjs/package.json.hbs +57 -57
  682. package/templates/stacks/node-nestjs/prisma/schema.prisma +25 -25
  683. package/templates/stacks/node-nestjs/prisma/seed.ts.hbs +25 -25
  684. package/templates/stacks/node-nestjs/src/app.module.ts +39 -39
  685. package/templates/stacks/node-nestjs/src/auth/auth.controller.ts +29 -29
  686. package/templates/stacks/node-nestjs/src/auth/auth.module.ts +25 -25
  687. package/templates/stacks/node-nestjs/src/auth/auth.service.ts +36 -36
  688. package/templates/stacks/node-nestjs/src/auth/dto/login-response.dto.ts +9 -9
  689. package/templates/stacks/node-nestjs/src/auth/dto/login.dto.ts +17 -17
  690. package/templates/stacks/node-nestjs/src/auth/jwt.strategy.ts +25 -25
  691. package/templates/stacks/node-nestjs/src/common/filters/problem-details.filter.ts +38 -38
  692. package/templates/stacks/node-nestjs/src/common/interceptors/json-response.interceptor.ts +13 -13
  693. package/templates/stacks/node-nestjs/src/main.ts.hbs +44 -44
  694. package/templates/stacks/node-nestjs/src/prisma/prisma.module.ts +9 -9
  695. package/templates/stacks/node-nestjs/src/prisma/prisma.service.ts +9 -9
  696. package/templates/stacks/node-nestjs/src/users/dto/create-user.dto.ts +22 -22
  697. package/templates/stacks/node-nestjs/src/users/dto/user.dto.ts +15 -15
  698. package/templates/stacks/node-nestjs/src/users/users.controller.ts +41 -41
  699. package/templates/stacks/node-nestjs/src/users/users.module.ts +11 -11
  700. package/templates/stacks/node-nestjs/src/users/users.repository.ts +38 -38
  701. package/templates/stacks/node-nestjs/src/users/users.service.ts +38 -38
  702. package/templates/stacks/node-nestjs/tsconfig.build.json +4 -4
  703. package/templates/stacks/node-nestjs/tsconfig.json +28 -28
  704. package/templates/stacks/php-laravel/.dare/skills.yml +11 -11
  705. package/templates/stacks/php-laravel/.env.example +41 -41
  706. package/templates/stacks/php-laravel/.github/workflows/dare-ci.yml +43 -43
  707. package/templates/stacks/php-laravel/README.md.hbs +36 -36
  708. package/templates/stacks/php-laravel/app/Http/Controllers/Api/AuthController.php +36 -36
  709. package/templates/stacks/php-laravel/app/Http/Controllers/Api/UsersController.php +33 -33
  710. package/templates/stacks/php-laravel/app/Http/Requests/CreateUserRequest.php +26 -26
  711. package/templates/stacks/php-laravel/app/Http/Requests/LoginRequest.php +34 -34
  712. package/templates/stacks/php-laravel/app/Llm/Contracts/LlmProvider.php +12 -12
  713. package/templates/stacks/php-laravel/app/Llm/Providers/DummyProvider.php +13 -13
  714. package/templates/stacks/php-laravel/app/Llm/Providers/OpenAiProvider.php +33 -33
  715. package/templates/stacks/php-laravel/app/Models/User.php +44 -44
  716. package/templates/stacks/php-laravel/app/Repositories/UsersRepository.php +32 -32
  717. package/templates/stacks/php-laravel/app/Services/AuthService.php +37 -37
  718. package/templates/stacks/php-laravel/app/Services/UsersService.php +57 -57
  719. package/templates/stacks/php-laravel/artisan +12 -12
  720. package/templates/stacks/php-laravel/bootstrap/app.php +29 -29
  721. package/templates/stacks/php-laravel/bootstrap/providers.php +5 -5
  722. package/templates/stacks/php-laravel/composer.json.hbs +58 -58
  723. package/templates/stacks/php-laravel/config/l5-swagger.php +41 -41
  724. package/templates/stacks/php-laravel/config/reverb.php +34 -34
  725. package/templates/stacks/php-laravel/config/sanctum.php +15 -15
  726. package/templates/stacks/php-laravel/database/migrations/2026_06_01_000001_create_users_table.php +27 -27
  727. package/templates/stacks/php-laravel/database/seeders/DatabaseSeeder.php +21 -21
  728. package/templates/stacks/php-laravel/gitignore +23 -23
  729. package/templates/stacks/php-laravel/llms.txt.hbs +53 -53
  730. package/templates/stacks/php-laravel/openapi.json.hbs +43 -43
  731. package/templates/stacks/php-laravel/phpstan.neon +9 -9
  732. package/templates/stacks/php-laravel/routes/api.php +13 -13
  733. package/templates/stacks/php-laravel/routes/channels.php +7 -7
  734. package/templates/stacks/php-laravel/tests/Feature/AuthTest.php +35 -35
  735. package/templates/stacks/php-laravel/tests/Feature/UsersTest.php +30 -30
  736. package/templates/stacks/php-laravel/tests/Pest.php +5 -5
  737. package/templates/stacks/python-fastapi/.dare/skills.yml +11 -11
  738. package/templates/stacks/python-fastapi/.env.example +21 -21
  739. package/templates/stacks/python-fastapi/.github/workflows/dare-ci.yml +43 -43
  740. package/templates/stacks/python-fastapi/README.md.j2 +35 -35
  741. package/templates/stacks/python-fastapi/alembic/env.py +46 -46
  742. package/templates/stacks/python-fastapi/alembic/script.py.mako +26 -26
  743. package/templates/stacks/python-fastapi/alembic/versions/0001_create_users.py.j2 +37 -37
  744. package/templates/stacks/python-fastapi/alembic.ini.j2 +39 -39
  745. package/templates/stacks/python-fastapi/app/core/config.py +24 -24
  746. package/templates/stacks/python-fastapi/app/core/security.py +34 -34
  747. package/templates/stacks/python-fastapi/app/db/session.py +22 -22
  748. package/templates/stacks/python-fastapi/app/main.py.j2 +36 -36
  749. package/templates/stacks/python-fastapi/app/models/__init__.py +3 -3
  750. package/templates/stacks/python-fastapi/app/models/user.py +30 -30
  751. package/templates/stacks/python-fastapi/app/repositories/user_repository.py +34 -34
  752. package/templates/stacks/python-fastapi/app/routers/auth.py +37 -37
  753. package/templates/stacks/python-fastapi/app/routers/users.py +46 -46
  754. package/templates/stacks/python-fastapi/app/schemas/user.py +56 -56
  755. package/templates/stacks/python-fastapi/app/services/auth_service.py +22 -22
  756. package/templates/stacks/python-fastapi/app/services/user_service.py +31 -31
  757. package/templates/stacks/python-fastapi/gitignore +12 -12
  758. package/templates/stacks/python-fastapi/llms.txt.j2 +53 -53
  759. package/templates/stacks/python-fastapi/openapi.json.j2 +43 -43
  760. package/templates/stacks/python-fastapi/pyproject.toml.j2 +45 -45
  761. package/templates/stacks/python-fastapi/tests/test_auth.py +22 -22
  762. package/templates/stacks/ruby-rails-8/.dare/skills.yml +50 -50
  763. package/templates/stacks/ruby-rails-8/.env.example +20 -20
  764. package/templates/stacks/ruby-rails-8/.github/workflows/dare-ci.yml +112 -112
  765. package/templates/stacks/ruby-rails-8/Gemfile.erb +61 -61
  766. package/templates/stacks/ruby-rails-8/app/channels/application_cable/channel.rb +11 -11
  767. package/templates/stacks/ruby-rails-8/app/channels/application_cable/connection.rb +34 -34
  768. package/templates/stacks/ruby-rails-8/app/channels/dare_updates_channel.rb +18 -18
  769. package/templates/stacks/ruby-rails-8/app/channels/user_updates_channel.rb +23 -23
  770. package/templates/stacks/ruby-rails-8/app/controllers/application_controller.rb +44 -44
  771. package/templates/stacks/ruby-rails-8/app/controllers/concerns/problem_details.rb +93 -93
  772. package/templates/stacks/ruby-rails-8/app/handlers/summarize_handler.rb +33 -33
  773. package/templates/stacks/ruby-rails-8/app/handlers/users_handler.rb +68 -68
  774. package/templates/stacks/ruby-rails-8/app/llm/cache/llm_cache.rb +44 -44
  775. package/templates/stacks/ruby-rails-8/app/llm/prompts/prompt_loader.rb +54 -54
  776. package/templates/stacks/ruby-rails-8/app/llm/prompts/summarize_v1.jinja2 +12 -12
  777. package/templates/stacks/ruby-rails-8/app/llm/providers/dummy_provider.rb +35 -35
  778. package/templates/stacks/ruby-rails-8/app/llm/providers/llm_provider.rb +67 -67
  779. package/templates/stacks/ruby-rails-8/app/llm/providers/openai_provider.rb +62 -62
  780. package/templates/stacks/ruby-rails-8/app/llm/rate_limit/token_bucket.rb +82 -82
  781. package/templates/stacks/ruby-rails-8/app/llm/validators/summarize_output_schema.json +21 -21
  782. package/templates/stacks/ruby-rails-8/app/llm/validators/validator.rb +52 -52
  783. package/templates/stacks/ruby-rails-8/app/models/user.rb +36 -36
  784. package/templates/stacks/ruby-rails-8/app/presenters/user_presenter.rb +48 -48
  785. package/templates/stacks/ruby-rails-8/app/repositories/document_repository.rb +57 -57
  786. package/templates/stacks/ruby-rails-8/app/repositories/user_repository.rb +73 -73
  787. package/templates/stacks/ruby-rails-8/app/services/create_user_service.rb +67 -67
  788. package/templates/stacks/ruby-rails-8/app/services/realtime_service.rb +53 -53
  789. package/templates/stacks/ruby-rails-8/app/services/summarize_document_service.rb +57 -57
  790. package/templates/stacks/ruby-rails-8/config/dare.yml +42 -42
  791. package/templates/stacks/ruby-rails-8/config/initializers/dare.rb +31 -31
  792. package/templates/stacks/ruby-rails-8/config/initializers/rack_attack.rb +64 -64
  793. package/templates/stacks/ruby-rails-8/config/initializers/rswag_api.rb +12 -12
  794. package/templates/stacks/ruby-rails-8/lib/tasks/dare.rake +159 -159
  795. package/templates/stacks/ruby-rails-8/llms.txt.erb +69 -69
  796. package/templates/stacks/ruby-rails-8/spec/api/summarize_spec.rb +56 -56
  797. package/templates/stacks/ruby-rails-8/spec/api/users_spec.rb +72 -72
  798. package/templates/stacks/ruby-rails-8/spec/channels/dare_updates_channel_spec.rb +61 -61
  799. package/templates/stacks/ruby-rails-8/spec/channels/user_updates_channel_spec.rb +56 -56
  800. package/templates/stacks/ruby-rails-8/spec/factories/users.rb +27 -27
  801. package/templates/stacks/ruby-rails-8/spec/handlers/users_handler_spec.rb +88 -88
  802. package/templates/stacks/ruby-rails-8/spec/rails_helper.rb +31 -31
  803. package/templates/stacks/ruby-rails-8/spec/services/create_user_service_spec.rb +88 -88
  804. package/templates/stacks/ruby-rails-8/spec/services/summarize_document_service_spec.rb +142 -142
  805. package/templates/stacks/ruby-rails-8/spec/swagger_helper.rb +73 -73
  806. package/templates/stacks/rust-axum/.dare/skills.yml +11 -11
  807. package/templates/stacks/rust-axum/.env.example +26 -26
  808. package/templates/stacks/rust-axum/.github/workflows/dare-ci.yml +40 -40
  809. package/templates/stacks/rust-axum/Cargo.toml.tera +53 -53
  810. package/templates/stacks/rust-axum/README.md.tera +37 -37
  811. package/templates/stacks/rust-axum/gitignore +5 -5
  812. package/templates/stacks/rust-axum/llms.txt.tera +54 -54
  813. package/templates/stacks/rust-axum/migrations/0001_create_users.sql +13 -13
  814. package/templates/stacks/rust-axum/openapi.json.tera +46 -46
  815. package/templates/stacks/rust-axum/src/config.rs +45 -45
  816. package/templates/stacks/rust-axum/src/errors.rs +48 -48
  817. package/templates/stacks/rust-axum/src/handlers/auth.rs +48 -48
  818. package/templates/stacks/rust-axum/src/handlers/mod.rs +3 -3
  819. package/templates/stacks/rust-axum/src/handlers/users.rs +81 -81
  820. package/templates/stacks/rust-axum/src/handlers/ws.rs +24 -24
  821. package/templates/stacks/rust-axum/src/lib.rs +19 -19
  822. package/templates/stacks/rust-axum/src/llm/mod.rs +1 -1
  823. package/templates/stacks/rust-axum/src/llm/provider.rs +48 -48
  824. package/templates/stacks/rust-axum/src/main.rs.tera +64 -64
  825. package/templates/stacks/rust-axum/src/middleware/auth.rs +20 -20
  826. package/templates/stacks/rust-axum/src/middleware/mod.rs +2 -2
  827. package/templates/stacks/rust-axum/src/middleware/rate_limit.rs +27 -27
  828. package/templates/stacks/rust-axum/src/models/mod.rs +1 -1
  829. package/templates/stacks/rust-axum/src/models/user.rs +13 -13
  830. package/templates/stacks/rust-axum/src/repositories/mod.rs +1 -1
  831. package/templates/stacks/rust-axum/src/repositories/user_repository.rs +62 -62
  832. package/templates/stacks/rust-axum/src/services/auth_service.rs +50 -50
  833. package/templates/stacks/rust-axum/src/services/mod.rs +2 -2
  834. package/templates/stacks/rust-axum/src/services/user_service.rs +53 -53
  835. package/templates/stacks/rust-axum/tests/integration_test.rs.tera +13 -13
  836. package/dist/commands/new.d.ts +0 -16
  837. package/dist/commands/new.d.ts.map +0 -1
  838. package/dist/commands/new.js +0 -104
  839. package/dist/commands/new.js.map +0 -1
@@ -1,139 +1,139 @@
1
- # Comando: /dare-dag-viz
2
-
3
- ## Descrição
4
-
5
- Gera diagrama interativo `.excalidraw` a partir do `DARE/dare-dag.yaml` atual. Cada task vira um retângulo com cor baseada em complexidade e status visual, agrupado em colunas verticais (swim lanes) por rank, com setas conectando dependências.
6
-
7
- ## Instruções para o Cursor Composer
8
-
9
- 1. **Leia o DAG:** Abra `DARE/dare-dag.yaml`. Valide sintaxe YAML. Extraia tasks, complexidade, dependências e status.
10
-
11
- 2. **Leia a skill de visualização:** Consulte `.cursor/rules/skill-dag-viz.mdc` (se existir) para convenções visuais e tokens de design.
12
-
13
- 3. **Calcule ranks:**
14
- - Tasks sem `depends_on` → rank 1
15
- - Demais: rank = 1 + max(rank das dependências)
16
- - Agrupe por rank para formar swim lanes verticais
17
-
18
- 4. **Gere elementos Excalidraw:**
19
- - Para cada task, crie retângulo 120×60px:
20
- - Cor de fundo por `complexity`:
21
- - LOW → azul `#e3f2fd`, stroke `#1976d2`
22
- - MEDIUM → laranja `#fff3e0`, stroke `#f57c00`
23
- - HIGH → rosa `#fce4ec`, stroke `#c2185b`
24
- - Stroke por `status`:
25
- - PENDING → linha sólida cinza padrão
26
- - RUNNING → linha pontilhada azul
27
- - DONE → linha sólida verde `#388e3c`
28
- - FAILED → linha sólida vermelha `#d32f2f`
29
- - Texto: `task-id\ntask-name\n[COMPLEXITY]`
30
- - Para cada dependência em `depends_on`, crie seta de source → target, stroke cinza `#999`.
31
-
32
- 5. **Posicione elementos:**
33
- - X = 20 + (taskIndex_no_rank × 140)
34
- - Y = 20 + (rank − 1) × 160
35
-
36
- 6. **Salve:** Escreva resultado em `DARE/dag-graph.excalidraw` no formato JSON Excalidraw 2.x.
37
-
38
- 7. **Mensagem final:**
39
- ```
40
- DAG gerado: DARE/dag-graph.excalidraw
41
- Abra em https://excalidraw.com (File → Open) para visualizar e editar.
42
- ```
43
-
44
- ## Estrutura JSON Excalidraw esperada
45
-
46
- ```json
47
- {
48
- "type": "excalidraw",
49
- "version": 2,
50
- "source": "dare-dag-viz",
51
- "elements": [
52
- {
53
- "id": "task-001",
54
- "type": "rectangle",
55
- "x": 20, "y": 20,
56
- "width": 120, "height": 60,
57
- "backgroundColor": "#e3f2fd",
58
- "strokeColor": "#1976d2",
59
- "strokeStyle": "solid",
60
- "fillStyle": "solid",
61
- "roundness": { "type": 2, "value": 6 }
62
- },
63
- {
64
- "type": "text",
65
- "x": 25, "y": 25,
66
- "text": "task-001\nSetup Auth\n[LOW]",
67
- "fontSize": 12,
68
- "containerId": "task-001"
69
- },
70
- {
71
- "type": "arrow",
72
- "startBinding": { "elementId": "task-001" },
73
- "endBinding": { "elementId": "task-003" },
74
- "strokeColor": "#999"
75
- }
76
- ],
77
- "appState": {
78
- "gridMode": "grid",
79
- "gridSize": 20
80
- },
81
- "files": {}
82
- }
83
- ```
84
-
85
- ## Campos esperados em `dare-dag.yaml`
86
-
87
- ```yaml
88
- tasks:
89
- task-001:
90
- name: "Setup Auth"
91
- complexity: "LOW" # LOW | MEDIUM | HIGH
92
- rank: 1 # opcional (calculado se ausente)
93
- depends_on: [] # default []
94
- status: "DONE" # PENDING | RUNNING | DONE | FAILED (default PENDING)
95
- subtask_prompt: "..." # opcional
96
- ```
97
-
98
- **Obrigatórios:** `name`, `complexity`.
99
- **Opcionais:** `rank`, `depends_on`, `status`.
100
-
101
- ## Como abrir o resultado
102
-
103
- 1. Acesse https://excalidraw.com
104
- 2. File → Open → selecione `DARE/dag-graph.excalidraw`
105
- 3. Edite livremente (mover, colorir, anotar)
106
- 4. Salve no mesmo arquivo
107
-
108
- ## Atualizar após mudanças
109
-
110
- Sempre que `dare-dag.yaml` for modificado, rode `/dag-viz` para regenerar.
111
-
112
- > Dica: faça backup se editou manualmente — a regeneração sobrescreve.
113
-
114
- ## Troubleshooting
115
-
116
- - **"File not found: DARE/dare-dag.yaml"** — projeto não tem DAG. Rode `/generate-tasks` primeiro para gerá-lo.
117
- - **"JSON inválido"** — valide com `dare dag validate` (se CLI disponível) ou inspecione manualmente.
118
- - **Diagrama muito grande** — abra em Excalidraw e ajuste com Ctrl+Mouse / pinch zoom.
119
-
120
- ## Convenções visuais
121
-
122
- - **Azul** (`#e3f2fd`) = LOW complexity
123
- - **Laranja** (`#fff3e0`) = MEDIUM
124
- - **Rosa** (`#fce4ec`) = HIGH
125
- - **Verde** (`#388e3c`) = DONE
126
- - **Vermelho** (`#d32f2f`) = FAILED
127
- - **Pontilhado azul** = RUNNING
128
- - **Cinza padrão** = PENDING
129
-
130
- ## Próximos passos
131
-
132
- - Exporte para PNG no Excalidraw para incluir em README ou PR
133
- - Compartilhe o link colaborativo do Excalidraw com stakeholders
134
- - Atualize após cada `/generate-tasks` ou `/run-dag`
135
-
136
- ---
137
-
138
- Skill MIT — parte do DARE Method.
139
- Inspiração: [Excalidraw Diagram Skill](https://github.com/coleam00/excalidraw-diagram-skill) por Cole Medin.
1
+ # Comando: /dare-dag-viz
2
+
3
+ ## Descrição
4
+
5
+ Gera diagrama interativo `.excalidraw` a partir do `DARE/dare-dag.yaml` atual. Cada task vira um retângulo com cor baseada em complexidade e status visual, agrupado em colunas verticais (swim lanes) por rank, com setas conectando dependências.
6
+
7
+ ## Instruções para o Cursor Composer
8
+
9
+ 1. **Leia o DAG:** Abra `DARE/dare-dag.yaml`. Valide sintaxe YAML. Extraia tasks, complexidade, dependências e status.
10
+
11
+ 2. **Leia a skill de visualização:** Consulte `.cursor/rules/skill-dag-viz.mdc` (se existir) para convenções visuais e tokens de design.
12
+
13
+ 3. **Calcule ranks:**
14
+ - Tasks sem `depends_on` → rank 1
15
+ - Demais: rank = 1 + max(rank das dependências)
16
+ - Agrupe por rank para formar swim lanes verticais
17
+
18
+ 4. **Gere elementos Excalidraw:**
19
+ - Para cada task, crie retângulo 120×60px:
20
+ - Cor de fundo por `complexity`:
21
+ - LOW → azul `#e3f2fd`, stroke `#1976d2`
22
+ - MEDIUM → laranja `#fff3e0`, stroke `#f57c00`
23
+ - HIGH → rosa `#fce4ec`, stroke `#c2185b`
24
+ - Stroke por `status`:
25
+ - PENDING → linha sólida cinza padrão
26
+ - RUNNING → linha pontilhada azul
27
+ - DONE → linha sólida verde `#388e3c`
28
+ - FAILED → linha sólida vermelha `#d32f2f`
29
+ - Texto: `task-id\ntask-name\n[COMPLEXITY]`
30
+ - Para cada dependência em `depends_on`, crie seta de source → target, stroke cinza `#999`.
31
+
32
+ 5. **Posicione elementos:**
33
+ - X = 20 + (taskIndex_no_rank × 140)
34
+ - Y = 20 + (rank − 1) × 160
35
+
36
+ 6. **Salve:** Escreva resultado em `DARE/dag-graph.excalidraw` no formato JSON Excalidraw 2.x.
37
+
38
+ 7. **Mensagem final:**
39
+ ```
40
+ DAG gerado: DARE/dag-graph.excalidraw
41
+ Abra em https://excalidraw.com (File → Open) para visualizar e editar.
42
+ ```
43
+
44
+ ## Estrutura JSON Excalidraw esperada
45
+
46
+ ```json
47
+ {
48
+ "type": "excalidraw",
49
+ "version": 2,
50
+ "source": "dare-dag-viz",
51
+ "elements": [
52
+ {
53
+ "id": "task-001",
54
+ "type": "rectangle",
55
+ "x": 20, "y": 20,
56
+ "width": 120, "height": 60,
57
+ "backgroundColor": "#e3f2fd",
58
+ "strokeColor": "#1976d2",
59
+ "strokeStyle": "solid",
60
+ "fillStyle": "solid",
61
+ "roundness": { "type": 2, "value": 6 }
62
+ },
63
+ {
64
+ "type": "text",
65
+ "x": 25, "y": 25,
66
+ "text": "task-001\nSetup Auth\n[LOW]",
67
+ "fontSize": 12,
68
+ "containerId": "task-001"
69
+ },
70
+ {
71
+ "type": "arrow",
72
+ "startBinding": { "elementId": "task-001" },
73
+ "endBinding": { "elementId": "task-003" },
74
+ "strokeColor": "#999"
75
+ }
76
+ ],
77
+ "appState": {
78
+ "gridMode": "grid",
79
+ "gridSize": 20
80
+ },
81
+ "files": {}
82
+ }
83
+ ```
84
+
85
+ ## Campos esperados em `dare-dag.yaml`
86
+
87
+ ```yaml
88
+ tasks:
89
+ task-001:
90
+ name: "Setup Auth"
91
+ complexity: "LOW" # LOW | MEDIUM | HIGH
92
+ rank: 1 # opcional (calculado se ausente)
93
+ depends_on: [] # default []
94
+ status: "DONE" # PENDING | RUNNING | DONE | FAILED (default PENDING)
95
+ subtask_prompt: "..." # opcional
96
+ ```
97
+
98
+ **Obrigatórios:** `name`, `complexity`.
99
+ **Opcionais:** `rank`, `depends_on`, `status`.
100
+
101
+ ## Como abrir o resultado
102
+
103
+ 1. Acesse https://excalidraw.com
104
+ 2. File → Open → selecione `DARE/dag-graph.excalidraw`
105
+ 3. Edite livremente (mover, colorir, anotar)
106
+ 4. Salve no mesmo arquivo
107
+
108
+ ## Atualizar após mudanças
109
+
110
+ Sempre que `dare-dag.yaml` for modificado, rode `/dag-viz` para regenerar.
111
+
112
+ > Dica: faça backup se editou manualmente — a regeneração sobrescreve.
113
+
114
+ ## Troubleshooting
115
+
116
+ - **"File not found: DARE/dare-dag.yaml"** — projeto não tem DAG. Rode `/generate-tasks` primeiro para gerá-lo.
117
+ - **"JSON inválido"** — valide com `dare dag validate` (se CLI disponível) ou inspecione manualmente.
118
+ - **Diagrama muito grande** — abra em Excalidraw e ajuste com Ctrl+Mouse / pinch zoom.
119
+
120
+ ## Convenções visuais
121
+
122
+ - **Azul** (`#e3f2fd`) = LOW complexity
123
+ - **Laranja** (`#fff3e0`) = MEDIUM
124
+ - **Rosa** (`#fce4ec`) = HIGH
125
+ - **Verde** (`#388e3c`) = DONE
126
+ - **Vermelho** (`#d32f2f`) = FAILED
127
+ - **Pontilhado azul** = RUNNING
128
+ - **Cinza padrão** = PENDING
129
+
130
+ ## Próximos passos
131
+
132
+ - Exporte para PNG no Excalidraw para incluir em README ou PR
133
+ - Compartilhe o link colaborativo do Excalidraw com stakeholders
134
+ - Atualize após cada `/generate-tasks` ou `/run-dag`
135
+
136
+ ---
137
+
138
+ Skill MIT — parte do DARE Method.
139
+ Inspiração: [Excalidraw Diagram Skill](https://github.com/coleam00/excalidraw-diagram-skill) por Cole Medin.
@@ -1,27 +1,27 @@
1
- # Comando: /dare-dag
2
-
3
- Mostra o DAG estático de tasks (`DARE/dare-dag.yaml`): ranks, dependências e caminho crítico. Use `dare dag viz` para exportar o diagrama.
4
-
5
- > Este comando expõe o CLI `dare dag` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
-
7
- ## Quando usar
8
-
9
- - Você quer ver a ordem de execução, os ranks e o caminho crítico das tasks.
10
- - Antes de começar a execução, para conferir a topologia do plano.
11
-
12
- ## Como rodar
13
-
14
- ```bash
15
- dare dag viz
16
- dare dag viz --dag DARE/dare-dag.yaml
17
- ```
18
-
19
- ## O que fazer
20
-
21
- 1. Rode `dare dag viz` para renderizar o grafo de tasks.
22
- 2. Confira ranks e dependências; tasks de mesmo rank podem rodar em paralelo.
23
- 3. Para validar a integridade do arquivo, use `/dare-validate`. Para executar, `/dare-execute`.
24
-
25
- ## Comandos relacionados
26
-
27
- `/dare-validate` · `/dare-execute` · `/dare-graph`
1
+ # Comando: /dare-dag
2
+
3
+ Mostra o DAG estático de tasks (`DARE/dare-dag.yaml`): ranks, dependências e caminho crítico. Use `dare dag viz` para exportar o diagrama.
4
+
5
+ > Este comando expõe o CLI `dare dag` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
+
7
+ ## Quando usar
8
+
9
+ - Você quer ver a ordem de execução, os ranks e o caminho crítico das tasks.
10
+ - Antes de começar a execução, para conferir a topologia do plano.
11
+
12
+ ## Como rodar
13
+
14
+ ```bash
15
+ dare dag viz
16
+ dare dag viz --dag DARE/dare-dag.yaml
17
+ ```
18
+
19
+ ## O que fazer
20
+
21
+ 1. Rode `dare dag viz` para renderizar o grafo de tasks.
22
+ 2. Confira ranks e dependências; tasks de mesmo rank podem rodar em paralelo.
23
+ 3. Para validar a integridade do arquivo, use `/dare-validate`. Para executar, `/dare-execute`.
24
+
25
+ ## Comandos relacionados
26
+
27
+ `/dare-validate` · `/dare-execute` · `/dare-graph`
@@ -1,35 +1,35 @@
1
- # Comando: /dare-design
2
-
3
- ## Descrição
4
- Inicia o Método DARE (fase Design) gerando `DARE/DESIGN.md` a partir de uma ideia inicial.
5
-
6
- ## Instruções para o Cursor Composer
7
-
8
- 1. **Leia o contexto:** `package.json` / `Cargo.toml` / `composer.json` / `go.mod` / `requirements.txt` para identificar a stack atual. Leia `.cursorrules` para entender padrões do projeto. Se `DARE/DESIGN.md` já existir, não sobrescreva sem aprovação explícita.
9
-
10
- 2. **Leia o template:** `templates/DESIGN-template.md` — siga a estrutura fielmente.
11
-
12
- 3. **Gere `DARE/DESIGN.md` com as seções obrigatórias:**
13
-
14
- - **Descrição** — 3 a 5 frases: o que é, qual problema resolve, quem usa
15
- - **Objetivos e Métricas de Sucesso** — tabela numerada (O-01, O-02…) com métrica verificável e meta numérica
16
- - **Stakeholders** — tabela: papel, time, interesse principal
17
- - **Requisitos Funcionais** — tabela numerada (RF-01, RF-02…) com prioridade MUST/SHOULD/COULD e critério de aceite
18
- - **Requisitos Não-Funcionais** — tabela numerada (RNF-01…): performance, disponibilidade, segurança, observabilidade, manutenibilidade
19
- - **Requisitos de Segurança** — tabela numerada (RS-01…). **Sempre inclua:**
20
- - RS-01: validação de entrada no servidor (OWASP A03)
21
- - RS-02: hash de senhas / proteção de dados sensíveis (OWASP A02)
22
- - RS-03: controle de acesso por recurso (OWASP A01)
23
- - RS-04: auditoria de dependências sem CVE HIGH/CRITICAL (OWASP A06)
24
- - RS-05: secrets via variáveis de ambiente — nunca em código
25
- - Requisitos específicos do domínio do projeto
26
- - **Stack Técnica** — tabela por camada com versões fixas
27
- - **Integrações Externas** — tabela: sistema, tipo, protocolo, direção, dados, responsável
28
- - **Restrições** — prazo, orçamento, técnicas, compliance
29
- - **Fora do Escopo (v1)** — lista explícita
30
- - **Riscos e Mitigações** — tabela com probabilidade, impacto e mitigação concreta
31
- - **Checklist de Aprovação** — checkboxes para revisão humana
32
-
33
- 4. **Qualidade:** O DESIGN.md deve responder claramente: O QUÊ, POR QUÊ, PARA QUEM, O QUE NÃO e QUAIS RISCOS. Use "[A definir]" para informações não disponíveis, mas nunca omita seções.
34
-
35
- 5. **Salve** `DARE/DESIGN.md` e informe: _"DESIGN.md gerado. Revise as seções, especialmente os Requisitos de Segurança (RS-*) e Riscos. Quando aprovado, execute `/generate-blueprint`."_
1
+ # Comando: /dare-design
2
+
3
+ ## Descrição
4
+ Inicia o Método DARE (fase Design) gerando `DARE/DESIGN.md` a partir de uma ideia inicial.
5
+
6
+ ## Instruções para o Cursor Composer
7
+
8
+ 1. **Leia o contexto:** `package.json` / `Cargo.toml` / `composer.json` / `go.mod` / `requirements.txt` para identificar a stack atual. Leia `.cursorrules` para entender padrões do projeto. Se `DARE/DESIGN.md` já existir, não sobrescreva sem aprovação explícita.
9
+
10
+ 2. **Leia o template:** `templates/DESIGN-template.md` — siga a estrutura fielmente.
11
+
12
+ 3. **Gere `DARE/DESIGN.md` com as seções obrigatórias:**
13
+
14
+ - **Descrição** — 3 a 5 frases: o que é, qual problema resolve, quem usa
15
+ - **Objetivos e Métricas de Sucesso** — tabela numerada (O-01, O-02…) com métrica verificável e meta numérica
16
+ - **Stakeholders** — tabela: papel, time, interesse principal
17
+ - **Requisitos Funcionais** — tabela numerada (RF-01, RF-02…) com prioridade MUST/SHOULD/COULD e critério de aceite
18
+ - **Requisitos Não-Funcionais** — tabela numerada (RNF-01…): performance, disponibilidade, segurança, observabilidade, manutenibilidade
19
+ - **Requisitos de Segurança** — tabela numerada (RS-01…). **Sempre inclua:**
20
+ - RS-01: validação de entrada no servidor (OWASP A03)
21
+ - RS-02: hash de senhas / proteção de dados sensíveis (OWASP A02)
22
+ - RS-03: controle de acesso por recurso (OWASP A01)
23
+ - RS-04: auditoria de dependências sem CVE HIGH/CRITICAL (OWASP A06)
24
+ - RS-05: secrets via variáveis de ambiente — nunca em código
25
+ - Requisitos específicos do domínio do projeto
26
+ - **Stack Técnica** — tabela por camada com versões fixas
27
+ - **Integrações Externas** — tabela: sistema, tipo, protocolo, direção, dados, responsável
28
+ - **Restrições** — prazo, orçamento, técnicas, compliance
29
+ - **Fora do Escopo (v1)** — lista explícita
30
+ - **Riscos e Mitigações** — tabela com probabilidade, impacto e mitigação concreta
31
+ - **Checklist de Aprovação** — checkboxes para revisão humana
32
+
33
+ 4. **Qualidade:** O DESIGN.md deve responder claramente: O QUÊ, POR QUÊ, PARA QUEM, O QUE NÃO e QUAIS RISCOS. Use "[A definir]" para informações não disponíveis, mas nunca omita seções.
34
+
35
+ 5. **Salve** `DARE/DESIGN.md` e informe: _"DESIGN.md gerado. Revise as seções, especialmente os Requisitos de Segurança (RS-*) e Riscos. Quando aprovado, execute `/generate-blueprint`."_
@@ -1,28 +1,28 @@
1
- # Comando: /dare-discover
2
-
3
- Detecta a stack de um projeto já existente (brownfield) e instala os arquivos da metodologia DARE — incluindo os comandos/skills de IDE — sem tocar no código.
4
-
5
- > Este comando expõe o CLI `dare discover` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
-
7
- ## Quando usar
8
-
9
- - O usuário quer adotar o DARE em um repositório que **já existe**.
10
- - Para entender/documentar o legado em profundidade depois, encadeie com `/dare-reverse` e `/dare-dna`.
11
-
12
- ## Como rodar
13
-
14
- ```bash
15
- dare discover
16
- dare discover --dir ./caminho/do/projeto
17
- dare discover --check # só mostra a detecção, sem instalar nada
18
- ```
19
-
20
- ## O que fazer
21
-
22
- 1. Rode `dare discover --check` primeiro para revisar a stack detectada.
23
- 2. Se a detecção estiver correta, rode `dare discover` para instalar os artefatos DARE + comandos de IDE.
24
- 3. Próximo passo: `/dare-reverse` (Fase 0 — coleta) e `/dare-dna` (convenções).
25
-
26
- ## Comandos relacionados
27
-
28
- `/dare-reverse` · `/dare-dna` · `/dare-migrate`
1
+ # Comando: /dare-discover
2
+
3
+ Detecta a stack de um projeto já existente (brownfield) e instala os arquivos da metodologia DARE — incluindo os comandos/skills de IDE — sem tocar no código.
4
+
5
+ > Este comando expõe o CLI `dare discover` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
+
7
+ ## Quando usar
8
+
9
+ - O usuário quer adotar o DARE em um repositório que **já existe**.
10
+ - Para entender/documentar o legado em profundidade depois, encadeie com `/dare-reverse` e `/dare-dna`.
11
+
12
+ ## Como rodar
13
+
14
+ ```bash
15
+ dare discover
16
+ dare discover --dir ./caminho/do/projeto
17
+ dare discover --check # só mostra a detecção, sem instalar nada
18
+ ```
19
+
20
+ ## O que fazer
21
+
22
+ 1. Rode `dare discover --check` primeiro para revisar a stack detectada.
23
+ 2. Se a detecção estiver correta, rode `dare discover` para instalar os artefatos DARE + comandos de IDE.
24
+ 3. Próximo passo: `/dare-reverse` (Fase 0 — coleta) e `/dare-dna` (convenções).
25
+
26
+ ## Comandos relacionados
27
+
28
+ `/dare-reverse` · `/dare-dna` · `/dare-migrate`
@@ -1,75 +1,75 @@
1
- # Comando: /dare-dna
2
-
3
- Camada semântica da extração de DNA do projeto. Roda **depois** do comando `dare dna`, que já varreu
4
- o código e extraiu os fatos de convenção. Sua função é **transformar fatos em regras acionáveis** —
5
- o "como esse codebase faz as coisas" que uma nova feature deve respeitar.
6
-
7
- ## Como usar
8
-
9
- ```
10
- /dare-dna # preenche o PROJECT-DNA.md gerado por `dare dna`
11
- ```
12
-
13
- > Pré-requisito: rodar `dare dna` antes (gera `DARE/PROJECT-DNA.md` e `DARE/dna-facts.json`).
14
- > Se não existirem, instrua o usuário a rodar `dare dna` primeiro.
15
-
16
- ## Quando usar
17
-
18
- - Projeto **legado** que vai adotar o DARE para novas features, sem reescrever o existente.
19
- - Acabou de rodar `dare dna` e o `PROJECT-DNA.md` tem seções `<!-- AGENT -->` em aberto.
20
- - O objetivo é um **ruleset** que faça o agente seguir o padrão da casa, não o default genérico.
21
-
22
- ## O que fazer
23
-
24
- ### 1. Carregar os fatos (não re-varrer tudo)
25
-
26
- - Leia `DARE/dna-facts.json` — fonte determinística (tooling, naming, camadas, testes, libs, commits).
27
- - Abra **2-5 arquivos representativos por camada** (um controller, um service, um model, um teste) para
28
- inferir os padrões que o CLI não detecta (tratamento de erro, validação, estilo de teste).
29
-
30
- ### 2. Preencher `DARE/PROJECT-DNA.md`
31
-
32
- Substitua cada bloco `<!-- AGENT: ... -->`:
33
-
34
- - **Convenções de Nomenclatura** — confirme o estilo detectado e documente exceções (ex.: componentes
35
- em PascalCase, utilitários em kebab).
36
- - **Arquitetura & Camadas** — nomeie o padrão com confiança (MVC / Layered / Hexagonal) e escreva as
37
- **regras de onde cada coisa mora** (ex.: "controllers só orquestram; regra de negócio vai em services;
38
- acesso a dados só em repositories").
39
- - **Padrões de Teste** — onde os testes ficam, naming, assertions reais (não `expect(true)`), uso de
40
- mocks/fixtures.
41
- - **Tratamento de Erros & Validação** — como o projeto trata erros (exceptions, Result/Either, try/catch)
42
- e valida inputs. Dê **exemplos concretos** do código real.
43
- - **Regras de Ouro do Projeto** — liste o que **SEMPRE** e o que **NUNCA** fazer neste codebase.
44
- - **⚠️ Incertezas / Inconsistências** — convenções ambíguas/misturadas que o humano precisa decidir.
45
-
46
- **Não toque** nos fatos determinísticos já preenchidos pelo CLI (tooling, tabela de naming, libs).
47
-
48
- ### 3. Apresentar ao usuário
49
-
50
- Resumo: arquitetura nomeada, principais regras de ouro, inconsistências encontradas. Reforce que o
51
- `PROJECT-DNA.md` vira referência para `/dare-feature-design` e `/dare-execute` respeitarem o legado.
52
-
53
- ## Regras de ouro
54
-
55
- 1. **Descritivo, não aspiracional** — documente como o código É, não como deveria ser.
56
- 2. **Exemplos reais** — cite arquivos/trechos do próprio projeto nas regras.
57
- 3. **Sinalize inconsistência** — se o legado mistura padrões, diga isso em "⚠️ Incertezas", não invente um padrão único.
58
- 4. **Não re-varra** — os fatos já estão em `dna-facts.json`.
59
- 5. **Preserve o determinístico** — não reescreva tooling/naming/libs gerados pelo CLI.
60
-
61
- ## Antipatterns
62
-
63
- | AP | Antipattern | Por quê |
64
- |---|---|---|
65
- | AP-01 | Documentar o padrão "ideal" em vez do real | O agente vai gerar código fora do estilo do legado |
66
- | AP-02 | Forçar um padrão único onde o legado é inconsistente | Esconde a realidade; melhor sinalizar a incerteza |
67
- | AP-03 | Reescrever os fatos determinísticos do CLI | Quebra a fonte de verdade |
68
- | AP-04 | Regras vagas ("siga boas práticas") | Inúteis — o valor está na regra específica do projeto |
69
- | AP-05 | Ignorar os testes existentes ao descrever o estilo de teste | Nova feature nasce inconsistente |
70
-
71
- $ARGUMENTS
72
-
73
- ---
74
-
75
- Skill MIT — parte do DARE Method. DNA do projeto (brownfield). Pareia com o comando `dare dna`.
1
+ # Comando: /dare-dna
2
+
3
+ Camada semântica da extração de DNA do projeto. Roda **depois** do comando `dare dna`, que já varreu
4
+ o código e extraiu os fatos de convenção. Sua função é **transformar fatos em regras acionáveis** —
5
+ o "como esse codebase faz as coisas" que uma nova feature deve respeitar.
6
+
7
+ ## Como usar
8
+
9
+ ```
10
+ /dare-dna # preenche o PROJECT-DNA.md gerado por `dare dna`
11
+ ```
12
+
13
+ > Pré-requisito: rodar `dare dna` antes (gera `DARE/PROJECT-DNA.md` e `DARE/dna-facts.json`).
14
+ > Se não existirem, instrua o usuário a rodar `dare dna` primeiro.
15
+
16
+ ## Quando usar
17
+
18
+ - Projeto **legado** que vai adotar o DARE para novas features, sem reescrever o existente.
19
+ - Acabou de rodar `dare dna` e o `PROJECT-DNA.md` tem seções `<!-- AGENT -->` em aberto.
20
+ - O objetivo é um **ruleset** que faça o agente seguir o padrão da casa, não o default genérico.
21
+
22
+ ## O que fazer
23
+
24
+ ### 1. Carregar os fatos (não re-varrer tudo)
25
+
26
+ - Leia `DARE/dna-facts.json` — fonte determinística (tooling, naming, camadas, testes, libs, commits).
27
+ - Abra **2-5 arquivos representativos por camada** (um controller, um service, um model, um teste) para
28
+ inferir os padrões que o CLI não detecta (tratamento de erro, validação, estilo de teste).
29
+
30
+ ### 2. Preencher `DARE/PROJECT-DNA.md`
31
+
32
+ Substitua cada bloco `<!-- AGENT: ... -->`:
33
+
34
+ - **Convenções de Nomenclatura** — confirme o estilo detectado e documente exceções (ex.: componentes
35
+ em PascalCase, utilitários em kebab).
36
+ - **Arquitetura & Camadas** — nomeie o padrão com confiança (MVC / Layered / Hexagonal) e escreva as
37
+ **regras de onde cada coisa mora** (ex.: "controllers só orquestram; regra de negócio vai em services;
38
+ acesso a dados só em repositories").
39
+ - **Padrões de Teste** — onde os testes ficam, naming, assertions reais (não `expect(true)`), uso de
40
+ mocks/fixtures.
41
+ - **Tratamento de Erros & Validação** — como o projeto trata erros (exceptions, Result/Either, try/catch)
42
+ e valida inputs. Dê **exemplos concretos** do código real.
43
+ - **Regras de Ouro do Projeto** — liste o que **SEMPRE** e o que **NUNCA** fazer neste codebase.
44
+ - **⚠️ Incertezas / Inconsistências** — convenções ambíguas/misturadas que o humano precisa decidir.
45
+
46
+ **Não toque** nos fatos determinísticos já preenchidos pelo CLI (tooling, tabela de naming, libs).
47
+
48
+ ### 3. Apresentar ao usuário
49
+
50
+ Resumo: arquitetura nomeada, principais regras de ouro, inconsistências encontradas. Reforce que o
51
+ `PROJECT-DNA.md` vira referência para `/dare-feature-design` e `/dare-execute` respeitarem o legado.
52
+
53
+ ## Regras de ouro
54
+
55
+ 1. **Descritivo, não aspiracional** — documente como o código É, não como deveria ser.
56
+ 2. **Exemplos reais** — cite arquivos/trechos do próprio projeto nas regras.
57
+ 3. **Sinalize inconsistência** — se o legado mistura padrões, diga isso em "⚠️ Incertezas", não invente um padrão único.
58
+ 4. **Não re-varra** — os fatos já estão em `dna-facts.json`.
59
+ 5. **Preserve o determinístico** — não reescreva tooling/naming/libs gerados pelo CLI.
60
+
61
+ ## Antipatterns
62
+
63
+ | AP | Antipattern | Por quê |
64
+ |---|---|---|
65
+ | AP-01 | Documentar o padrão "ideal" em vez do real | O agente vai gerar código fora do estilo do legado |
66
+ | AP-02 | Forçar um padrão único onde o legado é inconsistente | Esconde a realidade; melhor sinalizar a incerteza |
67
+ | AP-03 | Reescrever os fatos determinísticos do CLI | Quebra a fonte de verdade |
68
+ | AP-04 | Regras vagas ("siga boas práticas") | Inúteis — o valor está na regra específica do projeto |
69
+ | AP-05 | Ignorar os testes existentes ao descrever o estilo de teste | Nova feature nasce inconsistente |
70
+
71
+ $ARGUMENTS
72
+
73
+ ---
74
+
75
+ Skill MIT — parte do DARE Method. DNA do projeto (brownfield). Pareia com o comando `dare dna`.