@dewtech/dare-cli 3.1.0 → 3.3.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 (345) hide show
  1. package/README.md +5 -1
  2. package/dist/__tests__/dag-runner/ralph-loop.test.js +107 -45
  3. package/dist/__tests__/dag-runner/ralph-loop.test.js.map +1 -1
  4. package/dist/__tests__/dag-runner/state-store.test.d.ts +2 -0
  5. package/dist/__tests__/dag-runner/state-store.test.d.ts.map +1 -0
  6. package/dist/__tests__/dag-runner/state-store.test.js +74 -0
  7. package/dist/__tests__/dag-runner/state-store.test.js.map +1 -0
  8. package/dist/__tests__/ensure-skills.test.d.ts +2 -0
  9. package/dist/__tests__/ensure-skills.test.d.ts.map +1 -0
  10. package/dist/__tests__/ensure-skills.test.js +67 -0
  11. package/dist/__tests__/ensure-skills.test.js.map +1 -0
  12. package/dist/__tests__/ide-command-parity.test.d.ts +2 -0
  13. package/dist/__tests__/ide-command-parity.test.d.ts.map +1 -0
  14. package/dist/__tests__/ide-command-parity.test.js +59 -0
  15. package/dist/__tests__/ide-command-parity.test.js.map +1 -0
  16. package/dist/__tests__/project-generator.test.d.ts +2 -0
  17. package/dist/__tests__/project-generator.test.d.ts.map +1 -0
  18. package/dist/__tests__/project-generator.test.js +56 -0
  19. package/dist/__tests__/project-generator.test.js.map +1 -0
  20. package/dist/__tests__/reverse-collection.test.d.ts +2 -0
  21. package/dist/__tests__/reverse-collection.test.d.ts.map +1 -0
  22. package/dist/__tests__/reverse-collection.test.js +87 -0
  23. package/dist/__tests__/reverse-collection.test.js.map +1 -0
  24. package/dist/bin/dare.js +2 -0
  25. package/dist/bin/dare.js.map +1 -1
  26. package/dist/commands/__tests__/bench.spec.d.ts +2 -0
  27. package/dist/commands/__tests__/bench.spec.d.ts.map +1 -0
  28. package/dist/commands/__tests__/bench.spec.js +106 -0
  29. package/dist/commands/__tests__/bench.spec.js.map +1 -0
  30. package/dist/commands/__tests__/execute.best-of.spec.d.ts +2 -0
  31. package/dist/commands/__tests__/execute.best-of.spec.d.ts.map +1 -0
  32. package/dist/commands/__tests__/execute.best-of.spec.js +24 -0
  33. package/dist/commands/__tests__/execute.best-of.spec.js.map +1 -0
  34. package/dist/commands/__tests__/execute.telemetry.spec.d.ts +2 -0
  35. package/dist/commands/__tests__/execute.telemetry.spec.d.ts.map +1 -0
  36. package/dist/commands/__tests__/execute.telemetry.spec.js +93 -0
  37. package/dist/commands/__tests__/execute.telemetry.spec.js.map +1 -0
  38. package/dist/commands/__tests__/execute.verify.spec.d.ts +2 -0
  39. package/dist/commands/__tests__/execute.verify.spec.d.ts.map +1 -0
  40. package/dist/commands/__tests__/execute.verify.spec.js +150 -0
  41. package/dist/commands/__tests__/execute.verify.spec.js.map +1 -0
  42. package/dist/commands/bench.d.ts +10 -0
  43. package/dist/commands/bench.d.ts.map +1 -0
  44. package/dist/commands/bench.js +64 -0
  45. package/dist/commands/bench.js.map +1 -0
  46. package/dist/commands/dna.d.ts.map +1 -1
  47. package/dist/commands/dna.js +4 -0
  48. package/dist/commands/dna.js.map +1 -1
  49. package/dist/commands/execute-verification.d.ts +51 -0
  50. package/dist/commands/execute-verification.d.ts.map +1 -0
  51. package/dist/commands/execute-verification.js +201 -0
  52. package/dist/commands/execute-verification.js.map +1 -0
  53. package/dist/commands/execute.d.ts.map +1 -1
  54. package/dist/commands/execute.js +139 -2
  55. package/dist/commands/execute.js.map +1 -1
  56. package/dist/commands/migrate.d.ts.map +1 -1
  57. package/dist/commands/migrate.js +4 -0
  58. package/dist/commands/migrate.js.map +1 -1
  59. package/dist/commands/reverse.d.ts.map +1 -1
  60. package/dist/commands/reverse.js +27 -8
  61. package/dist/commands/reverse.js.map +1 -1
  62. package/dist/dag-runner/ralph-loop.d.ts +9 -9
  63. package/dist/dag-runner/ralph-loop.d.ts.map +1 -1
  64. package/dist/dag-runner/ralph-loop.js +89 -113
  65. package/dist/dag-runner/ralph-loop.js.map +1 -1
  66. package/dist/dag-runner/state-store.d.ts +14 -1
  67. package/dist/dag-runner/state-store.d.ts.map +1 -1
  68. package/dist/dag-runner/state-store.js +39 -8
  69. package/dist/dag-runner/state-store.js.map +1 -1
  70. package/dist/exec/npm-invoke.d.ts +8 -0
  71. package/dist/exec/npm-invoke.d.ts.map +1 -0
  72. package/dist/exec/npm-invoke.js +45 -0
  73. package/dist/exec/npm-invoke.js.map +1 -0
  74. package/dist/exec/safe-spawn.d.ts +21 -0
  75. package/dist/exec/safe-spawn.d.ts.map +1 -0
  76. package/dist/exec/safe-spawn.js +108 -0
  77. package/dist/exec/safe-spawn.js.map +1 -0
  78. package/dist/graphrag/types.d.ts +2 -2
  79. package/dist/graphrag/types.d.ts.map +1 -1
  80. package/dist/stacks/dna-emitter.d.ts.map +1 -1
  81. package/dist/stacks/dna-emitter.js +1 -10
  82. package/dist/stacks/dna-emitter.js.map +1 -1
  83. package/dist/utils/UpdateApplier.d.ts.map +1 -1
  84. package/dist/utils/UpdateApplier.js +8 -0
  85. package/dist/utils/UpdateApplier.js.map +1 -1
  86. package/dist/utils/datamodel.d.ts.map +1 -1
  87. package/dist/utils/datamodel.js +97 -20
  88. package/dist/utils/datamodel.js.map +1 -1
  89. package/dist/utils/logger.d.ts +7 -0
  90. package/dist/utils/logger.d.ts.map +1 -0
  91. package/dist/utils/logger.js +23 -0
  92. package/dist/utils/logger.js.map +1 -0
  93. package/dist/utils/path-safety.d.ts +22 -0
  94. package/dist/utils/path-safety.d.ts.map +1 -0
  95. package/dist/utils/path-safety.js +83 -0
  96. package/dist/utils/path-safety.js.map +1 -0
  97. package/dist/utils/project-generator.d.ts +21 -0
  98. package/dist/utils/project-generator.d.ts.map +1 -1
  99. package/dist/utils/project-generator.js +71 -0
  100. package/dist/utils/project-generator.js.map +1 -1
  101. package/dist/utils/reverse-facts.d.ts +3 -2
  102. package/dist/utils/reverse-facts.d.ts.map +1 -1
  103. package/dist/utils/reverse-facts.js +89 -8
  104. package/dist/utils/reverse-facts.js.map +1 -1
  105. package/dist/utils/stack-bootstrap.js +2 -2
  106. package/dist/utils/stack-bootstrap.js.map +1 -1
  107. package/dist/verification/__tests__/anti-tamper.test.d.ts +2 -0
  108. package/dist/verification/__tests__/anti-tamper.test.d.ts.map +1 -0
  109. package/dist/verification/__tests__/anti-tamper.test.js +73 -0
  110. package/dist/verification/__tests__/anti-tamper.test.js.map +1 -0
  111. package/dist/verification/__tests__/bench-fixtures.test.d.ts +2 -0
  112. package/dist/verification/__tests__/bench-fixtures.test.d.ts.map +1 -0
  113. package/dist/verification/__tests__/bench-fixtures.test.js +35 -0
  114. package/dist/verification/__tests__/bench-fixtures.test.js.map +1 -0
  115. package/dist/verification/__tests__/bench-harness.test.d.ts +2 -0
  116. package/dist/verification/__tests__/bench-harness.test.d.ts.map +1 -0
  117. package/dist/verification/__tests__/bench-harness.test.js +75 -0
  118. package/dist/verification/__tests__/bench-harness.test.js.map +1 -0
  119. package/dist/verification/__tests__/bench-report.test.d.ts +2 -0
  120. package/dist/verification/__tests__/bench-report.test.d.ts.map +1 -0
  121. package/dist/verification/__tests__/bench-report.test.js +73 -0
  122. package/dist/verification/__tests__/bench-report.test.js.map +1 -0
  123. package/dist/verification/__tests__/best-of-n-runner.test.d.ts +2 -0
  124. package/dist/verification/__tests__/best-of-n-runner.test.d.ts.map +1 -0
  125. package/dist/verification/__tests__/best-of-n-runner.test.js +94 -0
  126. package/dist/verification/__tests__/best-of-n-runner.test.js.map +1 -0
  127. package/dist/verification/__tests__/config.test.d.ts +2 -0
  128. package/dist/verification/__tests__/config.test.d.ts.map +1 -0
  129. package/dist/verification/__tests__/config.test.js +50 -0
  130. package/dist/verification/__tests__/config.test.js.map +1 -0
  131. package/dist/verification/__tests__/decay-policy.test.d.ts +2 -0
  132. package/dist/verification/__tests__/decay-policy.test.d.ts.map +1 -0
  133. package/dist/verification/__tests__/decay-policy.test.js +130 -0
  134. package/dist/verification/__tests__/decay-policy.test.js.map +1 -0
  135. package/dist/verification/__tests__/fail-to-pass.test.d.ts +2 -0
  136. package/dist/verification/__tests__/fail-to-pass.test.d.ts.map +1 -0
  137. package/dist/verification/__tests__/fail-to-pass.test.js +107 -0
  138. package/dist/verification/__tests__/fail-to-pass.test.js.map +1 -0
  139. package/dist/verification/__tests__/failure-signature.test.d.ts +2 -0
  140. package/dist/verification/__tests__/failure-signature.test.d.ts.map +1 -0
  141. package/dist/verification/__tests__/failure-signature.test.js +40 -0
  142. package/dist/verification/__tests__/failure-signature.test.js.map +1 -0
  143. package/dist/verification/__tests__/logger.test.d.ts +2 -0
  144. package/dist/verification/__tests__/logger.test.d.ts.map +1 -0
  145. package/dist/verification/__tests__/logger.test.js +23 -0
  146. package/dist/verification/__tests__/logger.test.js.map +1 -0
  147. package/dist/verification/__tests__/mutation-cargo-mutants.test.d.ts +2 -0
  148. package/dist/verification/__tests__/mutation-cargo-mutants.test.d.ts.map +1 -0
  149. package/dist/verification/__tests__/mutation-cargo-mutants.test.js +96 -0
  150. package/dist/verification/__tests__/mutation-cargo-mutants.test.js.map +1 -0
  151. package/dist/verification/__tests__/mutation-infection.test.d.ts +2 -0
  152. package/dist/verification/__tests__/mutation-infection.test.d.ts.map +1 -0
  153. package/dist/verification/__tests__/mutation-infection.test.js +101 -0
  154. package/dist/verification/__tests__/mutation-infection.test.js.map +1 -0
  155. package/dist/verification/__tests__/mutation-mutmut.test.d.ts +2 -0
  156. package/dist/verification/__tests__/mutation-mutmut.test.d.ts.map +1 -0
  157. package/dist/verification/__tests__/mutation-mutmut.test.js +102 -0
  158. package/dist/verification/__tests__/mutation-mutmut.test.js.map +1 -0
  159. package/dist/verification/__tests__/mutation-registry.test.d.ts +2 -0
  160. package/dist/verification/__tests__/mutation-registry.test.d.ts.map +1 -0
  161. package/dist/verification/__tests__/mutation-registry.test.js +28 -0
  162. package/dist/verification/__tests__/mutation-registry.test.js.map +1 -0
  163. package/dist/verification/__tests__/mutation-stryker.test.d.ts +2 -0
  164. package/dist/verification/__tests__/mutation-stryker.test.d.ts.map +1 -0
  165. package/dist/verification/__tests__/mutation-stryker.test.js +88 -0
  166. package/dist/verification/__tests__/mutation-stryker.test.js.map +1 -0
  167. package/dist/verification/__tests__/no-shell-true.test.d.ts +2 -0
  168. package/dist/verification/__tests__/no-shell-true.test.d.ts.map +1 -0
  169. package/dist/verification/__tests__/no-shell-true.test.js +43 -0
  170. package/dist/verification/__tests__/no-shell-true.test.js.map +1 -0
  171. package/dist/verification/__tests__/path-safety.test.d.ts +2 -0
  172. package/dist/verification/__tests__/path-safety.test.d.ts.map +1 -0
  173. package/dist/verification/__tests__/path-safety.test.js +59 -0
  174. package/dist/verification/__tests__/path-safety.test.js.map +1 -0
  175. package/dist/verification/__tests__/prerank.test.d.ts +2 -0
  176. package/dist/verification/__tests__/prerank.test.d.ts.map +1 -0
  177. package/dist/verification/__tests__/prerank.test.js +44 -0
  178. package/dist/verification/__tests__/prerank.test.js.map +1 -0
  179. package/dist/verification/__tests__/runner.test.d.ts +2 -0
  180. package/dist/verification/__tests__/runner.test.d.ts.map +1 -0
  181. package/dist/verification/__tests__/runner.test.js +200 -0
  182. package/dist/verification/__tests__/runner.test.js.map +1 -0
  183. package/dist/verification/__tests__/safe-spawn.test.d.ts +2 -0
  184. package/dist/verification/__tests__/safe-spawn.test.d.ts.map +1 -0
  185. package/dist/verification/__tests__/safe-spawn.test.js +36 -0
  186. package/dist/verification/__tests__/safe-spawn.test.js.map +1 -0
  187. package/dist/verification/__tests__/security.test.d.ts +2 -0
  188. package/dist/verification/__tests__/security.test.d.ts.map +1 -0
  189. package/dist/verification/__tests__/security.test.js +79 -0
  190. package/dist/verification/__tests__/security.test.js.map +1 -0
  191. package/dist/verification/__tests__/selector-pareto.test.d.ts +2 -0
  192. package/dist/verification/__tests__/selector-pareto.test.d.ts.map +1 -0
  193. package/dist/verification/__tests__/selector-pareto.test.js +77 -0
  194. package/dist/verification/__tests__/selector-pareto.test.js.map +1 -0
  195. package/dist/verification/__tests__/telemetry.test.d.ts +2 -0
  196. package/dist/verification/__tests__/telemetry.test.d.ts.map +1 -0
  197. package/dist/verification/__tests__/telemetry.test.js +116 -0
  198. package/dist/verification/__tests__/telemetry.test.js.map +1 -0
  199. package/dist/verification/__tests__/type-check.test.d.ts +2 -0
  200. package/dist/verification/__tests__/type-check.test.d.ts.map +1 -0
  201. package/dist/verification/__tests__/type-check.test.js +52 -0
  202. package/dist/verification/__tests__/type-check.test.js.map +1 -0
  203. package/dist/verification/__tests__/worktree.test.d.ts +2 -0
  204. package/dist/verification/__tests__/worktree.test.d.ts.map +1 -0
  205. package/dist/verification/__tests__/worktree.test.js +41 -0
  206. package/dist/verification/__tests__/worktree.test.js.map +1 -0
  207. package/dist/verification/bench/fixtures.d.ts +11 -0
  208. package/dist/verification/bench/fixtures.d.ts.map +1 -0
  209. package/dist/verification/bench/fixtures.js +66 -0
  210. package/dist/verification/bench/fixtures.js.map +1 -0
  211. package/dist/verification/bench/harness.d.ts +19 -0
  212. package/dist/verification/bench/harness.d.ts.map +1 -0
  213. package/dist/verification/bench/harness.js +138 -0
  214. package/dist/verification/bench/harness.js.map +1 -0
  215. package/dist/verification/bench/report.d.ts +53 -0
  216. package/dist/verification/bench/report.d.ts.map +1 -0
  217. package/dist/verification/bench/report.js +47 -0
  218. package/dist/verification/bench/report.js.map +1 -0
  219. package/dist/verification/best-of-n/runner.d.ts +29 -0
  220. package/dist/verification/best-of-n/runner.d.ts.map +1 -0
  221. package/dist/verification/best-of-n/runner.js +76 -0
  222. package/dist/verification/best-of-n/runner.js.map +1 -0
  223. package/dist/verification/best-of-n/selector/pareto.d.ts +10 -0
  224. package/dist/verification/best-of-n/selector/pareto.d.ts.map +1 -0
  225. package/dist/verification/best-of-n/selector/pareto.js +65 -0
  226. package/dist/verification/best-of-n/selector/pareto.js.map +1 -0
  227. package/dist/verification/best-of-n/selector/prerank.d.ts +23 -0
  228. package/dist/verification/best-of-n/selector/prerank.d.ts.map +1 -0
  229. package/dist/verification/best-of-n/selector/prerank.js +32 -0
  230. package/dist/verification/best-of-n/selector/prerank.js.map +1 -0
  231. package/dist/verification/best-of-n/worktree.d.ts +9 -0
  232. package/dist/verification/best-of-n/worktree.d.ts.map +1 -0
  233. package/dist/verification/best-of-n/worktree.js +100 -0
  234. package/dist/verification/best-of-n/worktree.js.map +1 -0
  235. package/dist/verification/config.d.ts +24 -0
  236. package/dist/verification/config.d.ts.map +1 -0
  237. package/dist/verification/config.js +168 -0
  238. package/dist/verification/config.js.map +1 -0
  239. package/dist/verification/decay/policy.d.ts +16 -0
  240. package/dist/verification/decay/policy.d.ts.map +1 -0
  241. package/dist/verification/decay/policy.js +64 -0
  242. package/dist/verification/decay/policy.js.map +1 -0
  243. package/dist/verification/decay/signature.d.ts +6 -0
  244. package/dist/verification/decay/signature.d.ts.map +1 -0
  245. package/dist/verification/decay/signature.js +18 -0
  246. package/dist/verification/decay/signature.js.map +1 -0
  247. package/dist/verification/gates/anti-tamper.d.ts +16 -0
  248. package/dist/verification/gates/anti-tamper.d.ts.map +1 -0
  249. package/dist/verification/gates/anti-tamper.js +142 -0
  250. package/dist/verification/gates/anti-tamper.js.map +1 -0
  251. package/dist/verification/gates/fail-to-pass.d.ts +39 -0
  252. package/dist/verification/gates/fail-to-pass.d.ts.map +1 -0
  253. package/dist/verification/gates/fail-to-pass.js +173 -0
  254. package/dist/verification/gates/fail-to-pass.js.map +1 -0
  255. package/dist/verification/gates/mutation/adapter.d.ts +34 -0
  256. package/dist/verification/gates/mutation/adapter.d.ts.map +1 -0
  257. package/dist/verification/gates/mutation/adapter.js +22 -0
  258. package/dist/verification/gates/mutation/adapter.js.map +1 -0
  259. package/dist/verification/gates/mutation/cargo-mutants.d.ts +28 -0
  260. package/dist/verification/gates/mutation/cargo-mutants.d.ts.map +1 -0
  261. package/dist/verification/gates/mutation/cargo-mutants.js +170 -0
  262. package/dist/verification/gates/mutation/cargo-mutants.js.map +1 -0
  263. package/dist/verification/gates/mutation/infection.d.ts +28 -0
  264. package/dist/verification/gates/mutation/infection.d.ts.map +1 -0
  265. package/dist/verification/gates/mutation/infection.js +149 -0
  266. package/dist/verification/gates/mutation/infection.js.map +1 -0
  267. package/dist/verification/gates/mutation/mutmut.d.ts +23 -0
  268. package/dist/verification/gates/mutation/mutmut.d.ts.map +1 -0
  269. package/dist/verification/gates/mutation/mutmut.js +148 -0
  270. package/dist/verification/gates/mutation/mutmut.js.map +1 -0
  271. package/dist/verification/gates/mutation/stryker.d.ts +19 -0
  272. package/dist/verification/gates/mutation/stryker.d.ts.map +1 -0
  273. package/dist/verification/gates/mutation/stryker.js +103 -0
  274. package/dist/verification/gates/mutation/stryker.js.map +1 -0
  275. package/dist/verification/gates/type-check.d.ts +11 -0
  276. package/dist/verification/gates/type-check.d.ts.map +1 -0
  277. package/dist/verification/gates/type-check.js +84 -0
  278. package/dist/verification/gates/type-check.js.map +1 -0
  279. package/dist/verification/registry.d.ts +6 -0
  280. package/dist/verification/registry.d.ts.map +1 -0
  281. package/dist/verification/registry.js +49 -0
  282. package/dist/verification/registry.js.map +1 -0
  283. package/dist/verification/runner.d.ts +27 -0
  284. package/dist/verification/runner.d.ts.map +1 -0
  285. package/dist/verification/runner.js +173 -0
  286. package/dist/verification/runner.js.map +1 -0
  287. package/dist/verification/telemetry.d.ts +18 -0
  288. package/dist/verification/telemetry.d.ts.map +1 -0
  289. package/dist/verification/telemetry.js +71 -0
  290. package/dist/verification/telemetry.js.map +1 -0
  291. package/dist/verification/types.d.ts +89 -0
  292. package/dist/verification/types.d.ts.map +1 -0
  293. package/dist/verification/types.js +3 -0
  294. package/dist/verification/types.js.map +1 -0
  295. package/package.json +5 -3
  296. package/templates/UPDATE-MANIFEST.json +20 -0
  297. package/templates/ide/antigravity/.agents/skills/dare-bench/SKILL.md +21 -0
  298. package/templates/ide/antigravity/.agents/skills/dare-bootstrap/SKILL.md +32 -0
  299. package/templates/ide/antigravity/.agents/skills/dare-dag/SKILL.md +32 -0
  300. package/templates/ide/antigravity/.agents/skills/dare-discover/SKILL.md +33 -0
  301. package/templates/ide/antigravity/.agents/skills/dare-graph/SKILL.md +35 -0
  302. package/templates/ide/antigravity/.agents/skills/dare-info/SKILL.md +31 -0
  303. package/templates/ide/antigravity/.agents/skills/dare-init/SKILL.md +35 -0
  304. package/templates/ide/antigravity/.agents/skills/dare-skill/SKILL.md +35 -0
  305. package/templates/ide/antigravity/.agents/skills/dare-update/SKILL.md +33 -0
  306. package/templates/ide/antigravity/.agents/skills/dare-validate/SKILL.md +33 -0
  307. package/templates/ide/antigravity/.agents/skills/dare-welcome/SKILL.md +30 -0
  308. package/templates/ide/claude/.claude/commands/dare-bench.md +18 -0
  309. package/templates/ide/claude/.claude/commands/dare-bootstrap.md +27 -0
  310. package/templates/ide/claude/.claude/commands/dare-dag.md +27 -0
  311. package/templates/ide/claude/.claude/commands/dare-discover.md +28 -0
  312. package/templates/ide/claude/.claude/commands/dare-graph.md +30 -0
  313. package/templates/ide/claude/.claude/commands/dare-info.md +26 -0
  314. package/templates/ide/claude/.claude/commands/dare-init.md +30 -0
  315. package/templates/ide/claude/.claude/commands/dare-skill.md +30 -0
  316. package/templates/ide/claude/.claude/commands/dare-update.md +28 -0
  317. package/templates/ide/claude/.claude/commands/dare-validate.md +28 -0
  318. package/templates/ide/claude/.claude/commands/dare-welcome.md +25 -0
  319. package/templates/ide/cursor/.cursor/commands/dare-bench.md +18 -0
  320. package/templates/ide/cursor/.cursor/commands/{generate-blueprint.md → dare-blueprint.md} +1 -1
  321. package/templates/ide/cursor/.cursor/commands/dare-bootstrap.md +27 -0
  322. package/templates/ide/cursor/.cursor/commands/{run-dag.md → dare-dag-run.md} +1 -1
  323. package/templates/ide/cursor/.cursor/commands/{dag-viz.md → dare-dag-viz.md} +1 -1
  324. package/templates/ide/cursor/.cursor/commands/dare-dag.md +27 -0
  325. package/templates/ide/cursor/.cursor/commands/{generate-design.md → dare-design.md} +1 -1
  326. package/templates/ide/cursor/.cursor/commands/dare-discover.md +28 -0
  327. package/templates/ide/cursor/.cursor/commands/dare-dna.md +75 -0
  328. package/templates/ide/cursor/.cursor/commands/{generate-docker-compose.md → dare-docker-compose.md} +1 -1
  329. package/templates/ide/cursor/.cursor/commands/{generate-dockerfile.md → dare-dockerfile.md} +1 -1
  330. package/templates/ide/cursor/.cursor/commands/{execute-task.md → dare-execute.md} +1 -1
  331. package/templates/ide/cursor/.cursor/commands/dare-graph.md +30 -0
  332. package/templates/ide/cursor/.cursor/commands/dare-info.md +26 -0
  333. package/templates/ide/cursor/.cursor/commands/dare-init.md +30 -0
  334. package/templates/ide/cursor/.cursor/commands/dare-migrate.md +72 -0
  335. package/templates/ide/cursor/.cursor/commands/{refine-task.md → dare-refine.md} +1 -1
  336. package/templates/ide/cursor/.cursor/commands/dare-reverse.md +139 -0
  337. package/templates/ide/cursor/.cursor/commands/{review-task.md → dare-review.md} +1 -1
  338. package/templates/ide/cursor/.cursor/commands/dare-skill.md +30 -0
  339. package/templates/ide/cursor/.cursor/commands/{generate-tasks.md → dare-tasks.md} +1 -1
  340. package/templates/ide/cursor/.cursor/commands/{telemetry-report.md → dare-telemetry.md} +1 -1
  341. package/templates/ide/cursor/.cursor/commands/dare-update.md +28 -0
  342. package/templates/ide/cursor/.cursor/commands/dare-validate.md +28 -0
  343. package/templates/ide/cursor/.cursor/commands/dare-welcome.md +25 -0
  344. /package/templates/ide/cursor/.cursor/commands/{generate-bugfix-design.md → dare-bugfix-design.md} +0 -0
  345. /package/templates/ide/cursor/.cursor/commands/{generate-feature-design.md → dare-feature-design.md} +0 -0
