@dewtech/dare-cli 2.16.0 → 3.0.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 (408) hide show
  1. package/README.md +196 -3
  2. package/dist/__tests__/confidence.test.d.ts +2 -0
  3. package/dist/__tests__/confidence.test.d.ts.map +1 -0
  4. package/dist/__tests__/confidence.test.js +73 -0
  5. package/dist/__tests__/confidence.test.js.map +1 -0
  6. package/dist/__tests__/datamodel.test.d.ts +2 -0
  7. package/dist/__tests__/datamodel.test.d.ts.map +1 -0
  8. package/dist/__tests__/datamodel.test.js +131 -0
  9. package/dist/__tests__/datamodel.test.js.map +1 -0
  10. package/dist/__tests__/dna-detector.test.d.ts +2 -0
  11. package/dist/__tests__/dna-detector.test.d.ts.map +1 -0
  12. package/dist/__tests__/dna-detector.test.js +97 -0
  13. package/dist/__tests__/dna-detector.test.js.map +1 -0
  14. package/dist/__tests__/dna-facts.test.d.ts +2 -0
  15. package/dist/__tests__/dna-facts.test.d.ts.map +1 -0
  16. package/dist/__tests__/dna-facts.test.js +44 -0
  17. package/dist/__tests__/dna-facts.test.js.map +1 -0
  18. package/dist/__tests__/graph-renderer.test.d.ts +2 -0
  19. package/dist/__tests__/graph-renderer.test.d.ts.map +1 -0
  20. package/dist/__tests__/graph-renderer.test.js +85 -0
  21. package/dist/__tests__/graph-renderer.test.js.map +1 -0
  22. package/dist/__tests__/migration.test.d.ts +2 -0
  23. package/dist/__tests__/migration.test.d.ts.map +1 -0
  24. package/dist/__tests__/migration.test.js +77 -0
  25. package/dist/__tests__/migration.test.js.map +1 -0
  26. package/dist/__tests__/module-detector.test.d.ts +2 -0
  27. package/dist/__tests__/module-detector.test.d.ts.map +1 -0
  28. package/dist/__tests__/module-detector.test.js +83 -0
  29. package/dist/__tests__/module-detector.test.js.map +1 -0
  30. package/dist/__tests__/refine.test.d.ts +2 -0
  31. package/dist/__tests__/refine.test.d.ts.map +1 -0
  32. package/dist/__tests__/refine.test.js +186 -0
  33. package/dist/__tests__/refine.test.js.map +1 -0
  34. package/dist/__tests__/reverse-facts.test.d.ts +2 -0
  35. package/dist/__tests__/reverse-facts.test.d.ts.map +1 -0
  36. package/dist/__tests__/reverse-facts.test.js +78 -0
  37. package/dist/__tests__/reverse-facts.test.js.map +1 -0
  38. package/dist/__tests__/review.test.d.ts +2 -0
  39. package/dist/__tests__/review.test.d.ts.map +1 -0
  40. package/dist/__tests__/review.test.js +242 -0
  41. package/dist/__tests__/review.test.js.map +1 -0
  42. package/dist/__tests__/update.test.d.ts +2 -0
  43. package/dist/__tests__/update.test.d.ts.map +1 -0
  44. package/dist/__tests__/update.test.js +150 -0
  45. package/dist/__tests__/update.test.js.map +1 -0
  46. package/dist/__tests__/validate.test.js +65 -65
  47. package/dist/bin/dare.js +38 -3
  48. package/dist/bin/dare.js.map +1 -1
  49. package/dist/commands/blueprint.js +122 -122
  50. package/dist/commands/dag.d.ts.map +1 -1
  51. package/dist/commands/dag.js +43 -79
  52. package/dist/commands/dag.js.map +1 -1
  53. package/dist/commands/dna.d.ts +3 -0
  54. package/dist/commands/dna.d.ts.map +1 -0
  55. package/dist/commands/dna.js +69 -0
  56. package/dist/commands/dna.js.map +1 -0
  57. package/dist/commands/execute.d.ts.map +1 -1
  58. package/dist/commands/execute.js +76 -0
  59. package/dist/commands/execute.js.map +1 -1
  60. package/dist/commands/migrate.d.ts +3 -0
  61. package/dist/commands/migrate.d.ts.map +1 -0
  62. package/dist/commands/migrate.js +101 -0
  63. package/dist/commands/migrate.js.map +1 -0
  64. package/dist/commands/new.d.ts +16 -0
  65. package/dist/commands/new.d.ts.map +1 -0
  66. package/dist/commands/new.js +103 -0
  67. package/dist/commands/new.js.map +1 -0
  68. package/dist/commands/refine.d.ts +16 -0
  69. package/dist/commands/refine.d.ts.map +1 -0
  70. package/dist/commands/refine.js +167 -0
  71. package/dist/commands/refine.js.map +1 -0
  72. package/dist/commands/reverse.d.ts +3 -0
  73. package/dist/commands/reverse.d.ts.map +1 -0
  74. package/dist/commands/reverse.js +201 -0
  75. package/dist/commands/reverse.js.map +1 -0
  76. package/dist/commands/review.d.ts +16 -0
  77. package/dist/commands/review.d.ts.map +1 -0
  78. package/dist/commands/review.js +106 -0
  79. package/dist/commands/review.js.map +1 -0
  80. package/dist/commands/update.d.ts +13 -0
  81. package/dist/commands/update.d.ts.map +1 -0
  82. package/dist/commands/update.js +149 -0
  83. package/dist/commands/update.js.map +1 -0
  84. package/dist/commands/welcome.d.ts +14 -0
  85. package/dist/commands/welcome.d.ts.map +1 -0
  86. package/dist/commands/welcome.js +29 -0
  87. package/dist/commands/welcome.js.map +1 -0
  88. package/dist/skills/commands/add.d.ts +23 -0
  89. package/dist/skills/commands/add.d.ts.map +1 -0
  90. package/dist/skills/commands/add.js +206 -0
  91. package/dist/skills/commands/add.js.map +1 -0
  92. package/dist/skills/commands/info.d.ts +14 -0
  93. package/dist/skills/commands/info.d.ts.map +1 -0
  94. package/dist/skills/commands/info.js +99 -0
  95. package/dist/skills/commands/info.js.map +1 -0
  96. package/dist/skills/commands/list.d.ts +19 -0
  97. package/dist/skills/commands/list.d.ts.map +1 -0
  98. package/dist/skills/commands/list.js +163 -0
  99. package/dist/skills/commands/list.js.map +1 -0
  100. package/dist/skills/commands/publish.d.ts +56 -0
  101. package/dist/skills/commands/publish.d.ts.map +1 -0
  102. package/dist/skills/commands/publish.js +272 -0
  103. package/dist/skills/commands/publish.js.map +1 -0
  104. package/dist/skills/commands/remove.d.ts +19 -0
  105. package/dist/skills/commands/remove.d.ts.map +1 -0
  106. package/dist/skills/commands/remove.js +96 -0
  107. package/dist/skills/commands/remove.js.map +1 -0
  108. package/dist/skills/commands/update.d.ts +31 -0
  109. package/dist/skills/commands/update.d.ts.map +1 -0
  110. package/dist/skills/commands/update.js +132 -0
  111. package/dist/skills/commands/update.js.map +1 -0
  112. package/dist/skills/index.d.ts +22 -0
  113. package/dist/skills/index.d.ts.map +1 -0
  114. package/dist/skills/index.js +33 -0
  115. package/dist/skills/index.js.map +1 -0
  116. package/dist/skills/manifest.d.ts +54 -0
  117. package/dist/skills/manifest.d.ts.map +1 -0
  118. package/dist/skills/manifest.js +162 -0
  119. package/dist/skills/manifest.js.map +1 -0
  120. package/dist/skills/registry-local.d.ts +67 -0
  121. package/dist/skills/registry-local.d.ts.map +1 -0
  122. package/dist/skills/registry-local.js +130 -0
  123. package/dist/skills/registry-local.js.map +1 -0
  124. package/dist/skills/registry-mock.json +109 -0
  125. package/dist/skills/registry-remote.d.ts +110 -0
  126. package/dist/skills/registry-remote.d.ts.map +1 -0
  127. package/dist/skills/registry-remote.js +246 -0
  128. package/dist/skills/registry-remote.js.map +1 -0
  129. package/dist/skills/registry.d.ts +49 -0
  130. package/dist/skills/registry.d.ts.map +1 -0
  131. package/dist/skills/registry.js +94 -0
  132. package/dist/skills/registry.js.map +1 -0
  133. package/dist/skills/tests/manifest.spec.d.ts +8 -0
  134. package/dist/skills/tests/manifest.spec.d.ts.map +1 -0
  135. package/dist/skills/tests/manifest.spec.js +176 -0
  136. package/dist/skills/tests/manifest.spec.js.map +1 -0
  137. package/dist/skills/tests/publish.spec.d.ts +12 -0
  138. package/dist/skills/tests/publish.spec.d.ts.map +1 -0
  139. package/dist/skills/tests/publish.spec.js +276 -0
  140. package/dist/skills/tests/publish.spec.js.map +1 -0
  141. package/dist/skills/tests/registry-local.spec.d.ts +8 -0
  142. package/dist/skills/tests/registry-local.spec.d.ts.map +1 -0
  143. package/dist/skills/tests/registry-local.spec.js +231 -0
  144. package/dist/skills/tests/registry-local.spec.js.map +1 -0
  145. package/dist/skills/tests/registry.spec.d.ts +7 -0
  146. package/dist/skills/tests/registry.spec.d.ts.map +1 -0
  147. package/dist/skills/tests/registry.spec.js +58 -0
  148. package/dist/skills/tests/registry.spec.js.map +1 -0
  149. package/dist/skills/tests/remote-registry.spec.d.ts +9 -0
  150. package/dist/skills/tests/remote-registry.spec.d.ts.map +1 -0
  151. package/dist/skills/tests/remote-registry.spec.js +357 -0
  152. package/dist/skills/tests/remote-registry.spec.js.map +1 -0
  153. package/dist/skills/tests/update.spec.d.ts +9 -0
  154. package/dist/skills/tests/update.spec.d.ts.map +1 -0
  155. package/dist/skills/tests/update.spec.js +166 -0
  156. package/dist/skills/tests/update.spec.js.map +1 -0
  157. package/dist/types/Refine.types.d.ts +96 -0
  158. package/dist/types/Refine.types.d.ts.map +1 -0
  159. package/dist/types/Refine.types.js +19 -0
  160. package/dist/types/Refine.types.js.map +1 -0
  161. package/dist/types/Review.types.d.ts +86 -0
  162. package/dist/types/Review.types.d.ts.map +1 -0
  163. package/dist/types/Review.types.js +15 -0
  164. package/dist/types/Review.types.js.map +1 -0
  165. package/dist/types/UpdateManifest.types.d.ts +91 -0
  166. package/dist/types/UpdateManifest.types.d.ts.map +1 -0
  167. package/dist/types/UpdateManifest.types.js +13 -0
  168. package/dist/types/UpdateManifest.types.js.map +1 -0
  169. package/dist/utils/ReviewRunner.d.ts +42 -0
  170. package/dist/utils/ReviewRunner.d.ts.map +1 -0
  171. package/dist/utils/ReviewRunner.js +175 -0
  172. package/dist/utils/ReviewRunner.js.map +1 -0
  173. package/dist/utils/UpdateApplier.d.ts +42 -0
  174. package/dist/utils/UpdateApplier.d.ts.map +1 -0
  175. package/dist/utils/UpdateApplier.js +207 -0
  176. package/dist/utils/UpdateApplier.js.map +1 -0
  177. package/dist/utils/UpdateDetector.d.ts +56 -0
  178. package/dist/utils/UpdateDetector.d.ts.map +1 -0
  179. package/dist/utils/UpdateDetector.js +164 -0
  180. package/dist/utils/UpdateDetector.js.map +1 -0
  181. package/dist/utils/banner.d.ts +28 -0
  182. package/dist/utils/banner.d.ts.map +1 -0
  183. package/dist/utils/banner.js +77 -0
  184. package/dist/utils/banner.js.map +1 -0
  185. package/dist/utils/banner.spec.d.ts +5 -0
  186. package/dist/utils/banner.spec.d.ts.map +1 -0
  187. package/dist/utils/banner.spec.js +253 -0
  188. package/dist/utils/banner.spec.js.map +1 -0
  189. package/dist/utils/complexity-analyzer.d.ts +60 -0
  190. package/dist/utils/complexity-analyzer.d.ts.map +1 -0
  191. package/dist/utils/complexity-analyzer.js +292 -0
  192. package/dist/utils/complexity-analyzer.js.map +1 -0
  193. package/dist/utils/confidence.d.ts +41 -0
  194. package/dist/utils/confidence.d.ts.map +1 -0
  195. package/dist/utils/confidence.js +101 -0
  196. package/dist/utils/confidence.js.map +1 -0
  197. package/dist/utils/datamodel.d.ts +41 -0
  198. package/dist/utils/datamodel.d.ts.map +1 -0
  199. package/dist/utils/datamodel.js +535 -0
  200. package/dist/utils/datamodel.js.map +1 -0
  201. package/dist/utils/dna-detector.d.ts +61 -0
  202. package/dist/utils/dna-detector.d.ts.map +1 -0
  203. package/dist/utils/dna-detector.js +354 -0
  204. package/dist/utils/dna-detector.js.map +1 -0
  205. package/dist/utils/dna-facts.d.ts +13 -0
  206. package/dist/utils/dna-facts.d.ts.map +1 -0
  207. package/dist/utils/dna-facts.js +109 -0
  208. package/dist/utils/dna-facts.js.map +1 -0
  209. package/dist/utils/excalidraw-renderer.d.ts +11 -71
  210. package/dist/utils/excalidraw-renderer.d.ts.map +1 -1
  211. package/dist/utils/excalidraw-renderer.js +29 -162
  212. package/dist/utils/excalidraw-renderer.js.map +1 -1
  213. package/dist/utils/graph-renderer.d.ts +115 -0
  214. package/dist/utils/graph-renderer.d.ts.map +1 -0
  215. package/dist/utils/graph-renderer.js +216 -0
  216. package/dist/utils/graph-renderer.js.map +1 -0
  217. package/dist/utils/migration.d.ts +64 -0
  218. package/dist/utils/migration.d.ts.map +1 -0
  219. package/dist/utils/migration.js +183 -0
  220. package/dist/utils/migration.js.map +1 -0
  221. package/dist/utils/module-detector.d.ts +46 -0
  222. package/dist/utils/module-detector.d.ts.map +1 -0
  223. package/dist/utils/module-detector.js +348 -0
  224. package/dist/utils/module-detector.js.map +1 -0
  225. package/dist/utils/project-generator.d.ts.map +1 -1
  226. package/dist/utils/project-generator.js +273 -254
  227. package/dist/utils/project-generator.js.map +1 -1
  228. package/dist/utils/reverse-facts.d.ts +50 -0
  229. package/dist/utils/reverse-facts.d.ts.map +1 -0
  230. package/dist/utils/reverse-facts.js +291 -0
  231. package/dist/utils/reverse-facts.js.map +1 -0
  232. package/dist/utils/stack-bootstrap.js +371 -371
  233. package/dist/utils/static-analyzer.d.ts +29 -0
  234. package/dist/utils/static-analyzer.d.ts.map +1 -0
  235. package/dist/utils/static-analyzer.js +390 -0
  236. package/dist/utils/static-analyzer.js.map +1 -0
  237. package/dist/utils/version-compare.d.ts +27 -0
  238. package/dist/utils/version-compare.d.ts.map +1 -0
  239. package/dist/utils/version-compare.js +47 -0
  240. package/dist/utils/version-compare.js.map +1 -0
  241. package/package.json +8 -3
  242. package/templates/DARE-dag-example.yaml +280 -280
  243. package/templates/UPDATE-MANIFEST.json +48 -0
  244. package/templates/backend/node-nestjs/.env.example +9 -9
  245. package/templates/backend/node-nestjs/nest-cli.json +8 -8
  246. package/templates/backend/node-nestjs/package.json +50 -50
  247. package/templates/backend/node-nestjs/src/app.controller.ts +12 -12
  248. package/templates/backend/node-nestjs/src/app.module.ts +15 -15
  249. package/templates/backend/node-nestjs/src/app.service.ts +8 -8
  250. package/templates/backend/node-nestjs/src/main.ts +24 -24
  251. package/templates/backend/node-nestjs/tsconfig.json +21 -21
  252. package/templates/backend/php-laravel/.env.example +22 -22
  253. package/templates/backend/php-laravel/app/Http/Controllers/HealthController.php +15 -15
  254. package/templates/backend/php-laravel/composer.json +40 -40
  255. package/templates/backend/python-fastapi/.env.example +4 -4
  256. package/templates/backend/python-fastapi/app/api/router.py +8 -8
  257. package/templates/backend/python-fastapi/app/core/config.py +20 -20
  258. package/templates/backend/python-fastapi/main.py +35 -35
  259. package/templates/backend/python-fastapi/requirements.txt +13 -13
  260. package/templates/backend/rust-axum/.env.example +3 -3
  261. package/templates/backend/rust-axum/Cargo.toml +23 -23
  262. package/templates/backend/rust-axum/src/errors.rs +30 -30
  263. package/templates/backend/rust-axum/src/main.rs +32 -32
  264. package/templates/backend/rust-axum/src/routes.rs +6 -6
  265. package/templates/frontend/leptos-csr/.cargo/config.toml +2 -2
  266. package/templates/frontend/leptos-csr/Cargo.toml +16 -16
  267. package/templates/frontend/leptos-csr/Trunk.toml +10 -10
  268. package/templates/frontend/leptos-csr/index.html +11 -11
  269. package/templates/frontend/leptos-csr/src/lib.rs +20 -20
  270. package/templates/frontend/leptos-csr/style/main.scss +19 -19
  271. package/templates/frontend/leptos-fullstack/.cargo/config.toml +4 -4
  272. package/templates/frontend/leptos-fullstack/Cargo.toml +56 -56
  273. package/templates/frontend/leptos-fullstack/src/app.rs +49 -49
  274. package/templates/frontend/leptos-fullstack/src/lib.rs +9 -9
  275. package/templates/frontend/leptos-fullstack/src/main.rs +29 -29
  276. package/templates/frontend/leptos-fullstack/style/main.scss +19 -19
  277. package/templates/frontend/react/index.html +12 -12
  278. package/templates/frontend/react/package.json +35 -35
  279. package/templates/frontend/react/src/App.tsx +25 -25
  280. package/templates/frontend/react/src/main.tsx +9 -9
  281. package/templates/frontend/vue/package.json +32 -32
  282. package/templates/frontend/vue/src/App.vue +7 -7
  283. package/templates/frontend/vue/src/main.ts +10 -10
  284. package/templates/frontend/vue/src/router/index.ts +14 -14
  285. package/templates/frontend/vue/src/views/HomeView.vue +6 -6
  286. package/templates/hooks/pre-commit-dare-validate +24 -24
  287. package/templates/ide/antigravity/.agents/skills/dare-ax/SKILL.md +152 -0
  288. package/templates/ide/antigravity/.agents/skills/dare-blueprint/SKILL.md +180 -36
  289. package/templates/ide/antigravity/.agents/skills/dare-dag-build/SKILL.md +154 -0
  290. package/templates/ide/antigravity/.agents/skills/dare-dag-run/SKILL.md +130 -0
  291. package/templates/ide/antigravity/.agents/skills/dare-dag-runner/SKILL.md +203 -203
  292. package/templates/ide/antigravity/.agents/skills/dare-dna/SKILL.md +63 -0
  293. package/templates/ide/antigravity/.agents/skills/dare-docker/SKILL.md +315 -0
  294. package/templates/ide/antigravity/.agents/skills/dare-frontend-design/SKILL.md +192 -0
  295. package/templates/ide/antigravity/.agents/skills/dare-laravel-api/SKILL.md +337 -0
  296. package/templates/ide/antigravity/.agents/skills/dare-layered-design/SKILL.md +166 -0
  297. package/templates/ide/antigravity/.agents/skills/dare-llm-integration/SKILL.md +217 -0
  298. package/templates/ide/antigravity/.agents/skills/dare-migrate/SKILL.md +61 -0
  299. package/templates/ide/antigravity/.agents/skills/dare-quality-telemetry/SKILL.md +187 -0
  300. package/templates/ide/antigravity/.agents/skills/dare-realtime/SKILL.md +217 -0
  301. package/templates/ide/antigravity/.agents/skills/dare-refine/SKILL.md +114 -0
  302. package/templates/ide/antigravity/.agents/skills/dare-reverse/SKILL.md +108 -0
  303. package/templates/ide/antigravity/.agents/skills/dare-review/SKILL.md +111 -0
  304. package/templates/ide/antigravity/.agents/skills/dare-rust-leptos/SKILL.md +263 -0
  305. package/templates/ide/antigravity/.agents/skills/dare-rust-workspace/SKILL.md +275 -275
  306. package/templates/ide/antigravity/.agents/skills/dare-security/SKILL.md +274 -0
  307. package/templates/ide/antigravity/.agents/skills/dare-tasks/SKILL.md +265 -224
  308. package/templates/ide/antigravity/.agents/skills/dare-telemetry/SKILL.md +188 -0
  309. package/templates/ide/antigravity/.agents/skills/skill-fastapi-api/SKILL.md +343 -0
  310. package/templates/ide/antigravity/.agents/skills/skill-go-gin-api/SKILL.md +377 -0
  311. package/templates/ide/antigravity/.agents/skills/skill-mcp-server/SKILL.md +382 -0
  312. package/templates/ide/antigravity/.agents/skills/skill-nestjs-api/SKILL.md +326 -0
  313. package/templates/ide/antigravity/.agents/skills/skill-rails-api/SKILL.md +393 -0
  314. package/templates/ide/antigravity/templates/BLUEPRINT-template.md +193 -193
  315. package/templates/ide/antigravity/templates/DESIGN-template.md +129 -129
  316. package/templates/ide/antigravity/templates/TASK-SPEC-template.md +141 -100
  317. package/templates/ide/claude/.claude/commands/dare-ax.md +131 -0
  318. package/templates/ide/claude/.claude/commands/dare-blueprint.md +134 -78
  319. package/templates/ide/claude/.claude/commands/dare-bugfix-design.md +119 -0
  320. package/templates/ide/claude/.claude/commands/dare-dag-build.md +151 -110
  321. package/templates/ide/claude/.claude/commands/dare-dag-run.md +109 -109
  322. package/templates/ide/claude/.claude/commands/dare-dag-runner.md +117 -0
  323. package/templates/ide/claude/.claude/commands/dare-dag-viz.md +197 -197
  324. package/templates/ide/claude/.claude/commands/dare-design.md +69 -69
  325. package/templates/ide/claude/.claude/commands/dare-dna.md +75 -0
  326. package/templates/ide/claude/.claude/commands/dare-docker.md +207 -0
  327. package/templates/ide/claude/.claude/commands/dare-execute.md +152 -152
  328. package/templates/ide/claude/.claude/commands/dare-feature-design.md +147 -0
  329. package/templates/ide/claude/.claude/commands/dare-frontend-design.md +149 -0
  330. package/templates/ide/claude/.claude/commands/dare-laravel-api.md +211 -0
  331. package/templates/ide/claude/.claude/commands/dare-layered-design.md +124 -0
  332. package/templates/ide/claude/.claude/commands/dare-llm-integration.md +148 -0
  333. package/templates/ide/claude/.claude/commands/dare-migrate.md +72 -0
  334. package/templates/ide/claude/.claude/commands/dare-quality-telemetry.md +166 -0
  335. package/templates/ide/claude/.claude/commands/dare-realtime.md +159 -0
  336. package/templates/ide/claude/.claude/commands/dare-refine.md +145 -0
  337. package/templates/ide/claude/.claude/commands/dare-reverse.md +139 -0
  338. package/templates/ide/claude/.claude/commands/dare-review.md +113 -0
  339. package/templates/ide/claude/.claude/commands/dare-rust-leptos.md +269 -269
  340. package/templates/ide/claude/.claude/commands/dare-rust-workspace.md +209 -209
  341. package/templates/ide/claude/.claude/commands/dare-security.md +232 -232
  342. package/templates/ide/claude/.claude/commands/dare-tasks.md +70 -70
  343. package/templates/ide/claude/.claude/commands/dare-telemetry.md +132 -0
  344. package/templates/ide/claude/.claude/commands/skill-fastapi-api.md +205 -0
  345. package/templates/ide/claude/.claude/commands/skill-go-gin-api.md +232 -0
  346. package/templates/ide/claude/.claude/commands/skill-mcp-server.md +228 -0
  347. package/templates/ide/claude/.claude/commands/skill-nestjs-api.md +210 -0
  348. package/templates/ide/claude/.claude/commands/skill-rails-api.md +236 -0
  349. package/templates/ide/claude/.claude/settings.example.json +35 -35
  350. package/templates/ide/claude/CLAUDE.md +146 -146
  351. package/templates/ide/claude/templates/BLUEPRINT-template.md +193 -193
  352. package/templates/ide/claude/templates/DESIGN-template.md +129 -129
  353. package/templates/ide/claude/templates/TASK-SPEC-template.md +141 -100
  354. package/templates/ide/cursor/.cursor/commands/dag-viz.md +139 -0
  355. package/templates/ide/cursor/.cursor/commands/generate-blueprint.md +86 -41
  356. package/templates/ide/cursor/.cursor/commands/generate-design.md +35 -35
  357. package/templates/ide/cursor/.cursor/commands/generate-tasks.md +184 -142
  358. package/templates/ide/cursor/.cursor/commands/refine-task.md +107 -0
  359. package/templates/ide/cursor/.cursor/commands/review-task.md +91 -0
  360. package/templates/ide/cursor/.cursor/commands/run-dag.md +110 -110
  361. package/templates/ide/cursor/.cursor/rules/skill-ax.mdc +263 -0
  362. package/templates/ide/cursor/.cursor/rules/skill-dag-build.mdc +173 -0
  363. package/templates/ide/cursor/.cursor/rules/skill-dag-run.mdc +134 -0
  364. package/templates/ide/cursor/.cursor/rules/skill-dag-runner.mdc +221 -221
  365. package/templates/ide/cursor/.cursor/rules/skill-dna.mdc +63 -0
  366. package/templates/ide/cursor/.cursor/rules/skill-fastapi-api.mdc +352 -0
  367. package/templates/ide/cursor/.cursor/rules/skill-frontend-design.mdc +244 -0
  368. package/templates/ide/cursor/.cursor/rules/skill-go-gin-api.mdc +371 -0
  369. package/templates/ide/cursor/.cursor/rules/skill-layered-design.mdc +266 -0
  370. package/templates/ide/cursor/.cursor/rules/skill-llm-integration.mdc +295 -0
  371. package/templates/ide/cursor/.cursor/rules/skill-mcp-server.mdc +367 -0
  372. package/templates/ide/cursor/.cursor/rules/skill-migrate.mdc +58 -0
  373. package/templates/ide/cursor/.cursor/rules/skill-nestjs-api.mdc +346 -0
  374. package/templates/ide/cursor/.cursor/rules/skill-quality-telemetry.mdc +248 -0
  375. package/templates/ide/cursor/.cursor/rules/skill-rails-api.mdc +400 -0
  376. package/templates/ide/cursor/.cursor/rules/skill-realtime.mdc +262 -0
  377. package/templates/ide/cursor/.cursor/rules/skill-reverse.mdc +107 -0
  378. package/templates/ide/cursor/.cursor/rules/skill-rust-leptos.mdc +281 -0
  379. package/templates/ide/cursor/.cursor/rules/skill-rust-workspace.mdc +312 -312
  380. package/templates/ide/cursor/.cursor/rules/skill-security.mdc +245 -245
  381. package/templates/ide/cursor/templates/BLUEPRINT-template.md +193 -193
  382. package/templates/ide/cursor/templates/DESIGN-template.md +129 -129
  383. package/templates/ide/cursor/templates/TASK-SPEC-template.md +141 -100
  384. package/templates/shared/docker-compose.yml +41 -41
  385. package/dist/__tests__/dag-runner/adapters.test.d.ts +0 -2
  386. package/dist/__tests__/dag-runner/adapters.test.d.ts.map +0 -1
  387. package/dist/__tests__/dag-runner/adapters.test.js +0 -134
  388. package/dist/__tests__/dag-runner/adapters.test.js.map +0 -1
  389. package/dist/dag-runner/adapters/antigravity.d.ts +0 -6
  390. package/dist/dag-runner/adapters/antigravity.d.ts.map +0 -1
  391. package/dist/dag-runner/adapters/antigravity.js +0 -54
  392. package/dist/dag-runner/adapters/antigravity.js.map +0 -1
  393. package/dist/dag-runner/adapters/claude.d.ts +0 -6
  394. package/dist/dag-runner/adapters/claude.d.ts.map +0 -1
  395. package/dist/dag-runner/adapters/claude.js +0 -48
  396. package/dist/dag-runner/adapters/claude.js.map +0 -1
  397. package/dist/dag-runner/adapters/cursor.d.ts +0 -6
  398. package/dist/dag-runner/adapters/cursor.d.ts.map +0 -1
  399. package/dist/dag-runner/adapters/cursor.js +0 -58
  400. package/dist/dag-runner/adapters/cursor.js.map +0 -1
  401. package/dist/dag-runner/adapters/index.d.ts +0 -46
  402. package/dist/dag-runner/adapters/index.d.ts.map +0 -1
  403. package/dist/dag-runner/adapters/index.js +0 -55
  404. package/dist/dag-runner/adapters/index.js.map +0 -1
  405. package/dist/dag-runner/utils/timeout.d.ts +0 -27
  406. package/dist/dag-runner/utils/timeout.d.ts.map +0 -1
  407. package/dist/dag-runner/utils/timeout.js +0 -55
  408. package/dist/dag-runner/utils/timeout.js.map +0 -1