@@ -0,0 +1,89 @@
1
+ export type LoopPolicy = 'decay' | 'fixed';
2
+ export type SaturationAction = 'fresh-start' | 'replan' | 'escalate';
3
+ export type MutationTool = 'stryker' | 'mutmut' | 'cargo-mutants' | 'infection';
4
+ export interface MutationConfig {
5
+ readonly enabled: boolean;
6
+ /** 0..1. Bloqueia DONE se score < minScore. Default 0.70. */
7
+ readonly minScore: number;
8
+ /** Só muta arquivos do git diff da task. Default true (RNF-01). */
9
+ readonly incremental: boolean;
10
+ /** Teto de mutantes por execução. Default 200. */
11
+ readonly maxMutants: number;
12
+ /** Timeout total do gate de mutação, em segundos. Default 900. */
13
+ readonly timeoutSeconds: number;
14
+ }
15
+ export interface LoopConfig {
16
+ readonly policy: LoopPolicy;
17
+ /** Teto duro de tentativas. Veredito ESCALATE ao atingir. Default 5. */
18
+ readonly maxAttempts: number;
19
+ /** Nº de tentativas com a MESMA assinatura → saturado. Default 3 (≤3, idea-3). */
20
+ readonly saturationWindow: number;
21
+ /** Ação ao saturar antes do teto. Default 'fresh-start'. */
22
+ readonly onSaturation: SaturationAction;
23
+ }
24
+ export interface BestOfNConfig {
25
+ readonly default: number;
26
+ readonly max: number;
27
+ /** Orçamento de tokens (null = sem teto no CLI; agente respeita). */
28
+ readonly budgetTokens: number | null;
29
+ }
30
+ export interface VerificationConfig {
31
+ readonly enabled: boolean;
32
+ readonly mutation: MutationConfig;
33
+ readonly failToPass: {
34
+ readonly required: boolean;
35
+ };
36
+ readonly antiTamper: {
37
+ readonly enabled: boolean;
38
+ };
39
+ readonly typeCheck: {
40
+ readonly enabled: boolean;
41
+ };
42
+ readonly loop: LoopConfig;
43
+ readonly bestOfN: BestOfNConfig;
44
+ readonly prerank: {
45
+ readonly enabled: boolean;
46
+ };
47
+ }
48
+ export type Aspect = 'build' | 'test' | 'lint' | 'type' | 'fail-to-pass' | 'anti-tamper' | 'mutation';
49
+ export type Verdict = 'PASS' | 'FAIL' | 'SKIP';
50
+ export interface AspectResult {
51
+ readonly aspect: Aspect;
52
+ readonly verdict: Verdict;
53
+ readonly score?: number;
54
+ readonly reason: string;
55
+ readonly durationMs: number;
56
+ }
57
+ export interface VerificationResult {
58
+ readonly taskId: string;
59
+ readonly passed: boolean;
60
+ readonly aspects: ReadonlyArray<AspectResult>;
61
+ readonly mutationScore?: number;
62
+ readonly durationMs: number;
63
+ }
64
+ export type LoopAction = 'CONTINUE' | 'FRESH_START' | 'REPLAN' | 'ESCALATE' | 'DONE';
65
+ export interface AttemptRecord {
66
+ readonly n: number;
67
+ readonly at: string;
68
+ readonly passed: boolean;
69
+ readonly failureSignature?: string;
70
+ readonly failedAspect?: Aspect;
71
+ }
72
+ export interface LoopVerdict {
73
+ readonly action: LoopAction;
74
+ readonly attempt: number;
75
+ readonly saturated: boolean;
76
+ readonly reason: string;
77
+ readonly failureSignature?: string;
78
+ }
79
+ export interface CandidateWorktree {
80
+ readonly id: string;
81
+ readonly path: string;
82
+ readonly branch: string;
83
+ }
84
+ export interface Candidate {
85
+ readonly id: string;
86
+ readonly worktree: CandidateWorktree;
87
+ readonly verification: VerificationResult;
88
+ }
89
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/verification/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /* ── Config (validada por zod em config.ts) ─────────────────────────── */
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/verification/types.ts"],"names":[],"mappings":"AAAA,2EAA2E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dewtech/dare-cli",
3
- "version": "3.1.0",
3
+ "version": "3.3.0",
4
4
  "description": "DARE Framework - CLI, GraphRAG engine, MCP server and shared types in a single package",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "build": "tsx scripts/sync-implementations.ts && tsc && node -e \"require('fs-extra').copySync('src/skills/registry-mock.json','dist/skills/registry-mock.json')\"",
25
25
  "dev": "tsx watch src/bin/dare.ts",
26
26
  "test": "vitest run",
27
- "lint": "eslint src --ext .ts",
27
+ "lint": "eslint src",
28
28
  "format": "prettier --write src"
29
29
  },
30
30
  "dependencies": {
@@ -44,9 +44,11 @@
44
44
  "pino": "^8.16.0",
45
45
  "pino-pretty": "^10.2.0",
46
46
  "sql.js": "^1.11.0",
47
- "yaml": "^2.3.1"
47
+ "yaml": "^2.3.1",
48
+ "zod": "^3.23.8"
48
49
  },
49
50
  "devDependencies": {
51
+ "@stryker-mutator/core": "8.7.1",
50
52
  "@types/cors": "^2.8.13",
51
53
  "@types/express": "^4.17.0",
52
54
  "@types/figlet": "^1.5.8",
@@ -43,6 +43,26 @@
43
43
  "optional": false
44
44
  }
45
45
  ]
46
+ },
47
+ "3.3.0": {
48
+ "releasedAt": "2026-06-07",
49
+ "summary": "Reliable Verification Core — mutation, fail-to-pass, decay, best-of-N",
50
+ "changelog": "Adiciona bloco `verification` em dare.config.json (opt-in, enabled:false por padrão) com defaults para mutation, fail-to-pass, anti-tamper, type-check, loop decay, best-of-N e prerank. Projetos existentes recebem o bloco via migration `add-verification-defaults`.",
51
+ "changes": [
52
+ {
53
+ "type": "added",
54
+ "path": "dare.config.json#verification",
55
+ "description": "Adiciona objeto `verification` (enabled:false + defaults) — gate opt-in pós-Ralph Loop",
56
+ "appliesTo": ["*"]
57
+ }
58
+ ],
59
+ "migrations": [
60
+ {
61
+ "id": "add-verification-defaults",
62
+ "description": "Adiciona `verification` com defaults (enabled:false) em projetos pré-3.3 — opt-in, não ativa verificação automaticamente",
63
+ "optional": false
64
+ }
65
+ ]
46
66
  }