@@ -0,0 +1,119 @@
1
+ # /dare-bugfix-design
2
+
3
+ Diagnostica bug em projeto existente e planeja correção cirúrgica via Método DARE. Gera `DARE/DESIGN-Bugfix-[Nome].md` com causa raiz, riscos de regressão e plano de ação mínimo.
4
+
5
+ ## Como usar
6
+
7
+ ```
8
+ /dare-bugfix-design # interativo: pede o relato
9
+ /dare-bugfix-design "Login falha quando email tem +" # com descrição direta
10
+ ```
11
+
12
+ ## Quando usar
13
+
14
+ - Usuário relata bug ou comportamento inesperado
15
+ - Bug complexo precisa de planejamento antes de codar
16
+ - Risco de regressão é não-trivial
17
+
18
+ ## O que fazer
19
+
20
+ ### 1. Entender o relato completo
21
+
22
+ Antes de tocar em código, esclareça:
23
+ - **Comportamento atual** — o que acontece de errado?
24
+ - **Comportamento esperado** — o que deveria acontecer?
25
+ - **Passos para reproduzir** — como você fez aparecer o bug?
26
+ - **Logs/stack traces** — se houver, peça ao usuário
27
+
28
+ ### 2. Localizar a área afetada
29
+
30
+ Identifique controllers, services, queries ou componentes envolvidos no fluxo. Use grep / IDE navigation para chegar nos arquivos mais prováveis.
31
+
32
+ ### 3. Encontrar a causa raiz (crítico)
33
+
34
+ Não trate sintoma. Investigue o **porquê**:
35
+
36
+ | Tipo de causa | Exemplos |
37
+ |---|---|
38
+ | Lógica de negócio | Condição incorreta, cálculo errado, off-by-one |
39
+ | Banco de dados | N+1, deadlock, dados inconsistentes, índice ausente |
40
+ | Validação | Input não validado, tipo incorreto, edge case (string vazia, NaN, negativo) |
41
+ | Concorrência | Race condition, falta de lock, transação isolada errada |
42
+ | Segurança | SQL injection, XSS, IDOR, broken auth |
43
+ | Integração | Timeout, retry sem idempotência, API externa mudou contrato |
44
+
45
+ ### 4. Avaliar impacto e riscos
46
+
47
+ - Quais arquivos precisam mudar?
48
+ - Tem migração/script de DB?
49
+ - O que mais essa correção pode quebrar?
50
+ - Qual o blast radius?
51
+
52
+ ### 5. Gerar `DARE/DESIGN-Bugfix-[Nome].md`
53
+
54
+ Estrutura obrigatória:
55
+
56
+ ```markdown
57
+ # Bugfix Design: [Nome curto e descritivo]
58
+
59
+ ## Descrição do Problema
60
+ - **Comportamento Atual:** [o que está acontecendo]
61
+ - **Comportamento Esperado:** [o que deveria]
62
+ - **Passos para Reproduzir:** [se conhecido]
63
+ - **Severidade:** [Crítica / Alta / Média / Baixa]
64
+ - **Reportado por:** [usuário / Sentry / monitoramento]
65
+
66
+ ## Diagnóstico da Causa Raiz
67
+ [Explicação técnica detalhada do porquê o bug ocorre — referencie linhas de código específicas se possível]
68
+
69
+ ## Análise de Impacto
70
+ - **Arquivos a Modificar:** [lista exata]
71
+ - **Banco de Dados:** [migração necessária? script de fix de dados?]
72
+ - **APIs externas:** [muda contrato com algum cliente/integrador?]
73
+ - **Riscos de Regressão:** [o que pode quebrar ao consertar]
74
+
75
+ ## Plano de Ação (Correção Cirúrgica)
76
+ 1. [Passo 1: ajustar X em arquivo Y]
77
+ 2. [Passo 2: adicionar teste unitário que falha com o bug e passa com a correção]
78
+ 3. [Passo 3: validar comportamento em staging]
79
+
80
+ ## Testes Necessários
81
+ - **Validation Gates:** [teste novo que reproduz o bug]
82
+ - **Testes de Regressão:** [testes existentes a re-rodar]
83
+ - **E2E:** [smoke test do fluxo afetado]
84
+
85
+ ## Rollback Plan
86
+ [Se a correção quebrar produção, como reverter rapidamente?]
87
+
88
+ ## Próximas Etapas
89
+ 1. Revisar e aprovar este Bugfix Design
90
+ 2. Rodar `/dare-blueprint` se a correção for grande, ou ir direto para `/dare-tasks`
91
+ 3. Se for trivial (< 10 linhas), pular direto para `/dare-execute`
92
+ ```
93
+
94
+ ### 6. Pedir aprovação
95
+
96
+ Apresente o documento ao usuário e peça aprovação antes de prosseguir. Bugfix sem diagnóstico aprovado vira chumbadeira.
97
+
98
+ ## Regras de ouro
99
+
100
+ 1. **Cirúrgico** — menor código possível, sem efeitos colaterais
101
+ 2. **Causa raiz, não sintoma** — se a raiz não for corrigida, o bug volta
102
+ 3. **Teste novo obrigatório** — se o bug ocorreu, faltava teste. Adicione um que falharia com o código antigo
103
+ 4. **Mapeie regressão** — sempre planeje o que pode quebrar e como detectar
104
+
105
+ ## Antipatterns
106
+
107
+ | AP | Antipattern | Por quê |
108
+ |---|---|---|
109
+ | AP-01 | Tratar só o sintoma | Bug volta em variação diferente |
110
+ | AP-02 | Corrigir sem reproduzir | Não tem como validar que sumiu |
111
+ | AP-03 | Mudar arquivos não relacionados | Aumenta blast radius desnecessariamente |
112
+ | AP-04 | Não adicionar teste | Bug pode reaparecer em regressão futura |
113
+ | AP-05 | Pular aprovação humana | Bugfix mal planejado vira bug pior |
114
+
115
+ $ARGUMENTS
116
+
117
+ ---
118
+
119
+ Skill MIT — parte do DARE Method.
@@ -1,110 +1,151 @@
1
- # /dare-dag-build
2
-
3
- Regenera **apenas** o `DARE/dare-dag.yaml` a partir do `DARE/BLUEPRINT.md` já
4
- existente, sem refazer o blueprint nem as specs. Útil quando o BLUEPRINT
5
- mudou pouco mas você precisa que o grafo reflita o novo estado.
6
-
7
- ## Quando usar
8
-
9
- - O BLUEPRINT foi ajustado e o grafo precisa refletir
10
- - Você quer experimentar uma decomposição diferente sem refazer o blueprint
11
- - O `dare-dag.yaml` ficou inconsistente com `EXECUTION/task-*.md`
12
- - Precisa adicionar/remover/reordenar tasks no grafo
13
-
14
- ## Pré-requisitos
15
-
16
- - `DARE/BLUEPRINT.md` existe e está aprovado
17
- - (Opcional) `DARE/EXECUTION/task-*.md` específicas serão preservadas se não
18
- forem mencionadas
19
-
20
- ## O que fazer
21
-
22
- ### 1. Ler `DARE/BLUEPRINT.md`
23
-
24
- Obrigatório. Se faltar, peça `/dare-blueprint` antes.
25
-
26
- ### 2. Ler `DARE/dare-dag.yaml` atual (se existir)
27
-
28
- Para preservar `id`s já em uso e não confundir o usuário com renomeações
29
- desnecessárias.
30
-
31
- ### 3. Gerar o novo `dare-dag.yaml`
32
-
33
- Schema canônico:
34
-
35
- ```yaml
36
- title: "<Nome do Projeto> - Development Tasks"
37
- version: "1.0.0"
38
-
39
- limits:
40
- parent_context_chars: 2000
41
- task_output_chars: 4000
42
- timeout_seconds: 600
43
-
44
- models:
45
- cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
46
- claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
47
- antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
48
-
49
- tasks:
50
- - id: task-001
51
- title: "..."
52
- depends_on: []
53
- complexity: LOW
54
- spec_file: EXECUTION/task-001.md
55
- subtask_prompt: |
56
- <self-contained>
57
- ```
58
-
59
- **Regras inegociáveis:**
60
-
61
- - `id` em kebab-case e único
62
- - `depends_on` mínimo — só quando filha *literalmente* precisa do output
63
- - `subtask_prompt` self-contained
64
- - Pelo menos 2 tasks no rank 0
65
- - Cadeia linear é antipattern
66
- - `complexity` honesta
67
-
68
- ### 4. Validar consistência com `EXECUTION/task-*.md`
69
-
70
- Se uma spec existe em `DARE/EXECUTION/task-<id>.md`:
71
- - Mantenha o mesmo `id` no YAML
72
- - Aponte `spec_file: EXECUTION/task-<id>.md`
73
- - Se a `complexity` ou `depends_on` mudou, atualize **também** a spec e o
74
- `TASKS.md`
75
-
76
- Se uma task nova entrou no YAML mas não tem spec:
77
- - Crie a spec correspondente em `EXECUTION/task-<id>.md`
78
-
79
- Se uma task saiu do YAML mas a spec ficou:
80
- - Pergunte ao usuário: arquivar (mover para `EXECUTION/_archived/`) ou
81
- apagar?
82
-
83
- ### 5. Validar grafo
84
-
85
- - Sem ciclos
86
- - Todos os `depends_on` apontam para `id`s existentes
87
- - `id`s únicos
88
- - Pelo menos 2 tasks no rank 0
89
-
90
- ### 6. Atualizar `DARE/TASKS.md`
91
-
92
- Reflita o novo grafo na tabela master.
93
-
94
- ### 7. Mensagem ao usuário
95
-
96
- > `dare-dag.yaml` regenerado:
97
- > - Total de tasks: N
98
- > - Ranks paralelos: N
99
- > - Adicionadas: [...]
100
- > - Removidas: [...]
101
- > - Modificadas: [...]
102
- >
103
- > Revise e aprove. Para executar: `/dare-dag-run`.
104
-
105
- ## Quando NÃO usar
106
-
107
- - Se você nunca rodou `/dare-blueprint` antes use `/dare-blueprint` primeiro
108
- - Se o BLUEPRINT está desatualizado — atualize o BLUEPRINT primeiro
109
-
110
- $ARGUMENTS
1
+ # /dare-dag-build
2
+
3
+ Regenera **apenas** o `DARE/dare-dag.yaml` a partir do `DARE/BLUEPRINT.md` já
4
+ existente, sem refazer o blueprint nem as specs. Útil quando o BLUEPRINT
5
+ mudou pouco mas você precisa que o grafo reflita o novo estado.
6
+
7
+ ## Quando usar
8
+
9
+ - O BLUEPRINT foi ajustado e o grafo precisa refletir
10
+ - Você quer experimentar uma decomposição diferente sem refazer o blueprint
11
+ - O `dare-dag.yaml` ficou inconsistente com `EXECUTION/task-*.md`
12
+ - Precisa adicionar/remover/reordenar tasks no grafo
13
+
14
+ ## Pré-requisitos
15
+
16
+ - `DARE/BLUEPRINT.md` existe e está aprovado
17
+ - (Opcional) `DARE/EXECUTION/task-*.md` específicas serão preservadas se não
18
+ forem mencionadas
19
+
20
+ ## O que fazer
21
+
22
+ ### 1. Ler `DARE/BLUEPRINT.md`
23
+
24
+ Obrigatório. Se faltar, peça `/dare-blueprint` antes.
25
+
26
+ ### 2. Ler `DARE/dare-dag.yaml` atual (se existir)
27
+
28
+ Para preservar `id`s já em uso e não confundir o usuário com renomeações
29
+ desnecessárias.
30
+
31
+ ### 3. Gerar o novo `dare-dag.yaml`
32
+
33
+ Schema canônico:
34
+
35
+ ```yaml
36
+ title: "<Nome do Projeto> - Development Tasks"
37
+ version: "1.0.0"
38
+
39
+ limits:
40
+ parent_context_chars: 2000
41
+ task_output_chars: 4000
42
+ timeout_seconds: 600
43
+
44
+ models:
45
+ cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
46
+ claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
47
+ antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
48
+
49
+ tasks:
50
+ - id: task-001
51
+ title: "..."
52
+ depends_on: []
53
+ complexity: LOW
54
+ spec_file: EXECUTION/task-001.md
55
+ subtask_prompt: |
56
+ <self-contained>
57
+ ```
58
+
59
+ **Regras inegociáveis:**
60
+
61
+ - `id` em kebab-case e único
62
+ - `depends_on` mínimo — só quando filha *literalmente* precisa do output
63
+ - `subtask_prompt` self-contained
64
+ - Pelo menos 2 tasks no rank 0
65
+ - Cadeia linear é antipattern
66
+ - `complexity` honesta
67
+
68
+ ### 3.1 ANTI-STUB CONTRACT (inegociável)
69
+
70
+ > Tasks geradas com `subtask_prompt` ou spec genéricos forçam o agente a inventar — e ele vai produzir mock, stub ou esqueleto. **Não é negociável**. O comando `dare review <task-id>` (v2.17+) detecta isso e marca a task como FAILED.
71
+
72
+ Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender este contrato:
73
+
74
+ **O `subtask_prompt` deve ser auto-suficiente**
75
+
76
+ O subagente recebe **apenas** o `subtask_prompt` + snippets de 2000 chars dos pais. Tudo que ele precisa para implementar **sem inventar** deve estar ali ou na `spec_file`. Inclua:
77
+
78
+ - Caminho exato dos arquivos a criar/modificar
79
+ - Assinaturas exatas das funções/endpoints (`fn name(params: T) -> R`)
80
+ - Schema de request/response com tipos
81
+ - Validações específicas (não "validar input" — `email: regex /^.../`, `senha: ≥ 8 chars + 1 maiúscula + 1 dígito`)
82
+ - Edge cases enumerados (input vazio, duplicado, expirado, sem permissão)
83
+ - Lista de testes esperados com nome + comportamento
84
+
85
+ **A `spec_file` (`EXECUTION/task-<id>.md`) deve ter Definition of Done anti-stub:**
86
+
87
+ ```markdown
88
+ ## Definition of Done (ANTI-STUB)
89
+
90
+ - [ ] Nenhum `TODO`, `FIXME`, `XXX` ou `HACK` em arquivos modificados
91
+ - [ ] Nenhuma função vazia (`fn x() {}`, `def x(): pass`, `function x() {}`)
92
+ - [ ] Nenhum `throw new Error('not implemented')`, `unimplemented!()`, `todo!()`, `NotImplementedError`
93
+ - [ ] Nenhum `return null` / `return undefined` / `return {}` como única statement de função pública
94
+ - [ ] Mocks **somente** dentro de `*.test.*`, `*.spec.*`, `__tests__/`, `tests/`, `spec/` — NUNCA em código de produção
95
+ - [ ] Todos os endpoints declarados na seção 3 retornam dados reais (não fixos / hardcoded)
96
+ - [ ] Cada validação da spec produz erro real com status code correto (testado)
97
+ - [ ] Cada edge case da spec tem teste unitário ou integração demonstrando comportamento
98
+ ```
99
+
100
+ **Verificação automatizável:** o agente vai rodar `dare review <id>` antes de marcar DONE. Se a review falhar, a task volta para revisão.
101
+
102
+ **Sinais de spec rasa** (auto-validar antes de salvar):
103
+
104
+ - ❌ "Implementar X" — sem assinatura, sem retorno, sem validações
105
+ - "Tratar erros adequadamente" — quais erros? como? que código?
106
+ - ❌ "Adicionar validações" — quais regras?
107
+ - "Implementar `POST /auth/login` retornando `{ token: string, refresh: string }` com 200 se credenciais válidas, 401 se inválidas, 429 se rate limit"
108
+
109
+ ### 4. Validar consistência com `EXECUTION/task-*.md`
110
+
111
+ Se uma spec existe em `DARE/EXECUTION/task-<id>.md`:
112
+ - Mantenha o mesmo `id` no YAML
113
+ - Aponte `spec_file: EXECUTION/task-<id>.md`
114
+ - Se a `complexity` ou `depends_on` mudou, atualize **também** a spec e o
115
+ `TASKS.md`
116
+
117
+ Se uma task nova entrou no YAML mas não tem spec:
118
+ - Crie a spec correspondente em `EXECUTION/task-<id>.md`
119
+
120
+ Se uma task saiu do YAML mas a spec ficou:
121
+ - Pergunte ao usuário: arquivar (mover para `EXECUTION/_archived/`) ou
122
+ apagar?
123
+
124
+ ### 5. Validar grafo
125
+
126
+ - Sem ciclos
127
+ - Todos os `depends_on` apontam para `id`s existentes
128
+ - `id`s únicos
129
+ - Pelo menos 2 tasks no rank 0
130
+
131
+ ### 6. Atualizar `DARE/TASKS.md`
132
+
133
+ Reflita o novo grafo na tabela master.
134
+
135
+ ### 7. Mensagem ao usuário
136
+
137
+ > `dare-dag.yaml` regenerado:
138
+ > - Total de tasks: N
139
+ > - Ranks paralelos: N
140
+ > - Adicionadas: [...]
141
+ > - Removidas: [...]
142
+ > - Modificadas: [...]
143
+ >
144
+ > Revise e aprove. Para executar: `/dare-dag-run`.
145
+
146
+ ## Quando NÃO usar
147
+
148
+ - Se você nunca rodou `/dare-blueprint` antes — use `/dare-blueprint` primeiro
149
+ - Se o BLUEPRINT está desatualizado — atualize o BLUEPRINT primeiro
150
+
151
+ $ARGUMENTS
@@ -1,109 +1,109 @@
1
- # /dare-dag-run
2
-
3
- Executa o grafo de tasks definido em `DARE/dare-dag.yaml` usando **Claude
4
- Code como executor** e o CLI `dare` como orquestrador. O canvas ao vivo fica
5
- em `DARE/.canvas.md`.
6
-
7
- > **Sem API keys.** Você (Claude Code) usa o plano da IDE/CLI em que o
8
- > usuário já está autenticado. O CLI apenas coordena estado, monta prompts
9
- > e atualiza canvas.
10
-
11
- ## Pré-requisitos
12
-
13
- - `DARE/dare-dag.yaml` existe e foi aprovado
14
- - Specs em `DARE/EXECUTION/task-<id>.md` geradas
15
- - `dare` disponível no PATH (`npm i -g @dewtech/dare-cli`)
16
-
17
- ## Como usar
18
-
19
- ```
20
- /dare-dag-run
21
- /dare-dag-run --task task-003 # executar só uma task específica
22
- ```
23
-
24
- ## O que fazer
25
-
26
- ### 1. Validar pré-condições
27
-
28
- - Confirme que `DARE/dare-dag.yaml` existe. Se não, oriente
29
- `/dare-blueprint` ou `/dare-dag-build`
30
- - Leia o YAML e verifique sem ciclos, ids únicos, ranks paralelizáveis
31
-
32
- ### 2. Pegar próximas tasks
33
-
34
- ```bash
35
- dare execute --next
36
- ```
37
-
38
- O CLI imprime as tasks ready do rank atual com o prompt completo (snippets
39
- de até 2000 chars dos outputs dos pais já costurados). Use esses prompts.
40
-
41
- ### 3. Sugerir abrir o canvas
42
-
43
- Antes de começar, peça ao usuário abrir `DARE/.canvas.md` em outra aba.
44
-
45
- ### 4. Executar cada task
46
-
47
- Para cada task ready:
48
-
49
- 1. Leia `spec_file` se houver
50
- 2. Implemente conforme o prompt
51
- 3. Rode Ralph Loop: build → test → lint
52
- 4. Registre o resultado:
53
-
54
- ```bash
55
- # Sucesso
56
- dare execute --complete task-001 --output "Resumo + arquivos criados (paths)"
57
-
58
- # Falha
59
- dare execute --fail task-002 --reason "Mensagem clara da falha"
60
- ```
61
-
62
- ### 5. Avançar de rank
63
-
64
- ```bash
65
- dare execute --next
66
- ```
67
-
68
- Se aparece `✅ All tasks resolved`, todas terminaram. Caso contrário, continue.
69
-
70
- ### 6. Pós-execução
71
-
72
- ```bash
73
- dare execute --status
74
- ```
75
-
76
- Para retentar tasks FAILED:
77
-
78
- ```bash
79
- dare execute --reset task-002
80
- dare execute --next
81
- ```
82
-
83
- ## Comandos do orquestrador
84
-
85
- | Comando | Função |
86
- |---------|--------|
87
- | `dare execute --next` | Próximas tasks ready com prompts compostos |
88
- | `dare execute --complete <id> --output "…"` | Marca DONE |
89
- | `dare execute --fail <id> --reason "…"` | Marca FAILED + cascade-skip |
90
- | `dare execute --reset <id>` | Volta para PENDING |
91
- | `dare execute --status` | Snapshot do canvas + sumário |
92
-
93
- ## Erros comuns
94
-
95
- | Sintoma | Causa | Correção |
96
- |---------|-------|----------|
97
- | `dare-dag.yaml not found` | Não foi gerado | `/dare-blueprint` ou `/dare-dag-build` |
98
- | Cascata de SKIPPED | Pai falhou | Corrija pai → `--reset` → `--next` |
99
- | Output truncado | Cap de 4000 chars | Escreva em arquivo, retorne resumo |
100
- | Spec inconsistente | TASKS.md ≠ dare-dag.yaml | Re-gere com `/dare-dag-build` |
101
-
102
- ## Referências
103
-
104
- - Schema: `DARE/dare-dag.yaml`
105
- - Canvas: `DARE/.canvas.md`
106
- - Specs: `DARE/EXECUTION/task-*.md`
107
- - Status: `DARE/TASKS.md`
108
-
109
- $ARGUMENTS
1
+ # /dare-dag-run
2
+
3
+ Executa o grafo de tasks definido em `DARE/dare-dag.yaml` usando **Claude
4
+ Code como executor** e o CLI `dare` como orquestrador. O canvas ao vivo fica
5
+ em `DARE/.canvas.md`.
6
+
7
+ > **Sem API keys.** Você (Claude Code) usa o plano da IDE/CLI em que o
8
+ > usuário já está autenticado. O CLI apenas coordena estado, monta prompts
9
+ > e atualiza canvas.
10
+
11
+ ## Pré-requisitos
12
+
13
+ - `DARE/dare-dag.yaml` existe e foi aprovado
14
+ - Specs em `DARE/EXECUTION/task-<id>.md` geradas
15
+ - `dare` disponível no PATH (`npm i -g @dewtech/dare-cli`)
16
+
17
+ ## Como usar
18
+
19
+ ```
20
+ /dare-dag-run
21
+ /dare-dag-run --task task-003 # executar só uma task específica
22
+ ```
23
+
24
+ ## O que fazer
25
+
26
+ ### 1. Validar pré-condições
27
+
28
+ - Confirme que `DARE/dare-dag.yaml` existe. Se não, oriente
29
+ `/dare-blueprint` ou `/dare-dag-build`
30
+ - Leia o YAML e verifique sem ciclos, ids únicos, ranks paralelizáveis
31
+
32
+ ### 2. Pegar próximas tasks
33
+
34
+ ```bash
35
+ dare execute --next
36
+ ```
37
+
38
+ O CLI imprime as tasks ready do rank atual com o prompt completo (snippets
39
+ de até 2000 chars dos outputs dos pais já costurados). Use esses prompts.
40
+
41
+ ### 3. Sugerir abrir o canvas
42
+
43
+ Antes de começar, peça ao usuário abrir `DARE/.canvas.md` em outra aba.
44
+
45
+ ### 4. Executar cada task
46
+
47
+ Para cada task ready:
48
+
49
+ 1. Leia `spec_file` se houver
50
+ 2. Implemente conforme o prompt
51
+ 3. Rode Ralph Loop: build → test → lint
52
+ 4. Registre o resultado:
53
+
54
+ ```bash
55
+ # Sucesso
56
+ dare execute --complete task-001 --output "Resumo + arquivos criados (paths)"
57
+
58
+ # Falha
59
+ dare execute --fail task-002 --reason "Mensagem clara da falha"
60
+ ```
61
+
62
+ ### 5. Avançar de rank
63
+
64
+ ```bash
65
+ dare execute --next
66
+ ```
67
+
68
+ Se aparece `✅ All tasks resolved`, todas terminaram. Caso contrário, continue.
69
+
70
+ ### 6. Pós-execução
71
+
72
+ ```bash
73
+ dare execute --status
74
+ ```
75
+
76
+ Para retentar tasks FAILED:
77
+
78
+ ```bash
79
+ dare execute --reset task-002
80
+ dare execute --next
81
+ ```
82
+
83
+ ## Comandos do orquestrador
84
+
85
+ | Comando | Função |
86
+ |---------|--------|
87
+ | `dare execute --next` | Próximas tasks ready com prompts compostos |
88
+ | `dare execute --complete <id> --output "…"` | Marca DONE |
89
+ | `dare execute --fail <id> --reason "…"` | Marca FAILED + cascade-skip |
90
+ | `dare execute --reset <id>` | Volta para PENDING |
91
+ | `dare execute --status` | Snapshot do canvas + sumário |
92
+
93
+ ## Erros comuns
94
+
95
+ | Sintoma | Causa | Correção |
96
+ |---------|-------|----------|
97
+ | `dare-dag.yaml not found` | Não foi gerado | `/dare-blueprint` ou `/dare-dag-build` |
98
+ | Cascata de SKIPPED | Pai falhou | Corrija pai → `--reset` → `--next` |
99
+ | Output truncado | Cap de 4000 chars | Escreva em arquivo, retorne resumo |
100
+ | Spec inconsistente | TASKS.md ≠ dare-dag.yaml | Re-gere com `/dare-dag-build` |
101
+
102
+ ## Referências
103
+
104
+ - Schema: `DARE/dare-dag.yaml`
105
+ - Canvas: `DARE/.canvas.md`
106
+ - Specs: `DARE/EXECUTION/task-*.md`
107
+ - Status: `DARE/TASKS.md`
108
+
109
+ $ARGUMENTS