47
67
  }
48
68
  }
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: dare-bench
3
+ description: Roda o harness determinístico de fixtures de verificação (Fix·Rate, solve-rate, baseline). Mapeia o CLI `dare bench`.
4
+ ---
5
+
6
+ # DARE Bench — harness de verificação
7
+
8
+ Roda fixtures versionadas com patches golden/errados; mede Fix·Rate e solve-rate. Determinístico — sem LLM.
9
+
10
+ ## Como rodar
11
+
12
+ ```bash
13
+ dare bench --suite fixtures/bench --json
14
+ dare bench --suite fixtures/bench --baseline bench-baseline.json --fail-on-regression 3
15
+ ```
16
+
17
+ ## Exit codes
18
+
19
+ - `0` — ok (sem regressão vs baseline)
20
+ - `1` — regressão de solve-rate > limiar
21
+ - `2` — suite inválida
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: dare-bootstrap
3
+ description: Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual. Mapeia o CLI `dare bootstrap`.
4
+ ---
5
+
6
+ # Rodar o scaffold oficial da stack do projeto
7
+
8
+ Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual.
9
+
10
+ > Este comando expõe o CLI `dare bootstrap` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - Logo após `dare init`, para gerar o esqueleto real do framework.
15
+ - Quando `dare.config.json` existe mas os artefatos do framework ainda não foram gerados.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare bootstrap
21
+ dare bootstrap --force # roda mesmo se já houver artefatos (pode sobrescrever)
22
+ ```
23
+
24
+ ## O que fazer
25
+
26
+ 1. Confirme que existe `dare.config.json` com a stack definida.
27
+ 2. Rode `dare bootstrap` (use `--force` apenas se o usuário aceitar sobrescrever arquivos existentes).
28
+ 3. Verifique a saída: arquivos gerados e próximos passos sugeridos pelo CLI.
29
+
30
+ ## Comandos relacionados
31
+
32
+ `/dare-init` · `/dare-design`
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: dare-dag
3
+ description: 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. Mapeia o CLI `dare dag`.
4
+ ---
5
+
6
+ # Inspecionar e visualizar o DAG de tasks
7
+
8
+ 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.
9
+
10
+ > Este comando expõe o CLI `dare dag` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - Você quer ver a ordem de execução, os ranks e o caminho crítico das tasks.
15
+ - Antes de começar a execução, para conferir a topologia do plano.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare dag viz
21
+ dare dag viz --dag DARE/dare-dag.yaml
22
+ ```
23
+
24
+ ## O que fazer
25
+
26
+ 1. Rode `dare dag viz` para renderizar o grafo de tasks.
27
+ 2. Confira ranks e dependências; tasks de mesmo rank podem rodar em paralelo.
28
+ 3. Para validar a integridade do arquivo, use `/dare-validate`. Para executar, `/dare-execute`.
29
+
30
+ ## Comandos relacionados
31
+
32
+ `/dare-validate` · `/dare-execute` · `/dare-graph`
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: dare-discover
3
+ description: 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. Mapeia o CLI `dare discover`.
4
+ ---
5
+
6
+ # Adotar o DARE em um projeto existente
7
+
8
+ 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.
9
+
10
+ > Este comando expõe o CLI `dare discover` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - O usuário quer adotar o DARE em um repositório que **já existe**.
15
+ - Para entender/documentar o legado em profundidade depois, encadeie com `/dare-reverse` e `/dare-dna`.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare discover
21
+ dare discover --dir ./caminho/do/projeto
22
+ dare discover --check # só mostra a detecção, sem instalar nada
23
+ ```
24
+
25
+ ## O que fazer
26
+
27
+ 1. Rode `dare discover --check` primeiro para revisar a stack detectada.
28
+ 2. Se a detecção estiver correta, rode `dare discover` para instalar os artefatos DARE + comandos de IDE.
29
+ 3. Próximo passo: `/dare-reverse` (Fase 0 — coleta) e `/dare-dna` (convenções).
30
+
31
+ ## Comandos relacionados
32
+
33
+ `/dare-reverse` · `/dare-dna` · `/dare-migrate`
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: dare-graph
3
+ description: Consulta e visualiza o grafo de conhecimento do projeto (tasks, arquivos, schemas, endpoints, componentes, entidades e suas relações). Mapeia o CLI `dare graph`.
4
+ ---
5
+
6
+ # Inspecionar o knowledge graph do DARE
7
+
8
+ Consulta e visualiza o grafo de conhecimento do projeto (tasks, arquivos, schemas, endpoints, componentes, entidades e suas relações).
9
+
10
+ > Este comando expõe o CLI `dare graph` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - Você quer entender dependências entre tasks/arquivos/entidades.
15
+ - Precisa achar nós relacionados a um termo, ou exportar um diagrama do grafo.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare graph stats # contagem de nós/arestas por tipo
21
+ dare graph query <termo> --limit 10 # busca nós por label/descrição
22
+ dare graph query auth --type endpoint
23
+ dare graph viz --format mermaid -o graph.mmd
24
+ dare graph ingest # re-sincroniza o grafo do dare-dag.yaml
25
+ ```
26
+
27
+ ## O que fazer
28
+
29
+ 1. Escolha o subcomando conforme a intenção: `stats`, `query <termo>`, `viz`, `ingest`.
30
+ 2. Rode o comando e interprete a saída (para `viz`, abra/renderize o diagrama gerado).
31
+ 3. Se o grafo parecer desatualizado, rode `dare graph ingest` para re-sincronizar.
32
+
33
+ ## Comandos relacionados
34
+
35
+ `/dare-dag` · `/dare-execute`
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: dare-info
3
+ description: Mostra versão do CLI, caminhos relevantes e a integridade da instalação DARE no projeto atual. Mapeia o CLI `dare info`.
4
+ ---
5
+
6
+ # Diagnóstico do setup DARE do projeto
7
+
8
+ Mostra versão do CLI, caminhos relevantes e a integridade da instalação DARE no projeto atual.
9
+
10
+ > Este comando expõe o CLI `dare info` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - Algo parece errado no setup e você quer um diagnóstico rápido.
15
+ - Para confirmar a versão do CLI e os artefatos DARE presentes.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare info
21
+ ```
22
+
23
+ ## O que fazer
24
+
25
+ 1. Rode `dare info`.
26
+ 2. Revise versão, caminhos e a checagem de integridade.
27
+ 3. Se houver artefatos faltando/desatualizados, rode `/dare-update`.
28
+
29
+ ## Comandos relacionados
30
+
31
+ `/dare-update` · `/dare-welcome`
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: dare-init
3
+ description: Cria um projeto DARE do zero (greenfield) com setup interativo: escolhe stack backend/frontend, knowledge graph, IDE e gera o scaffolder completo + DNA DARE. Mapeia o CLI `dare init`.
4
+ ---
5
+
6
+ # Inicializar um novo projeto DARE
7
+
8
+ Cria um projeto DARE do zero (greenfield) com setup interativo: escolhe stack backend/frontend, knowledge graph, IDE e gera o scaffolder completo + DNA DARE.
9
+
10
+ > Este comando expõe o CLI `dare init` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - O usuário quer começar um projeto **novo** do zero.
15
+ - Não existe código ainda — é greenfield. Para projeto legado, use `/dare-discover`.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare init # fluxo interativo completo
21
+ dare init minha-api --stack node-nestjs
22
+ dare init meu-mcp --mcp node-ts --transport http
23
+ dare init api --stack go-gin --toolchain docker --non-interactive
24
+ ```
25
+
26
+ ## O que fazer
27
+
28
+ 1. Rode `dare init` (ou com `--stack`/`--mcp` se o usuário já decidiu a stack).
29
+ 2. Responda aos prompts: nome, stack backend, frontend opcional, knowledge graph (json/sqlite/neo4j), IDE(s).
30
+ 3. Ao final, o projeto tem scaffolder + os 7 artefatos de DNA + comandos/skills de IDE instalados.
31
+ 4. Próximo passo: descreva a ideia com `/dare-design`.
32
+
33
+ ## Comandos relacionados
34
+
35
+ `/dare-design` · `/dare-discover` · `/dare-bootstrap`
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: dare-skill
3
+ description: Adiciona, remove, lista, inspeciona, atualiza ou publica skills DARE neste projeto. Mapeia o CLI `dare skill`.
4
+ ---
5
+
6
+ # Gerenciar skills DARE do projeto
7
+
8
+ Adiciona, remove, lista, inspeciona, atualiza ou publica skills DARE neste projeto.
9
+
10
+ > Este comando expõe o CLI `dare skill` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - Você quer instalar uma skill extra (ex.: uma skill de stack) no projeto.
15
+ - Quer listar/inspecionar as skills disponíveis ou publicar uma própria.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare skill list
21
+ dare skill info <nome>
22
+ dare skill add <nome>
23
+ dare skill remove <nome>
24
+ dare skill update
25
+ ```
26
+
27
+ ## O que fazer
28
+
29
+ 1. Use `dare skill list` para ver o que está instalado/disponível.
30
+ 2. Rode o subcomando desejado (`add`/`remove`/`info`/`update`/`publish`).
31
+ 3. Confirme o resultado e, se mudou comandos de IDE, recarregue a IDE.
32
+
33
+ ## Comandos relacionados
34
+
35
+ `/dare-update` · `/dare-info`
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: dare-update
3
+ description: Sincroniza os artefatos do projeto (comandos de IDE, skills, templates) com a versão instalada do DARE CLI, preservando customizações. Mapeia o CLI `dare update`.
4
+ ---
5
+
6
+ # Atualizar o projeto para a versão atual do CLI
7
+
8
+ Sincroniza os artefatos do projeto (comandos de IDE, skills, templates) com a versão instalada do DARE CLI, preservando customizações.
9
+
10
+ > Este comando expõe o CLI `dare update` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - Depois de atualizar o `@dewtech/dare-cli` para uma versão nova.
15
+ - Quando `dare info` apontar artefatos desatualizados.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare update --dry-run # mostra o que mudaria, sem escrever
21
+ dare update -y # aplica tudo, mantém customizações
22
+ dare update --target 3.2.0
23
+ ```
24
+
25
+ ## O que fazer
26
+
27
+ 1. Rode `dare update --dry-run` e revise o diff proposto.
28
+ 2. Se estiver ok, rode `dare update -y`.
29
+ 3. Evite `--force` salvo se o usuário aceitar sobrescrever arquivos customizados.
30
+
31
+ ## Comandos relacionados
32
+
33
+ `/dare-info` · `/dare-welcome`
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: dare-validate
3
+ description: Valida `DARE/dare-dag.yaml` (ciclos, referências quebradas, campos obrigatórios). Adequado para pre-commit hooks e CI. Mapeia o CLI `dare validate`.
4
+ ---
5
+
6
+ # Validar a integridade do dare-dag.yaml
7
+
8
+ Valida `DARE/dare-dag.yaml` (ciclos, referências quebradas, campos obrigatórios). Adequado para pre-commit hooks e CI.
9
+
10
+ > Este comando expõe o CLI `dare validate` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - Antes de commitar mudanças no DAG.
15
+ - Em CI, como gate de integridade do plano de execução.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare validate
21
+ dare validate --strict # trata warnings como erros (CI-friendly)
22
+ dare validate --dag DARE/dare-dag.yaml
23
+ ```
24
+
25
+ ## O que fazer
26
+
27
+ 1. Rode `dare validate` (use `--strict` em CI).
28
+ 2. Se houver erros, corrija o `dare-dag.yaml` apontado e rode de novo até passar.
29
+ 3. Saída limpa = DAG íntegro e pronto para `/dare-execute`.
30
+
31
+ ## Comandos relacionados
32
+
33
+ `/dare-dag` · `/dare-execute`
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: dare-welcome
3
+ description: Mostra o banner do DARE e um guia de início rápido com o fluxo Design → Architecture → Review → Execute. Mapeia o CLI `dare welcome`.
4
+ ---
5
+
6
+ # Banner de boas-vindas e guia rápido
7
+
8
+ Mostra o banner do DARE e um guia de início rápido com o fluxo Design → Architecture → Review → Execute.
9
+
10
+ > Este comando expõe o CLI `dare welcome` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
11
+
12
+ ## Quando usar
13
+
14
+ - Primeiro contato com o DARE neste projeto.
15
+ - O usuário quer relembrar o fluxo canônico de comandos.
16
+
17
+ ## Como rodar
18
+
19
+ ```bash
20
+ dare welcome
21
+ ```
22
+
23
+ ## O que fazer
24
+
25
+ 1. Rode `dare welcome`.
26
+ 2. Apresente o fluxo: `/dare-design` → `/dare-blueprint` → `/dare-tasks` → `/dare-execute`.
27
+
28
+ ## Comandos relacionados
29
+
30
+ `/dare-design` · `/dare-info`
@@ -0,0 +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.
@@ -0,0 +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`
@@ -0,0 +1,27 @@
1
+ # /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`
@@ -0,0 +1,28 @@
1
+ # /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`
@@ -0,0 +1,30 @@
1
+ # /dare-graph
2
+
3
+ Consulta e visualiza o grafo de conhecimento do projeto (tasks, arquivos, schemas, endpoints, componentes, entidades e suas relações).
4
+
5
+ > Este comando expõe o CLI `dare graph` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
+
7
+ ## Quando usar
8
+
9
+ - Você quer entender dependências entre tasks/arquivos/entidades.
10
+ - Precisa achar nós relacionados a um termo, ou exportar um diagrama do grafo.
11
+
12
+ ## Como rodar
13
+
14
+ ```bash
15
+ dare graph stats # contagem de nós/arestas por tipo
16
+ dare graph query <termo> --limit 10 # busca nós por label/descrição
17
+ dare graph query auth --type endpoint
18
+ dare graph viz --format mermaid -o graph.mmd
19
+ dare graph ingest # re-sincroniza o grafo do dare-dag.yaml
20
+ ```
21
+
22
+ ## O que fazer
23
+
24
+ 1. Escolha o subcomando conforme a intenção: `stats`, `query <termo>`, `viz`, `ingest`.
25
+ 2. Rode o comando e interprete a saída (para `viz`, abra/renderize o diagrama gerado).
26
+ 3. Se o grafo parecer desatualizado, rode `dare graph ingest` para re-sincronizar.
27
+
28
+ ## Comandos relacionados
29
+
30
+ `/dare-dag` · `/dare-execute`