@dewtech/dare-cli 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (582) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +764 -764
  3. package/dist/__tests__/confidence.test.js +13 -13
  4. package/dist/__tests__/dag-converter.test.js +56 -56
  5. package/dist/__tests__/mcp-server/server.test.js +3 -16
  6. package/dist/__tests__/mcp-server/server.test.js.map +1 -1
  7. package/dist/__tests__/project-generator.test.js +2 -2
  8. package/dist/__tests__/project-generator.test.js.map +1 -1
  9. package/dist/__tests__/refine.test.js +49 -49
  10. package/dist/__tests__/reverse-collection.test.js +6 -6
  11. package/dist/__tests__/review.test.js +38 -38
  12. package/dist/__tests__/security-hardening.test.d.ts +2 -0
  13. package/dist/__tests__/security-hardening.test.d.ts.map +1 -0
  14. package/dist/__tests__/security-hardening.test.js +101 -0
  15. package/dist/__tests__/security-hardening.test.js.map +1 -0
  16. package/dist/__tests__/validate.test.js +65 -65
  17. package/dist/bin/dare.js +0 -0
  18. package/dist/commands/__tests__/init-validation.test.d.ts +2 -0
  19. package/dist/commands/__tests__/init-validation.test.d.ts.map +1 -0
  20. package/dist/commands/__tests__/init-validation.test.js +81 -0
  21. package/dist/commands/__tests__/init-validation.test.js.map +1 -0
  22. package/dist/commands/__tests__/init.integration.spec.js +6 -4
  23. package/dist/commands/__tests__/init.integration.spec.js.map +1 -1
  24. package/dist/commands/__tests__/init.spec.d.ts +2 -0
  25. package/dist/commands/__tests__/init.spec.d.ts.map +1 -0
  26. package/dist/commands/__tests__/init.spec.js +88 -0
  27. package/dist/commands/__tests__/init.spec.js.map +1 -0
  28. package/dist/commands/blueprint.js +122 -122
  29. package/dist/commands/design.js +20 -20
  30. package/dist/commands/init-validation.d.ts +22 -0
  31. package/dist/commands/init-validation.d.ts.map +1 -0
  32. package/dist/commands/init-validation.js +54 -0
  33. package/dist/commands/init-validation.js.map +1 -0
  34. package/dist/commands/init.d.ts.map +1 -1
  35. package/dist/commands/init.js +26 -10
  36. package/dist/commands/init.js.map +1 -1
  37. package/dist/graphrag/graph-rag.js +24 -24
  38. package/dist/mcp-server/__tests__/auth.test.d.ts +2 -0
  39. package/dist/mcp-server/__tests__/auth.test.d.ts.map +1 -0
  40. package/dist/mcp-server/__tests__/auth.test.js +72 -0
  41. package/dist/mcp-server/__tests__/auth.test.js.map +1 -0
  42. package/dist/mcp-server/__tests__/boot-config.test.d.ts +2 -0
  43. package/dist/mcp-server/__tests__/boot-config.test.d.ts.map +1 -0
  44. package/dist/mcp-server/__tests__/boot-config.test.js +29 -0
  45. package/dist/mcp-server/__tests__/boot-config.test.js.map +1 -0
  46. package/dist/mcp-server/__tests__/error-sanitize.test.d.ts +2 -0
  47. package/dist/mcp-server/__tests__/error-sanitize.test.d.ts.map +1 -0
  48. package/dist/mcp-server/__tests__/error-sanitize.test.js +66 -0
  49. package/dist/mcp-server/__tests__/error-sanitize.test.js.map +1 -0
  50. package/dist/mcp-server/__tests__/path-confinement.test.d.ts +2 -0
  51. package/dist/mcp-server/__tests__/path-confinement.test.d.ts.map +1 -0
  52. package/dist/mcp-server/__tests__/path-confinement.test.js +135 -0
  53. package/dist/mcp-server/__tests__/path-confinement.test.js.map +1 -0
  54. package/dist/mcp-server/bin/server.js +18 -6
  55. package/dist/mcp-server/bin/server.js.map +1 -1
  56. package/dist/mcp-server/boot-config.d.ts +6 -0
  57. package/dist/mcp-server/boot-config.d.ts.map +1 -0
  58. package/dist/mcp-server/boot-config.js +17 -0
  59. package/dist/mcp-server/boot-config.js.map +1 -0
  60. package/dist/mcp-server/middleware/auth.d.ts +10 -0
  61. package/dist/mcp-server/middleware/auth.d.ts.map +1 -0
  62. package/dist/mcp-server/middleware/auth.js +44 -0
  63. package/dist/mcp-server/middleware/auth.js.map +1 -0
  64. package/dist/mcp-server/middleware/cors.d.ts +6 -0
  65. package/dist/mcp-server/middleware/cors.d.ts.map +1 -0
  66. package/dist/mcp-server/middleware/cors.js +30 -0
  67. package/dist/mcp-server/middleware/cors.js.map +1 -0
  68. package/dist/mcp-server/middleware/error-handler.d.ts +11 -0
  69. package/dist/mcp-server/middleware/error-handler.d.ts.map +1 -0
  70. package/dist/mcp-server/middleware/error-handler.js +14 -0
  71. package/dist/mcp-server/middleware/error-handler.js.map +1 -0
  72. package/dist/mcp-server/server.d.ts +7 -2
  73. package/dist/mcp-server/server.d.ts.map +1 -1
  74. package/dist/mcp-server/server.js +185 -105
  75. package/dist/mcp-server/server.js.map +1 -1
  76. package/dist/skills/registry-mock.json +109 -109
  77. package/dist/skills/tests/manifest.spec.js +20 -20
  78. package/dist/stacks/__tests__/dna-emitter.spec.js +6 -6
  79. package/dist/stacks/dna-emitter.js +69 -69
  80. package/dist/stacks/ruby-rails-8/scaffold.js +15 -15
  81. package/dist/utils/project-generator.d.ts.map +1 -1
  82. package/dist/utils/project-generator.js +254 -252
  83. package/dist/utils/project-generator.js.map +1 -1
  84. package/dist/utils/stack-bootstrap.js +371 -371
  85. package/dist/utils/templates.js +394 -394
  86. package/dist/verification/__tests__/anti-tamper.test.js +13 -13
  87. package/package.json +96 -93
  88. package/templates/DARE-dag-example.yaml +280 -280
  89. package/templates/UPDATE-MANIFEST.json +68 -68
  90. package/templates/backend/node-nestjs/.env.example +9 -9
  91. package/templates/backend/node-nestjs/nest-cli.json +8 -8
  92. package/templates/backend/node-nestjs/package.json +50 -50
  93. package/templates/backend/node-nestjs/src/app.controller.ts +12 -12
  94. package/templates/backend/node-nestjs/src/app.module.ts +15 -15
  95. package/templates/backend/node-nestjs/src/app.service.ts +8 -8
  96. package/templates/backend/node-nestjs/src/main.ts +24 -24
  97. package/templates/backend/node-nestjs/tsconfig.json +21 -21
  98. package/templates/backend/php-laravel/.env.example +22 -22
  99. package/templates/backend/php-laravel/app/Http/Controllers/HealthController.php +15 -15
  100. package/templates/backend/php-laravel/composer.json +40 -40
  101. package/templates/backend/python-fastapi/.env.example +4 -4
  102. package/templates/backend/python-fastapi/app/api/router.py +8 -8
  103. package/templates/backend/python-fastapi/app/core/config.py +20 -20
  104. package/templates/backend/python-fastapi/main.py +35 -35
  105. package/templates/backend/python-fastapi/requirements.txt +13 -13
  106. package/templates/backend/rust-axum/.env.example +3 -3
  107. package/templates/backend/rust-axum/Cargo.toml +23 -23
  108. package/templates/backend/rust-axum/src/errors.rs +30 -30
  109. package/templates/backend/rust-axum/src/main.rs +32 -32
  110. package/templates/backend/rust-axum/src/routes.rs +6 -6
  111. package/templates/frontend/leptos-csr/.cargo/config.toml +2 -2
  112. package/templates/frontend/leptos-csr/Cargo.toml +16 -16
  113. package/templates/frontend/leptos-csr/Trunk.toml +10 -10
  114. package/templates/frontend/leptos-csr/index.html +11 -11
  115. package/templates/frontend/leptos-csr/src/lib.rs +20 -20
  116. package/templates/frontend/leptos-csr/style/main.scss +19 -19
  117. package/templates/frontend/leptos-fullstack/.cargo/config.toml +4 -4
  118. package/templates/frontend/leptos-fullstack/Cargo.toml +56 -56
  119. package/templates/frontend/leptos-fullstack/src/app.rs +49 -49
  120. package/templates/frontend/leptos-fullstack/src/lib.rs +9 -9
  121. package/templates/frontend/leptos-fullstack/src/main.rs +29 -29
  122. package/templates/frontend/leptos-fullstack/style/main.scss +19 -19
  123. package/templates/frontend/react/index.html +12 -12
  124. package/templates/frontend/react/package.json +35 -35
  125. package/templates/frontend/react/src/App.tsx +25 -25
  126. package/templates/frontend/react/src/main.tsx +9 -9
  127. package/templates/frontend/vue/package.json +32 -32
  128. package/templates/frontend/vue/src/App.vue +7 -7
  129. package/templates/frontend/vue/src/main.ts +10 -10
  130. package/templates/frontend/vue/src/router/index.ts +14 -14
  131. package/templates/frontend/vue/src/views/HomeView.vue +6 -6
  132. package/templates/hooks/pre-commit-dare-validate +24 -24
  133. package/templates/ide/antigravity/.agents/skills/dare-ax/SKILL.md +152 -152
  134. package/templates/ide/antigravity/.agents/skills/dare-bench/SKILL.md +21 -21
  135. package/templates/ide/antigravity/.agents/skills/dare-blueprint/SKILL.md +368 -368
  136. package/templates/ide/antigravity/.agents/skills/dare-bootstrap/SKILL.md +32 -32
  137. package/templates/ide/antigravity/.agents/skills/dare-bugfix-design/SKILL.md +76 -76
  138. package/templates/ide/antigravity/.agents/skills/dare-dag/SKILL.md +32 -32
  139. package/templates/ide/antigravity/.agents/skills/dare-dag-build/SKILL.md +154 -154
  140. package/templates/ide/antigravity/.agents/skills/dare-dag-run/SKILL.md +130 -130
  141. package/templates/ide/antigravity/.agents/skills/dare-dag-runner/SKILL.md +203 -203
  142. package/templates/ide/antigravity/.agents/skills/dare-design/SKILL.md +180 -180
  143. package/templates/ide/antigravity/.agents/skills/dare-discover/SKILL.md +33 -33
  144. package/templates/ide/antigravity/.agents/skills/dare-dna/SKILL.md +63 -63
  145. package/templates/ide/antigravity/.agents/skills/dare-docker/SKILL.md +315 -315
  146. package/templates/ide/antigravity/.agents/skills/dare-execute/SKILL.md +264 -264
  147. package/templates/ide/antigravity/.agents/skills/dare-feature-design/SKILL.md +74 -74
  148. package/templates/ide/antigravity/.agents/skills/dare-frontend-design/SKILL.md +192 -192
  149. package/templates/ide/antigravity/.agents/skills/dare-graph/SKILL.md +35 -35
  150. package/templates/ide/antigravity/.agents/skills/dare-info/SKILL.md +31 -31
  151. package/templates/ide/antigravity/.agents/skills/dare-init/SKILL.md +35 -35
  152. package/templates/ide/antigravity/.agents/skills/dare-laravel-api/SKILL.md +337 -337
  153. package/templates/ide/antigravity/.agents/skills/dare-layered-design/SKILL.md +166 -166
  154. package/templates/ide/antigravity/.agents/skills/dare-llm-integration/SKILL.md +217 -217
  155. package/templates/ide/antigravity/.agents/skills/dare-migrate/SKILL.md +61 -61
  156. package/templates/ide/antigravity/.agents/skills/dare-quality-telemetry/SKILL.md +187 -187
  157. package/templates/ide/antigravity/.agents/skills/dare-realtime/SKILL.md +217 -217
  158. package/templates/ide/antigravity/.agents/skills/dare-refine/SKILL.md +114 -114
  159. package/templates/ide/antigravity/.agents/skills/dare-reverse/SKILL.md +108 -108
  160. package/templates/ide/antigravity/.agents/skills/dare-review/SKILL.md +111 -111
  161. package/templates/ide/antigravity/.agents/skills/dare-rust-leptos/SKILL.md +263 -263
  162. package/templates/ide/antigravity/.agents/skills/dare-rust-workspace/SKILL.md +275 -275
  163. package/templates/ide/antigravity/.agents/skills/dare-security/SKILL.md +274 -274
  164. package/templates/ide/antigravity/.agents/skills/dare-skill/SKILL.md +35 -35
  165. package/templates/ide/antigravity/.agents/skills/dare-tasks/SKILL.md +265 -265
  166. package/templates/ide/antigravity/.agents/skills/dare-telemetry/SKILL.md +188 -188
  167. package/templates/ide/antigravity/.agents/skills/dare-update/SKILL.md +33 -33
  168. package/templates/ide/antigravity/.agents/skills/dare-validate/SKILL.md +33 -33
  169. package/templates/ide/antigravity/.agents/skills/dare-welcome/SKILL.md +30 -30
  170. package/templates/ide/antigravity/.agents/skills/skill-fastapi-api/SKILL.md +343 -343
  171. package/templates/ide/antigravity/.agents/skills/skill-go-gin-api/SKILL.md +377 -377
  172. package/templates/ide/antigravity/.agents/skills/skill-mcp-server/SKILL.md +382 -382
  173. package/templates/ide/antigravity/.agents/skills/skill-nestjs-api/SKILL.md +326 -326
  174. package/templates/ide/antigravity/.agents/skills/skill-rails-api/SKILL.md +393 -393
  175. package/templates/ide/antigravity/templates/BLUEPRINT-template.md +193 -193
  176. package/templates/ide/antigravity/templates/DESIGN-template.md +129 -129
  177. package/templates/ide/antigravity/templates/TASK-SPEC-template.md +141 -141
  178. package/templates/ide/antigravity/templates/TASKS-template.md +26 -26
  179. package/templates/ide/antigravity/templates/TELEMETRY-template.md +125 -125
  180. package/templates/ide/claude/.claude/commands/dare-ax.md +131 -131
  181. package/templates/ide/claude/.claude/commands/dare-bench.md +18 -18
  182. package/templates/ide/claude/.claude/commands/dare-blueprint.md +134 -134
  183. package/templates/ide/claude/.claude/commands/dare-bootstrap.md +27 -27
  184. package/templates/ide/claude/.claude/commands/dare-bugfix-design.md +119 -119
  185. package/templates/ide/claude/.claude/commands/dare-dag-build.md +151 -151
  186. package/templates/ide/claude/.claude/commands/dare-dag-run.md +109 -109
  187. package/templates/ide/claude/.claude/commands/dare-dag-runner.md +117 -117
  188. package/templates/ide/claude/.claude/commands/dare-dag-viz.md +197 -197
  189. package/templates/ide/claude/.claude/commands/dare-dag.md +27 -27
  190. package/templates/ide/claude/.claude/commands/dare-design.md +69 -69
  191. package/templates/ide/claude/.claude/commands/dare-discover.md +28 -28
  192. package/templates/ide/claude/.claude/commands/dare-dna.md +75 -75
  193. package/templates/ide/claude/.claude/commands/dare-docker.md +207 -207
  194. package/templates/ide/claude/.claude/commands/dare-execute.md +152 -152
  195. package/templates/ide/claude/.claude/commands/dare-feature-design.md +147 -147
  196. package/templates/ide/claude/.claude/commands/dare-frontend-design.md +149 -149
  197. package/templates/ide/claude/.claude/commands/dare-graph.md +30 -30
  198. package/templates/ide/claude/.claude/commands/dare-info.md +26 -26
  199. package/templates/ide/claude/.claude/commands/dare-init.md +30 -30
  200. package/templates/ide/claude/.claude/commands/dare-laravel-api.md +211 -211
  201. package/templates/ide/claude/.claude/commands/dare-layered-design.md +124 -124
  202. package/templates/ide/claude/.claude/commands/dare-llm-integration.md +148 -148
  203. package/templates/ide/claude/.claude/commands/dare-migrate.md +72 -72
  204. package/templates/ide/claude/.claude/commands/dare-quality-telemetry.md +166 -166
  205. package/templates/ide/claude/.claude/commands/dare-realtime.md +159 -159
  206. package/templates/ide/claude/.claude/commands/dare-refine.md +145 -145
  207. package/templates/ide/claude/.claude/commands/dare-reverse.md +139 -139
  208. package/templates/ide/claude/.claude/commands/dare-review.md +113 -113
  209. package/templates/ide/claude/.claude/commands/dare-rust-leptos.md +269 -269
  210. package/templates/ide/claude/.claude/commands/dare-rust-workspace.md +209 -209
  211. package/templates/ide/claude/.claude/commands/dare-security.md +232 -232
  212. package/templates/ide/claude/.claude/commands/dare-skill.md +30 -30
  213. package/templates/ide/claude/.claude/commands/dare-tasks.md +70 -70
  214. package/templates/ide/claude/.claude/commands/dare-telemetry.md +132 -132
  215. package/templates/ide/claude/.claude/commands/dare-update.md +28 -28
  216. package/templates/ide/claude/.claude/commands/dare-validate.md +28 -28
  217. package/templates/ide/claude/.claude/commands/dare-welcome.md +25 -25
  218. package/templates/ide/claude/.claude/commands/skill-fastapi-api.md +205 -205
  219. package/templates/ide/claude/.claude/commands/skill-go-gin-api.md +232 -232
  220. package/templates/ide/claude/.claude/commands/skill-mcp-server.md +228 -228
  221. package/templates/ide/claude/.claude/commands/skill-nestjs-api.md +210 -210
  222. package/templates/ide/claude/.claude/commands/skill-rails-api.md +236 -236
  223. package/templates/ide/claude/.claude/settings.example.json +35 -35
  224. package/templates/ide/claude/CLAUDE.md +146 -146
  225. package/templates/ide/claude/templates/BLUEPRINT-template.md +193 -193
  226. package/templates/ide/claude/templates/DESIGN-template.md +129 -129
  227. package/templates/ide/claude/templates/TASK-SPEC-template.md +141 -141
  228. package/templates/ide/claude/templates/TASKS-template.md +26 -26
  229. package/templates/ide/claude/templates/TELEMETRY-template.md +125 -125
  230. package/templates/ide/cursor/.cursor/commands/dare-bench.md +18 -18
  231. package/templates/ide/cursor/.cursor/commands/dare-blueprint.md +86 -86
  232. package/templates/ide/cursor/.cursor/commands/dare-bootstrap.md +27 -27
  233. package/templates/ide/cursor/.cursor/commands/dare-bugfix-design.md +64 -64
  234. package/templates/ide/cursor/.cursor/commands/dare-dag-run.md +110 -110
  235. package/templates/ide/cursor/.cursor/commands/dare-dag-viz.md +139 -139
  236. package/templates/ide/cursor/.cursor/commands/dare-dag.md +27 -27
  237. package/templates/ide/cursor/.cursor/commands/dare-design.md +35 -35
  238. package/templates/ide/cursor/.cursor/commands/dare-discover.md +28 -28
  239. package/templates/ide/cursor/.cursor/commands/dare-dna.md +75 -75
  240. package/templates/ide/cursor/.cursor/commands/dare-docker-compose.md +18 -18
  241. package/templates/ide/cursor/.cursor/commands/dare-dockerfile.md +17 -17
  242. package/templates/ide/cursor/.cursor/commands/dare-execute.md +19 -19
  243. package/templates/ide/cursor/.cursor/commands/dare-feature-design.md +64 -64
  244. package/templates/ide/cursor/.cursor/commands/dare-graph.md +30 -30
  245. package/templates/ide/cursor/.cursor/commands/dare-info.md +26 -26
  246. package/templates/ide/cursor/.cursor/commands/dare-init.md +30 -30
  247. package/templates/ide/cursor/.cursor/commands/dare-migrate.md +72 -72
  248. package/templates/ide/cursor/.cursor/commands/dare-refine.md +107 -107
  249. package/templates/ide/cursor/.cursor/commands/dare-reverse.md +139 -139
  250. package/templates/ide/cursor/.cursor/commands/dare-review.md +91 -91
  251. package/templates/ide/cursor/.cursor/commands/dare-skill.md +30 -30
  252. package/templates/ide/cursor/.cursor/commands/dare-tasks.md +184 -184
  253. package/templates/ide/cursor/.cursor/commands/dare-telemetry.md +42 -42
  254. package/templates/ide/cursor/.cursor/commands/dare-update.md +28 -28
  255. package/templates/ide/cursor/.cursor/commands/dare-validate.md +28 -28
  256. package/templates/ide/cursor/.cursor/commands/dare-welcome.md +25 -25
  257. package/templates/ide/cursor/.cursor/rules/skill-ax.mdc +263 -263
  258. package/templates/ide/cursor/.cursor/rules/skill-bugfix-design.mdc +51 -51
  259. package/templates/ide/cursor/.cursor/rules/skill-dag-build.mdc +173 -173
  260. package/templates/ide/cursor/.cursor/rules/skill-dag-run.mdc +134 -134
  261. package/templates/ide/cursor/.cursor/rules/skill-dag-runner.mdc +221 -221
  262. package/templates/ide/cursor/.cursor/rules/skill-dna.mdc +63 -63
  263. package/templates/ide/cursor/.cursor/rules/skill-docker.mdc +33 -33
  264. package/templates/ide/cursor/.cursor/rules/skill-fastapi-api.mdc +352 -352
  265. package/templates/ide/cursor/.cursor/rules/skill-feature-design.mdc +43 -43
  266. package/templates/ide/cursor/.cursor/rules/skill-frontend-design.mdc +244 -244
  267. package/templates/ide/cursor/.cursor/rules/skill-go-gin-api.mdc +371 -371
  268. package/templates/ide/cursor/.cursor/rules/skill-laravel-api.mdc +44 -44
  269. package/templates/ide/cursor/.cursor/rules/skill-layered-design.mdc +266 -266
  270. package/templates/ide/cursor/.cursor/rules/skill-llm-integration.mdc +295 -295
  271. package/templates/ide/cursor/.cursor/rules/skill-mcp-server.mdc +367 -367
  272. package/templates/ide/cursor/.cursor/rules/skill-migrate.mdc +58 -58
  273. package/templates/ide/cursor/.cursor/rules/skill-nestjs-api.mdc +346 -346
  274. package/templates/ide/cursor/.cursor/rules/skill-quality-telemetry.mdc +248 -248
  275. package/templates/ide/cursor/.cursor/rules/skill-rails-api.mdc +400 -400
  276. package/templates/ide/cursor/.cursor/rules/skill-realtime.mdc +262 -262
  277. package/templates/ide/cursor/.cursor/rules/skill-reverse.mdc +107 -107
  278. package/templates/ide/cursor/.cursor/rules/skill-rust-leptos.mdc +281 -281
  279. package/templates/ide/cursor/.cursor/rules/skill-rust-workspace.mdc +312 -312
  280. package/templates/ide/cursor/.cursor/rules/skill-security.mdc +245 -245
  281. package/templates/ide/cursor/.cursor/rules/skill-telemetry.mdc +156 -156
  282. package/templates/ide/cursor/templates/BLUEPRINT-template.md +193 -193
  283. package/templates/ide/cursor/templates/DESIGN-template.md +129 -129
  284. package/templates/ide/cursor/templates/TASK-SPEC-template.md +141 -141
  285. package/templates/ide/cursor/templates/TASKS-template.md +26 -26
  286. package/templates/ide/cursor/templates/TELEMETRY-template.md +125 -125
  287. package/templates/shared/docker-compose.yml +41 -41
  288. package/templates/stacks/go-gin/.dare/skills.yml +11 -11
  289. package/templates/stacks/go-gin/.env.example +24 -24
  290. package/templates/stacks/go-gin/.github/workflows/dare-ci.yml +42 -42
  291. package/templates/stacks/go-gin/README.md.tpl +38 -38
  292. package/templates/stacks/go-gin/cmd/server/main.go.tpl +78 -78
  293. package/templates/stacks/go-gin/db/migrations/0001_create_users.down.sql +2 -2
  294. package/templates/stacks/go-gin/db/migrations/0001_create_users.up.sql +12 -12
  295. package/templates/stacks/go-gin/db/queries/users.sql +23 -23
  296. package/templates/stacks/go-gin/gitignore +7 -7
  297. package/templates/stacks/go-gin/go.mod.tpl +17 -17
  298. package/templates/stacks/go-gin/internal/config/config.go +41 -41
  299. package/templates/stacks/go-gin/internal/db/postgres.go.tpl +25 -25
  300. package/templates/stacks/go-gin/internal/handler/auth_handler.go.tpl +72 -72
  301. package/templates/stacks/go-gin/internal/handler/users_handler.go.tpl +72 -72
  302. package/templates/stacks/go-gin/internal/handler/ws_handler.go +37 -37
  303. package/templates/stacks/go-gin/internal/llm/dummy.go +14 -14
  304. package/templates/stacks/go-gin/internal/llm/provider.go +8 -8
  305. package/templates/stacks/go-gin/internal/middleware/jwt.go.tpl +58 -58
  306. package/templates/stacks/go-gin/internal/middleware/rate_limit.go +55 -55
  307. package/templates/stacks/go-gin/internal/model/user.go +17 -17
  308. package/templates/stacks/go-gin/internal/repository/users_repository.go.tpl +79 -79
  309. package/templates/stacks/go-gin/internal/service/auth_service.go.tpl +55 -55
  310. package/templates/stacks/go-gin/internal/service/users_service.go.tpl +53 -53
  311. package/templates/stacks/go-gin/llms.txt.tpl +54 -54
  312. package/templates/stacks/go-gin/openapi.json.tpl +46 -46
  313. package/templates/stacks/go-gin/sqlc.yaml +14 -14
  314. package/templates/stacks/go-gin/tests/smoke_test.go.tpl +22 -22
  315. package/templates/stacks/go-stdlib/.dare/skills.yml +11 -11
  316. package/templates/stacks/go-stdlib/.env.example +24 -24
  317. package/templates/stacks/go-stdlib/.github/workflows/dare-ci.yml +42 -42
  318. package/templates/stacks/go-stdlib/README.md.tpl +41 -41
  319. package/templates/stacks/go-stdlib/cmd/server/main.go.tpl +82 -82
  320. package/templates/stacks/go-stdlib/db/migrations/0001_create_users.down.sql +2 -2
  321. package/templates/stacks/go-stdlib/db/migrations/0001_create_users.up.sql +12 -12
  322. package/templates/stacks/go-stdlib/db/queries/users.sql +23 -23
  323. package/templates/stacks/go-stdlib/gitignore +6 -6
  324. package/templates/stacks/go-stdlib/go.mod.tpl +15 -15
  325. package/templates/stacks/go-stdlib/internal/config/config.go +41 -41
  326. package/templates/stacks/go-stdlib/internal/db/postgres.go.tpl +24 -24
  327. package/templates/stacks/go-stdlib/internal/handler/auth_handler.go.tpl +71 -71
  328. package/templates/stacks/go-stdlib/internal/handler/users_handler.go.tpl +84 -84
  329. package/templates/stacks/go-stdlib/internal/handler/ws_handler.go +36 -36
  330. package/templates/stacks/go-stdlib/internal/httpx/json.go +32 -32
  331. package/templates/stacks/go-stdlib/internal/llm/dummy.go +14 -14
  332. package/templates/stacks/go-stdlib/internal/llm/provider.go +8 -8
  333. package/templates/stacks/go-stdlib/internal/middleware/chain.go +21 -21
  334. package/templates/stacks/go-stdlib/internal/middleware/cors.go +27 -27
  335. package/templates/stacks/go-stdlib/internal/middleware/jwt.go.tpl +51 -51
  336. package/templates/stacks/go-stdlib/internal/middleware/rate_limit.go +81 -81
  337. package/templates/stacks/go-stdlib/internal/model/user.go +17 -17
  338. package/templates/stacks/go-stdlib/internal/repository/users_repository.go.tpl +75 -75
  339. package/templates/stacks/go-stdlib/internal/service/auth_service.go.tpl +55 -55
  340. package/templates/stacks/go-stdlib/internal/service/users_service.go.tpl +53 -53
  341. package/templates/stacks/go-stdlib/llms.txt.tpl +60 -60
  342. package/templates/stacks/go-stdlib/openapi.json.tpl +46 -46
  343. package/templates/stacks/go-stdlib/sqlc.yaml +14 -14
  344. package/templates/stacks/go-stdlib/tests/smoke_test.go.tpl +45 -45
  345. package/templates/stacks/mcp-go/.dare/skills.yml +8 -8
  346. package/templates/stacks/mcp-go/.env.example +14 -14
  347. package/templates/stacks/mcp-go/.github/workflows/dare-ci.yml +42 -42
  348. package/templates/stacks/mcp-go/README.md.tpl +50 -50
  349. package/templates/stacks/mcp-go/cmd/server/main.go.tpl +62 -62
  350. package/templates/stacks/mcp-go/gitignore +6 -6
  351. package/templates/stacks/mcp-go/go.mod.tpl +9 -9
  352. package/templates/stacks/mcp-go/internal/prompts/summarize.go +9 -9
  353. package/templates/stacks/mcp-go/internal/server/server.go.tpl +80 -80
  354. package/templates/stacks/mcp-go/internal/tools/echo.go +15 -15
  355. package/templates/stacks/mcp-go/internal/transports/http.go.tpl +21 -21
  356. package/templates/stacks/mcp-go/internal/transports/sse.go.tpl +17 -17
  357. package/templates/stacks/mcp-go/internal/transports/stdio.go.tpl +14 -14
  358. package/templates/stacks/mcp-go/llms.txt.tpl +60 -60
  359. package/templates/stacks/mcp-go/openapi.json.tpl +31 -31
  360. package/templates/stacks/mcp-go/tests/echo_test.go.tpl +37 -37
  361. package/templates/stacks/mcp-node-ts/.dare/skills.yml +8 -8
  362. package/templates/stacks/mcp-node-ts/.env.example +16 -16
  363. package/templates/stacks/mcp-node-ts/.github/workflows/dare-ci.yml +54 -54
  364. package/templates/stacks/mcp-node-ts/README.md.hbs +49 -49
  365. package/templates/stacks/mcp-node-ts/gitignore +7 -7
  366. package/templates/stacks/mcp-node-ts/llms.txt.hbs +61 -61
  367. package/templates/stacks/mcp-node-ts/openapi.json.hbs +39 -39
  368. package/templates/stacks/mcp-node-ts/package.json.hbs +35 -35
  369. package/templates/stacks/mcp-node-ts/src/cli.ts.hbs +71 -71
  370. package/templates/stacks/mcp-node-ts/src/prompts/index.ts +36 -36
  371. package/templates/stacks/mcp-node-ts/src/server.ts.hbs +45 -45
  372. package/templates/stacks/mcp-node-ts/src/tools/echo.ts +23 -23
  373. package/templates/stacks/mcp-node-ts/src/tools/index.ts +18 -18
  374. package/templates/stacks/mcp-node-ts/src/transports/http.ts +68 -68
  375. package/templates/stacks/mcp-node-ts/src/transports/sse.ts +58 -58
  376. package/templates/stacks/mcp-node-ts/src/transports/stdio.ts +5 -5
  377. package/templates/stacks/mcp-node-ts/tests/echo.test.ts +50 -50
  378. package/templates/stacks/mcp-node-ts/tsconfig.json +17 -17
  379. package/templates/stacks/mcp-python/.dare/skills.yml +8 -8
  380. package/templates/stacks/mcp-python/.env.example +14 -14
  381. package/templates/stacks/mcp-python/.github/workflows/dare-ci.yml +42 -42
  382. package/templates/stacks/mcp-python/README.md.j2 +49 -49
  383. package/templates/stacks/mcp-python/gitignore +12 -12
  384. package/templates/stacks/mcp-python/llms.txt.j2 +56 -56
  385. package/templates/stacks/mcp-python/openapi.json.j2 +33 -33
  386. package/templates/stacks/mcp-python/pyproject.toml.j2 +37 -37
  387. package/templates/stacks/mcp-python/src/cli.py.j2 +68 -68
  388. package/templates/stacks/mcp-python/src/prompts/summarize.py +10 -10
  389. package/templates/stacks/mcp-python/src/server.py.j2 +28 -28
  390. package/templates/stacks/mcp-python/src/tools/echo.py +12 -12
  391. package/templates/stacks/mcp-python/src/transports/http.py +12 -12
  392. package/templates/stacks/mcp-python/src/transports/sse.py +13 -13
  393. package/templates/stacks/mcp-python/src/transports/stdio.py +6 -6
  394. package/templates/stacks/mcp-python/tests/test_echo.py +28 -28
  395. package/templates/stacks/mcp-rust/.dare/skills.yml +8 -8
  396. package/templates/stacks/mcp-rust/.env.example +14 -14
  397. package/templates/stacks/mcp-rust/.github/workflows/dare-ci.yml +38 -38
  398. package/templates/stacks/mcp-rust/Cargo.toml.tera +35 -35
  399. package/templates/stacks/mcp-rust/README.md.tera +50 -50
  400. package/templates/stacks/mcp-rust/gitignore +5 -5
  401. package/templates/stacks/mcp-rust/llms.txt.tera +60 -60
  402. package/templates/stacks/mcp-rust/openapi.json.tera +31 -31
  403. package/templates/stacks/mcp-rust/src/cli.rs.tera +33 -33
  404. package/templates/stacks/mcp-rust/src/lib.rs +6 -6
  405. package/templates/stacks/mcp-rust/src/main.rs.tera +30 -30
  406. package/templates/stacks/mcp-rust/src/prompts/mod.rs +1 -1
  407. package/templates/stacks/mcp-rust/src/prompts/summarize.rs +5 -5
  408. package/templates/stacks/mcp-rust/src/server.rs.tera +38 -38
  409. package/templates/stacks/mcp-rust/src/tools/echo.rs +18 -18
  410. package/templates/stacks/mcp-rust/src/tools/mod.rs +22 -22
  411. package/templates/stacks/mcp-rust/src/transports/http.rs +27 -27
  412. package/templates/stacks/mcp-rust/src/transports/mod.rs +3 -3
  413. package/templates/stacks/mcp-rust/src/transports/sse.rs +33 -33
  414. package/templates/stacks/mcp-rust/src/transports/stdio.rs +14 -14
  415. package/templates/stacks/mcp-rust/tests/echo_test.rs.tera +27 -27
  416. package/templates/stacks/node-nestjs/.dare/skills.yml +11 -11
  417. package/templates/stacks/node-nestjs/.env.example +21 -21
  418. package/templates/stacks/node-nestjs/.github/workflows/dare-ci.yml +54 -54
  419. package/templates/stacks/node-nestjs/README.md.hbs +35 -35
  420. package/templates/stacks/node-nestjs/gitignore +7 -7
  421. package/templates/stacks/node-nestjs/llms.txt.hbs +47 -47
  422. package/templates/stacks/node-nestjs/nest-cli.json +16 -16
  423. package/templates/stacks/node-nestjs/openapi.json.hbs +75 -75
  424. package/templates/stacks/node-nestjs/package.json.hbs +57 -57
  425. package/templates/stacks/node-nestjs/prisma/schema.prisma +25 -25
  426. package/templates/stacks/node-nestjs/prisma/seed.ts.hbs +25 -25
  427. package/templates/stacks/node-nestjs/src/app.module.ts +39 -39
  428. package/templates/stacks/node-nestjs/src/auth/auth.controller.ts +29 -29
  429. package/templates/stacks/node-nestjs/src/auth/auth.module.ts +25 -25
  430. package/templates/stacks/node-nestjs/src/auth/auth.service.ts +36 -36
  431. package/templates/stacks/node-nestjs/src/auth/dto/login-response.dto.ts +9 -9
  432. package/templates/stacks/node-nestjs/src/auth/dto/login.dto.ts +17 -17
  433. package/templates/stacks/node-nestjs/src/auth/jwt.strategy.ts +25 -25
  434. package/templates/stacks/node-nestjs/src/common/filters/problem-details.filter.ts +38 -38
  435. package/templates/stacks/node-nestjs/src/common/interceptors/json-response.interceptor.ts +13 -13
  436. package/templates/stacks/node-nestjs/src/main.ts.hbs +44 -44
  437. package/templates/stacks/node-nestjs/src/prisma/prisma.module.ts +9 -9
  438. package/templates/stacks/node-nestjs/src/prisma/prisma.service.ts +9 -9
  439. package/templates/stacks/node-nestjs/src/users/dto/create-user.dto.ts +22 -22
  440. package/templates/stacks/node-nestjs/src/users/dto/user.dto.ts +15 -15
  441. package/templates/stacks/node-nestjs/src/users/users.controller.ts +41 -41
  442. package/templates/stacks/node-nestjs/src/users/users.module.ts +11 -11
  443. package/templates/stacks/node-nestjs/src/users/users.repository.ts +38 -38
  444. package/templates/stacks/node-nestjs/src/users/users.service.ts +38 -38
  445. package/templates/stacks/node-nestjs/tsconfig.build.json +4 -4
  446. package/templates/stacks/node-nestjs/tsconfig.json +28 -28
  447. package/templates/stacks/php-laravel/.dare/skills.yml +11 -11
  448. package/templates/stacks/php-laravel/.env.example +41 -41
  449. package/templates/stacks/php-laravel/.github/workflows/dare-ci.yml +43 -43
  450. package/templates/stacks/php-laravel/README.md.hbs +36 -36
  451. package/templates/stacks/php-laravel/app/Http/Controllers/Api/AuthController.php +36 -36
  452. package/templates/stacks/php-laravel/app/Http/Controllers/Api/UsersController.php +33 -33
  453. package/templates/stacks/php-laravel/app/Http/Requests/CreateUserRequest.php +26 -26
  454. package/templates/stacks/php-laravel/app/Http/Requests/LoginRequest.php +34 -34
  455. package/templates/stacks/php-laravel/app/Llm/Contracts/LlmProvider.php +12 -12
  456. package/templates/stacks/php-laravel/app/Llm/Providers/DummyProvider.php +13 -13
  457. package/templates/stacks/php-laravel/app/Llm/Providers/OpenAiProvider.php +33 -33
  458. package/templates/stacks/php-laravel/app/Models/User.php +44 -44
  459. package/templates/stacks/php-laravel/app/Repositories/UsersRepository.php +32 -32
  460. package/templates/stacks/php-laravel/app/Services/AuthService.php +37 -37
  461. package/templates/stacks/php-laravel/app/Services/UsersService.php +57 -57
  462. package/templates/stacks/php-laravel/artisan +12 -12
  463. package/templates/stacks/php-laravel/bootstrap/app.php +29 -29
  464. package/templates/stacks/php-laravel/bootstrap/providers.php +5 -5
  465. package/templates/stacks/php-laravel/composer.json.hbs +58 -58
  466. package/templates/stacks/php-laravel/config/l5-swagger.php +41 -41
  467. package/templates/stacks/php-laravel/config/reverb.php +34 -34
  468. package/templates/stacks/php-laravel/config/sanctum.php +15 -15
  469. package/templates/stacks/php-laravel/database/migrations/2026_06_01_000001_create_users_table.php +27 -27
  470. package/templates/stacks/php-laravel/database/seeders/DatabaseSeeder.php +21 -21
  471. package/templates/stacks/php-laravel/gitignore +23 -23
  472. package/templates/stacks/php-laravel/llms.txt.hbs +53 -53
  473. package/templates/stacks/php-laravel/openapi.json.hbs +43 -43
  474. package/templates/stacks/php-laravel/phpstan.neon +9 -9
  475. package/templates/stacks/php-laravel/routes/api.php +13 -13
  476. package/templates/stacks/php-laravel/routes/channels.php +7 -7
  477. package/templates/stacks/php-laravel/tests/Feature/AuthTest.php +35 -35
  478. package/templates/stacks/php-laravel/tests/Feature/UsersTest.php +30 -30
  479. package/templates/stacks/php-laravel/tests/Pest.php +5 -5
  480. package/templates/stacks/python-fastapi/.dare/skills.yml +11 -11
  481. package/templates/stacks/python-fastapi/.env.example +21 -21
  482. package/templates/stacks/python-fastapi/.github/workflows/dare-ci.yml +43 -43
  483. package/templates/stacks/python-fastapi/README.md.j2 +35 -35
  484. package/templates/stacks/python-fastapi/alembic/env.py +46 -46
  485. package/templates/stacks/python-fastapi/alembic/script.py.mako +26 -26
  486. package/templates/stacks/python-fastapi/alembic/versions/0001_create_users.py.j2 +37 -37
  487. package/templates/stacks/python-fastapi/alembic.ini.j2 +39 -39
  488. package/templates/stacks/python-fastapi/app/core/config.py +24 -24
  489. package/templates/stacks/python-fastapi/app/core/security.py +34 -34
  490. package/templates/stacks/python-fastapi/app/db/session.py +22 -22
  491. package/templates/stacks/python-fastapi/app/main.py.j2 +36 -36
  492. package/templates/stacks/python-fastapi/app/models/__init__.py +3 -3
  493. package/templates/stacks/python-fastapi/app/models/user.py +30 -30
  494. package/templates/stacks/python-fastapi/app/repositories/user_repository.py +34 -34
  495. package/templates/stacks/python-fastapi/app/routers/auth.py +37 -37
  496. package/templates/stacks/python-fastapi/app/routers/users.py +46 -46
  497. package/templates/stacks/python-fastapi/app/schemas/user.py +56 -56
  498. package/templates/stacks/python-fastapi/app/services/auth_service.py +22 -22
  499. package/templates/stacks/python-fastapi/app/services/user_service.py +31 -31
  500. package/templates/stacks/python-fastapi/gitignore +12 -12
  501. package/templates/stacks/python-fastapi/llms.txt.j2 +53 -53
  502. package/templates/stacks/python-fastapi/openapi.json.j2 +43 -43
  503. package/templates/stacks/python-fastapi/pyproject.toml.j2 +45 -45
  504. package/templates/stacks/python-fastapi/tests/test_auth.py +22 -22
  505. package/templates/stacks/ruby-rails-8/.dare/skills.yml +50 -50
  506. package/templates/stacks/ruby-rails-8/.env.example +20 -20
  507. package/templates/stacks/ruby-rails-8/.github/workflows/dare-ci.yml +112 -112
  508. package/templates/stacks/ruby-rails-8/Gemfile.erb +61 -61
  509. package/templates/stacks/ruby-rails-8/app/channels/application_cable/channel.rb +11 -11
  510. package/templates/stacks/ruby-rails-8/app/channels/application_cable/connection.rb +34 -34
  511. package/templates/stacks/ruby-rails-8/app/channels/dare_updates_channel.rb +18 -18
  512. package/templates/stacks/ruby-rails-8/app/channels/user_updates_channel.rb +23 -23
  513. package/templates/stacks/ruby-rails-8/app/controllers/application_controller.rb +44 -44
  514. package/templates/stacks/ruby-rails-8/app/controllers/concerns/problem_details.rb +93 -93
  515. package/templates/stacks/ruby-rails-8/app/handlers/summarize_handler.rb +33 -33
  516. package/templates/stacks/ruby-rails-8/app/handlers/users_handler.rb +68 -68
  517. package/templates/stacks/ruby-rails-8/app/llm/cache/llm_cache.rb +44 -44
  518. package/templates/stacks/ruby-rails-8/app/llm/prompts/prompt_loader.rb +54 -54
  519. package/templates/stacks/ruby-rails-8/app/llm/prompts/summarize_v1.jinja2 +12 -12
  520. package/templates/stacks/ruby-rails-8/app/llm/providers/dummy_provider.rb +35 -35
  521. package/templates/stacks/ruby-rails-8/app/llm/providers/llm_provider.rb +67 -67
  522. package/templates/stacks/ruby-rails-8/app/llm/providers/openai_provider.rb +62 -62
  523. package/templates/stacks/ruby-rails-8/app/llm/rate_limit/token_bucket.rb +82 -82
  524. package/templates/stacks/ruby-rails-8/app/llm/validators/summarize_output_schema.json +21 -21
  525. package/templates/stacks/ruby-rails-8/app/llm/validators/validator.rb +52 -52
  526. package/templates/stacks/ruby-rails-8/app/models/user.rb +36 -36
  527. package/templates/stacks/ruby-rails-8/app/presenters/user_presenter.rb +48 -48
  528. package/templates/stacks/ruby-rails-8/app/repositories/document_repository.rb +57 -57
  529. package/templates/stacks/ruby-rails-8/app/repositories/user_repository.rb +73 -73
  530. package/templates/stacks/ruby-rails-8/app/services/create_user_service.rb +67 -67
  531. package/templates/stacks/ruby-rails-8/app/services/realtime_service.rb +53 -53
  532. package/templates/stacks/ruby-rails-8/app/services/summarize_document_service.rb +57 -57
  533. package/templates/stacks/ruby-rails-8/config/dare.yml +42 -42
  534. package/templates/stacks/ruby-rails-8/config/initializers/dare.rb +31 -31
  535. package/templates/stacks/ruby-rails-8/config/initializers/rack_attack.rb +64 -64
  536. package/templates/stacks/ruby-rails-8/config/initializers/rswag_api.rb +12 -12
  537. package/templates/stacks/ruby-rails-8/lib/tasks/dare.rake +159 -159
  538. package/templates/stacks/ruby-rails-8/llms.txt.erb +69 -69
  539. package/templates/stacks/ruby-rails-8/spec/api/summarize_spec.rb +56 -56
  540. package/templates/stacks/ruby-rails-8/spec/api/users_spec.rb +72 -72
  541. package/templates/stacks/ruby-rails-8/spec/channels/dare_updates_channel_spec.rb +61 -61
  542. package/templates/stacks/ruby-rails-8/spec/channels/user_updates_channel_spec.rb +56 -56
  543. package/templates/stacks/ruby-rails-8/spec/factories/users.rb +27 -27
  544. package/templates/stacks/ruby-rails-8/spec/handlers/users_handler_spec.rb +88 -88
  545. package/templates/stacks/ruby-rails-8/spec/rails_helper.rb +31 -31
  546. package/templates/stacks/ruby-rails-8/spec/services/create_user_service_spec.rb +88 -88
  547. package/templates/stacks/ruby-rails-8/spec/services/summarize_document_service_spec.rb +142 -142
  548. package/templates/stacks/ruby-rails-8/spec/swagger_helper.rb +73 -73
  549. package/templates/stacks/rust-axum/.dare/skills.yml +11 -11
  550. package/templates/stacks/rust-axum/.env.example +26 -26
  551. package/templates/stacks/rust-axum/.github/workflows/dare-ci.yml +40 -40
  552. package/templates/stacks/rust-axum/Cargo.toml.tera +53 -53
  553. package/templates/stacks/rust-axum/README.md.tera +37 -37
  554. package/templates/stacks/rust-axum/gitignore +5 -5
  555. package/templates/stacks/rust-axum/llms.txt.tera +54 -54
  556. package/templates/stacks/rust-axum/migrations/0001_create_users.sql +13 -13
  557. package/templates/stacks/rust-axum/openapi.json.tera +46 -46
  558. package/templates/stacks/rust-axum/src/config.rs +45 -45
  559. package/templates/stacks/rust-axum/src/errors.rs +48 -48
  560. package/templates/stacks/rust-axum/src/handlers/auth.rs +48 -48
  561. package/templates/stacks/rust-axum/src/handlers/mod.rs +3 -3
  562. package/templates/stacks/rust-axum/src/handlers/users.rs +81 -81
  563. package/templates/stacks/rust-axum/src/handlers/ws.rs +24 -24
  564. package/templates/stacks/rust-axum/src/lib.rs +19 -19
  565. package/templates/stacks/rust-axum/src/llm/mod.rs +1 -1
  566. package/templates/stacks/rust-axum/src/llm/provider.rs +48 -48
  567. package/templates/stacks/rust-axum/src/main.rs.tera +64 -64
  568. package/templates/stacks/rust-axum/src/middleware/auth.rs +20 -20
  569. package/templates/stacks/rust-axum/src/middleware/mod.rs +2 -2
  570. package/templates/stacks/rust-axum/src/middleware/rate_limit.rs +27 -27
  571. package/templates/stacks/rust-axum/src/models/mod.rs +1 -1
  572. package/templates/stacks/rust-axum/src/models/user.rs +13 -13
  573. package/templates/stacks/rust-axum/src/repositories/mod.rs +1 -1
  574. package/templates/stacks/rust-axum/src/repositories/user_repository.rs +62 -62
  575. package/templates/stacks/rust-axum/src/services/auth_service.rs +50 -50
  576. package/templates/stacks/rust-axum/src/services/mod.rs +2 -2
  577. package/templates/stacks/rust-axum/src/services/user_service.rs +53 -53
  578. package/templates/stacks/rust-axum/tests/integration_test.rs.tera +13 -13
  579. package/dist/commands/new.d.ts +0 -16
  580. package/dist/commands/new.d.ts.map +0 -1
  581. package/dist/commands/new.js +0 -104
  582. package/dist/commands/new.js.map +0 -1
@@ -1,173 +1,173 @@
1
- ---
2
- description: Regenera APENAS o DARE/dare-dag.yaml a partir do BLUEPRINT.md já existente — sem refazer o blueprint nem as specs. Use quando o BLUEPRINT mudou pouco mas o grafo precisa refletir o novo estado, ou para experimentar uma decomposição diferente.
3
- globs: DARE/BLUEPRINT.md,DARE/dare-dag.yaml,DARE/EXECUTION/**
4
- alwaysApply: false
5
- ---
6
-
7
- # Skill: DAG Build — Regerar o grafo
8
-
9
- Esta skill regenera **apenas** o `DARE/dare-dag.yaml` a partir do BLUEPRINT
10
- existente. Não refaz o blueprint, não refaz specs, não executa nada.
11
-
12
- > Para **executar** o grafo, use a skill `skill-dag-runner` (rule) ou o
13
- > comando `/run-dag`.
14
- > Para **visualizar** o grafo, use o comando `/dag-viz`.
15
- > Para **build + run num único passo**, use `skill-dag-runner` que cobre
16
- > ambos.
17
-
18
- ## Quando usar
19
-
20
- - O BLUEPRINT foi ajustado e o grafo precisa refletir
21
- - Você quer experimentar uma decomposição diferente sem refazer o blueprint
22
- - O `dare-dag.yaml` ficou inconsistente com `EXECUTION/task-*.md`
23
- - Precisa adicionar/remover/reordenar tasks no grafo
24
- - A complexidade ou as dependências de tasks mudaram
25
-
26
- ## Pré-requisitos
27
-
28
- - `DARE/BLUEPRINT.md` existe e está aprovado
29
- - (Opcional) `DARE/EXECUTION/task-*.md` específicas serão preservadas se não
30
- forem mencionadas
31
-
32
- ## Procedimento
33
-
34
- ### 1. Ler `DARE/BLUEPRINT.md`
35
-
36
- Obrigatório. Se faltar, peça ao usuário rodar `/generate-blueprint` antes.
37
-
38
- ### 2. Ler `DARE/dare-dag.yaml` atual (se existir)
39
-
40
- Para preservar `id`s já em uso e não confundir o usuário com renomeações
41
- desnecessárias.
42
-
43
- ### 3. Gerar o novo `dare-dag.yaml`
44
-
45
- Schema canônico:
46
-
47
- ```yaml
48
- title: "<Nome do Projeto> - Development Tasks"
49
- version: "1.0.0"
50
-
51
- limits:
52
- parent_context_chars: 2000
53
- task_output_chars: 4000
54
- timeout_seconds: 600
55
-
56
- models:
57
- cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
58
- claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
59
- antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
60
-
61
- tasks:
62
- - id: task-001
63
- title: "..."
64
- depends_on: []
65
- complexity: LOW
66
- spec_file: EXECUTION/task-001.md
67
- subtask_prompt: |
68
- <self-contained>
69
- ```
70
-
71
- **Regras inegociáveis:**
72
-
73
- - `id` em kebab-case e único
74
- - `depends_on` mínimo — só quando filha *literalmente* precisa do output do pai
75
- - `subtask_prompt` self-contained
76
- - Pelo menos **2 tasks no rank 0** (paralelismo desde o início)
77
- - Cadeia linear é antipattern — quebre dependências sempre que possível
78
- - `complexity` honesta — não inflar nem deflar
79
-
80
- ### 4. ANTI-STUB CONTRACT (inegociável)
81
-
82
- Tasks geradas com `subtask_prompt` ou spec genéricos forçam o agente a
83
- inventar — e ele vai produzir mock, stub ou esqueleto. O comando
84
- `/review-task` (ou `dare review <id>`) detecta isso e marca a task como
85
- FAILED.
86
-
87
- Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender este contrato:
88
-
89
- **O `subtask_prompt` precisa ser auto-suficiente.** O subagente recebe
90
- **apenas** o `subtask_prompt` + snippets de 2000 chars dos pais. Inclua:
91
-
92
- - Caminho exato dos arquivos a criar/modificar
93
- - Assinaturas exatas das funções/endpoints
94
- - Schema de request/response com tipos
95
- - Validações específicas (não "validar input" — `email: regex /^.../`)
96
- - Edge cases enumerados
97
- - Lista de testes esperados com nome + comportamento
98
-
99
- **A `spec_file` precisa ter Definition of Done anti-stub:**
100
-
101
- ```markdown
102
- ## Definition of Done (ANTI-STUB)
103
-
104
- - [ ] Nenhum TODO, FIXME, XXX ou HACK em arquivos modificados
105
- - [ ] Nenhuma função vazia
106
- - [ ] Nenhum `throw new Error('not implemented')`, `unimplemented!()`, `todo!()`, `NotImplementedError`
107
- - [ ] Nenhum return null/undefined/{} como única statement de função pública
108
- - [ ] Mocks SOMENTE em *.test.*, *.spec.*, __tests__/, tests/, spec/
109
- - [ ] Todos os endpoints retornam dados reais (não hardcoded)
110
- - [ ] Cada validação produz erro real com status code correto (testado)
111
- - [ ] Cada edge case tem teste demonstrando comportamento
112
- ```
113
-
114
- **Sinais de spec rasa (auto-validar antes de salvar):**
115
-
116
- - ❌ "Implementar X" — sem assinatura, sem retorno, sem validações
117
- - ❌ "Tratar erros adequadamente" — quais erros? como? que código?
118
- - ❌ "Adicionar validações" — quais regras?
119
- - ✅ "Implementar `POST /auth/login` retornando `{ token, refresh }` com 200 se válido, 401 se inválido, 429 se rate limit"
120
-
121
- ### 5. Validar consistência com `EXECUTION/task-*.md`
122
-
123
- Se uma spec existe em `DARE/EXECUTION/task-<id>.md`:
124
- - Mantenha o mesmo `id` no YAML
125
- - Aponte `spec_file: EXECUTION/task-<id>.md`
126
- - Se a `complexity` ou `depends_on` mudou, atualize **também** a spec e o `TASKS.md`
127
-
128
- Se uma task nova entrou no YAML mas não tem spec:
129
- - Crie a spec correspondente em `EXECUTION/task-<id>.md`
130
-
131
- Se uma task saiu do YAML mas a spec ficou:
132
- - Pergunte ao usuário: arquivar (mover para `EXECUTION/_archived/`) ou apagar?
133
-
134
- ### 6. Validar grafo
135
-
136
- - Sem ciclos
137
- - Todos os `depends_on` apontam para `id`s existentes
138
- - `id`s únicos
139
- - Pelo menos 2 tasks no rank 0
140
-
141
- ### 7. Atualizar `DARE/TASKS.md`
142
-
143
- Reflita o novo grafo na tabela master.
144
-
145
- ### 8. Mensagem ao usuário
146
-
147
- > `dare-dag.yaml` regenerado:
148
- > - Total de tasks: N
149
- > - Ranks paralelos: N
150
- > - Adicionadas: [...]
151
- > - Removidas: [...]
152
- > - Modificadas: [...]
153
- >
154
- > Revise e aprove. Para executar: `/run-dag`.
155
-
156
- ## Quando NÃO usar
157
-
158
- - Se você nunca rodou `/generate-blueprint` antes — use ele primeiro
159
- - Se o BLUEPRINT está desatualizado — atualize o BLUEPRINT primeiro
160
- - Se você só quer executar o grafo já aprovado — use `skill-dag-runner` ou `/run-dag`
161
- - Se você quer build + run num único passo — `skill-dag-runner` cobre
162
-
163
- ## Referências
164
-
165
- - Schema: `DARE/dare-dag.yaml`
166
- - Specs: `DARE/EXECUTION/task-*.md`
167
- - Status: `DARE/TASKS.md`
168
-
169
- ---
170
-
171
- ## Licença
172
-
173
- Esta skill é parte do DARE Method e está sob licença MIT (D-001).
1
+ ---
2
+ description: Regenera APENAS o DARE/dare-dag.yaml a partir do BLUEPRINT.md já existente — sem refazer o blueprint nem as specs. Use quando o BLUEPRINT mudou pouco mas o grafo precisa refletir o novo estado, ou para experimentar uma decomposição diferente.
3
+ globs: DARE/BLUEPRINT.md,DARE/dare-dag.yaml,DARE/EXECUTION/**
4
+ alwaysApply: false
5
+ ---
6
+
7
+ # Skill: DAG Build — Regerar o grafo
8
+
9
+ Esta skill regenera **apenas** o `DARE/dare-dag.yaml` a partir do BLUEPRINT
10
+ existente. Não refaz o blueprint, não refaz specs, não executa nada.
11
+
12
+ > Para **executar** o grafo, use a skill `skill-dag-runner` (rule) ou o
13
+ > comando `/run-dag`.
14
+ > Para **visualizar** o grafo, use o comando `/dag-viz`.
15
+ > Para **build + run num único passo**, use `skill-dag-runner` que cobre
16
+ > ambos.
17
+
18
+ ## Quando usar
19
+
20
+ - O BLUEPRINT foi ajustado e o grafo precisa refletir
21
+ - Você quer experimentar uma decomposição diferente sem refazer o blueprint
22
+ - O `dare-dag.yaml` ficou inconsistente com `EXECUTION/task-*.md`
23
+ - Precisa adicionar/remover/reordenar tasks no grafo
24
+ - A complexidade ou as dependências de tasks mudaram
25
+
26
+ ## Pré-requisitos
27
+
28
+ - `DARE/BLUEPRINT.md` existe e está aprovado
29
+ - (Opcional) `DARE/EXECUTION/task-*.md` específicas serão preservadas se não
30
+ forem mencionadas
31
+
32
+ ## Procedimento
33
+
34
+ ### 1. Ler `DARE/BLUEPRINT.md`
35
+
36
+ Obrigatório. Se faltar, peça ao usuário rodar `/generate-blueprint` antes.
37
+
38
+ ### 2. Ler `DARE/dare-dag.yaml` atual (se existir)
39
+
40
+ Para preservar `id`s já em uso e não confundir o usuário com renomeações
41
+ desnecessárias.
42
+
43
+ ### 3. Gerar o novo `dare-dag.yaml`
44
+
45
+ Schema canônico:
46
+
47
+ ```yaml
48
+ title: "<Nome do Projeto> - Development Tasks"
49
+ version: "1.0.0"
50
+
51
+ limits:
52
+ parent_context_chars: 2000
53
+ task_output_chars: 4000
54
+ timeout_seconds: 600
55
+
56
+ models:
57
+ cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
58
+ claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
59
+ antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
60
+
61
+ tasks:
62
+ - id: task-001
63
+ title: "..."
64
+ depends_on: []
65
+ complexity: LOW
66
+ spec_file: EXECUTION/task-001.md
67
+ subtask_prompt: |
68
+ <self-contained>
69
+ ```
70
+
71
+ **Regras inegociáveis:**
72
+
73
+ - `id` em kebab-case e único
74
+ - `depends_on` mínimo — só quando filha *literalmente* precisa do output do pai
75
+ - `subtask_prompt` self-contained
76
+ - Pelo menos **2 tasks no rank 0** (paralelismo desde o início)
77
+ - Cadeia linear é antipattern — quebre dependências sempre que possível
78
+ - `complexity` honesta — não inflar nem deflar
79
+
80
+ ### 4. ANTI-STUB CONTRACT (inegociável)
81
+
82
+ Tasks geradas com `subtask_prompt` ou spec genéricos forçam o agente a
83
+ inventar — e ele vai produzir mock, stub ou esqueleto. O comando
84
+ `/review-task` (ou `dare review <id>`) detecta isso e marca a task como
85
+ FAILED.
86
+
87
+ Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender este contrato:
88
+
89
+ **O `subtask_prompt` precisa ser auto-suficiente.** O subagente recebe
90
+ **apenas** o `subtask_prompt` + snippets de 2000 chars dos pais. Inclua:
91
+
92
+ - Caminho exato dos arquivos a criar/modificar
93
+ - Assinaturas exatas das funções/endpoints
94
+ - Schema de request/response com tipos
95
+ - Validações específicas (não "validar input" — `email: regex /^.../`)
96
+ - Edge cases enumerados
97
+ - Lista de testes esperados com nome + comportamento
98
+
99
+ **A `spec_file` precisa ter Definition of Done anti-stub:**
100
+
101
+ ```markdown
102
+ ## Definition of Done (ANTI-STUB)
103
+
104
+ - [ ] Nenhum TODO, FIXME, XXX ou HACK em arquivos modificados
105
+ - [ ] Nenhuma função vazia
106
+ - [ ] Nenhum `throw new Error('not implemented')`, `unimplemented!()`, `todo!()`, `NotImplementedError`
107
+ - [ ] Nenhum return null/undefined/{} como única statement de função pública
108
+ - [ ] Mocks SOMENTE em *.test.*, *.spec.*, __tests__/, tests/, spec/
109
+ - [ ] Todos os endpoints retornam dados reais (não hardcoded)
110
+ - [ ] Cada validação produz erro real com status code correto (testado)
111
+ - [ ] Cada edge case tem teste demonstrando comportamento
112
+ ```
113
+
114
+ **Sinais de spec rasa (auto-validar antes de salvar):**
115
+
116
+ - ❌ "Implementar X" — sem assinatura, sem retorno, sem validações
117
+ - ❌ "Tratar erros adequadamente" — quais erros? como? que código?
118
+ - ❌ "Adicionar validações" — quais regras?
119
+ - ✅ "Implementar `POST /auth/login` retornando `{ token, refresh }` com 200 se válido, 401 se inválido, 429 se rate limit"
120
+
121
+ ### 5. Validar consistência com `EXECUTION/task-*.md`
122
+
123
+ Se uma spec existe em `DARE/EXECUTION/task-<id>.md`:
124
+ - Mantenha o mesmo `id` no YAML
125
+ - Aponte `spec_file: EXECUTION/task-<id>.md`
126
+ - Se a `complexity` ou `depends_on` mudou, atualize **também** a spec e o `TASKS.md`
127
+
128
+ Se uma task nova entrou no YAML mas não tem spec:
129
+ - Crie a spec correspondente em `EXECUTION/task-<id>.md`
130
+
131
+ Se uma task saiu do YAML mas a spec ficou:
132
+ - Pergunte ao usuário: arquivar (mover para `EXECUTION/_archived/`) ou apagar?
133
+
134
+ ### 6. Validar grafo
135
+
136
+ - Sem ciclos
137
+ - Todos os `depends_on` apontam para `id`s existentes
138
+ - `id`s únicos
139
+ - Pelo menos 2 tasks no rank 0
140
+
141
+ ### 7. Atualizar `DARE/TASKS.md`
142
+
143
+ Reflita o novo grafo na tabela master.
144
+
145
+ ### 8. Mensagem ao usuário
146
+
147
+ > `dare-dag.yaml` regenerado:
148
+ > - Total de tasks: N
149
+ > - Ranks paralelos: N
150
+ > - Adicionadas: [...]
151
+ > - Removidas: [...]
152
+ > - Modificadas: [...]
153
+ >
154
+ > Revise e aprove. Para executar: `/run-dag`.
155
+
156
+ ## Quando NÃO usar
157
+
158
+ - Se você nunca rodou `/generate-blueprint` antes — use ele primeiro
159
+ - Se o BLUEPRINT está desatualizado — atualize o BLUEPRINT primeiro
160
+ - Se você só quer executar o grafo já aprovado — use `skill-dag-runner` ou `/run-dag`
161
+ - Se você quer build + run num único passo — `skill-dag-runner` cobre
162
+
163
+ ## Referências
164
+
165
+ - Schema: `DARE/dare-dag.yaml`
166
+ - Specs: `DARE/EXECUTION/task-*.md`
167
+ - Status: `DARE/TASKS.md`
168
+
169
+ ---
170
+
171
+ ## Licença
172
+
173
+ Esta skill é parte do DARE Method e está sob licença MIT (D-001).
@@ -1,134 +1,134 @@
1
- ---
2
- description: Executa o grafo de tasks definido em DARE/dare-dag.yaml usando Cursor como executor e o CLI dare como orquestrador. Sem API keys — usa o plano nativo da IDE. O canvas ao vivo fica em DARE/.canvas.md.
3
- globs: DARE/dare-dag.yaml,DARE/EXECUTION/**,DARE/.canvas.md
4
- alwaysApply: false
5
- ---
6
-
7
- # Skill: DAG Run — Executar o grafo
8
-
9
- Esta skill **executa** o grafo que já foi construído — não regenera o
10
- `dare-dag.yaml`, não modifica o BLUEPRINT, não cria specs novas. Apenas
11
- roda as tasks na ordem topológica correta.
12
-
13
- > Para **(re)construir** o grafo, use `skill-dag-build`.
14
- > Para **visualizar** o grafo, use o comando `/dag-viz`.
15
- > Para **build + run num único passo**, use `skill-dag-runner`.
16
-
17
- > **Sem API keys.** Você (Cursor) usa o plano nativo da IDE. O CLI `dare`
18
- > apenas coordena estado, monta prompts e atualiza o canvas.
19
-
20
- ## Quando usar
21
-
22
- - `DARE/dare-dag.yaml` está aprovado e pronto
23
- - As specs em `DARE/EXECUTION/task-<id>.md` estão geradas
24
- - É hora de implementar as tasks na ordem do grafo
25
- - O usuário aprovou os ANTI-STUB contracts
26
-
27
- ## Pré-requisitos
28
-
29
- - `DARE/dare-dag.yaml` existe e foi aprovado pelo usuário
30
- - Specs em `DARE/EXECUTION/task-<id>.md` geradas (se não, use `skill-dag-build`)
31
- - `dare` disponível no PATH (`npm i -g @dewtech/dare-cli`)
32
-
33
- ## Procedimento
34
-
35
- ### 1. Validar pré-condições
36
-
37
- - Confirme que `DARE/dare-dag.yaml` existe. Se não, oriente
38
- `/generate-blueprint` ou `skill-dag-build`
39
- - Leia o YAML e verifique: sem ciclos, ids únicos, ranks paralelizáveis
40
- - Liste para o usuário: total de tasks, ranks, próximas ready
41
-
42
- ### 2. Pegar próximas tasks
43
-
44
- ```bash
45
- dare execute --next
46
- ```
47
-
48
- O CLI imprime as tasks **ready** do rank atual com o prompt completo
49
- (snippets de até 2000 chars dos outputs dos pais já costurados). Use esses
50
- prompts diretamente.
51
-
52
- ### 3. Sugerir abrir o canvas
53
-
54
- Antes de começar, peça ao usuário abrir `DARE/.canvas.md` em outra aba do
55
- Cursor. Esse é o feedback visual ao vivo da execução.
56
-
57
- ### 4. Executar cada task
58
-
59
- Para cada task ready:
60
-
61
- 1. Leia `spec_file` se houver (`DARE/EXECUTION/task-<id>.md`)
62
- 2. Implemente conforme o `subtask_prompt` — **não invente, não use mock fora de tests, sem TODOs**
63
- 3. Rode o Ralph Loop completo: build → test → lint
64
- 4. Registre o resultado no CLI:
65
-
66
- ```bash
67
- # Sucesso
68
- dare execute --complete task-001 --output "Resumo curto + paths dos arquivos criados/modificados"
69
-
70
- # Falha
71
- dare execute --fail task-002 --reason "Mensagem clara da falha"
72
- ```
73
-
74
- ### 5. Avançar de rank
75
-
76
- ```bash
77
- dare execute --next
78
- ```
79
-
80
- Se aparecer `✅ All tasks resolved`, todas terminaram. Reporte o resumo.
81
- Caso contrário, continue executando o próximo rank.
82
-
83
- ### 6. Pós-execução
84
-
85
- ```bash
86
- dare execute --status
87
- ```
88
-
89
- Snapshot do canvas + sumário (X DONE, Y FAILED, Z SKIPPED).
90
-
91
- Para retentar tasks FAILED:
92
-
93
- ```bash
94
- dare execute --reset task-002
95
- dare execute --next
96
- ```
97
-
98
- ## Comandos do orquestrador `dare`
99
-
100
- | Comando | Função |
101
- |---------|--------|
102
- | `dare execute --next` | Próximas tasks ready com prompts compostos |
103
- | `dare execute --complete <id> --output "..."` | Marca DONE |
104
- | `dare execute --fail <id> --reason "..."` | Marca FAILED + cascade-skip |
105
- | `dare execute --reset <id>` | Volta para PENDING |
106
- | `dare execute --status` | Snapshot + sumário |
107
-
108
- ## Erros comuns
109
-
110
- | Sintoma | Causa | Correção |
111
- |---------|-------|----------|
112
- | `dare-dag.yaml not found` | Não foi gerado | `/generate-blueprint` ou `skill-dag-build` |
113
- | Cascata de SKIPPED | Pai falhou | Corrija pai → `dare execute --reset` → `--next` |
114
- | Output truncado | Cap de 4000 chars | Escreva em arquivo, retorne resumo |
115
- | Spec inconsistente | TASKS.md ≠ dare-dag.yaml | Re-gere com `skill-dag-build` |
116
-
117
- ## Quando NÃO usar
118
-
119
- - Se `dare-dag.yaml` não existe — use `/generate-blueprint` ou `skill-dag-build`
120
- - Se você quer só visualizar — use `/dag-viz`
121
- - Se você quer build + run num único passo — `skill-dag-runner`
122
-
123
- ## Referências
124
-
125
- - Schema: `DARE/dare-dag.yaml`
126
- - Canvas: `DARE/.canvas.md`
127
- - Specs: `DARE/EXECUTION/task-*.md`
128
- - Status: `DARE/TASKS.md`
129
-
130
- ---
131
-
132
- ## Licença
133
-
134
- Esta skill é parte do DARE Method e está sob licença MIT (D-001).
1
+ ---
2
+ description: Executa o grafo de tasks definido em DARE/dare-dag.yaml usando Cursor como executor e o CLI dare como orquestrador. Sem API keys — usa o plano nativo da IDE. O canvas ao vivo fica em DARE/.canvas.md.
3
+ globs: DARE/dare-dag.yaml,DARE/EXECUTION/**,DARE/.canvas.md
4
+ alwaysApply: false
5
+ ---
6
+
7
+ # Skill: DAG Run — Executar o grafo
8
+
9
+ Esta skill **executa** o grafo que já foi construído — não regenera o
10
+ `dare-dag.yaml`, não modifica o BLUEPRINT, não cria specs novas. Apenas
11
+ roda as tasks na ordem topológica correta.
12
+
13
+ > Para **(re)construir** o grafo, use `skill-dag-build`.
14
+ > Para **visualizar** o grafo, use o comando `/dag-viz`.
15
+ > Para **build + run num único passo**, use `skill-dag-runner`.
16
+
17
+ > **Sem API keys.** Você (Cursor) usa o plano nativo da IDE. O CLI `dare`
18
+ > apenas coordena estado, monta prompts e atualiza o canvas.
19
+
20
+ ## Quando usar
21
+
22
+ - `DARE/dare-dag.yaml` está aprovado e pronto
23
+ - As specs em `DARE/EXECUTION/task-<id>.md` estão geradas
24
+ - É hora de implementar as tasks na ordem do grafo
25
+ - O usuário aprovou os ANTI-STUB contracts
26
+
27
+ ## Pré-requisitos
28
+
29
+ - `DARE/dare-dag.yaml` existe e foi aprovado pelo usuário
30
+ - Specs em `DARE/EXECUTION/task-<id>.md` geradas (se não, use `skill-dag-build`)
31
+ - `dare` disponível no PATH (`npm i -g @dewtech/dare-cli`)
32
+
33
+ ## Procedimento
34
+
35
+ ### 1. Validar pré-condições
36
+
37
+ - Confirme que `DARE/dare-dag.yaml` existe. Se não, oriente
38
+ `/generate-blueprint` ou `skill-dag-build`
39
+ - Leia o YAML e verifique: sem ciclos, ids únicos, ranks paralelizáveis
40
+ - Liste para o usuário: total de tasks, ranks, próximas ready
41
+
42
+ ### 2. Pegar próximas tasks
43
+
44
+ ```bash
45
+ dare execute --next
46
+ ```
47
+
48
+ O CLI imprime as tasks **ready** do rank atual com o prompt completo
49
+ (snippets de até 2000 chars dos outputs dos pais já costurados). Use esses
50
+ prompts diretamente.
51
+
52
+ ### 3. Sugerir abrir o canvas
53
+
54
+ Antes de começar, peça ao usuário abrir `DARE/.canvas.md` em outra aba do
55
+ Cursor. Esse é o feedback visual ao vivo da execução.
56
+
57
+ ### 4. Executar cada task
58
+
59
+ Para cada task ready:
60
+
61
+ 1. Leia `spec_file` se houver (`DARE/EXECUTION/task-<id>.md`)
62
+ 2. Implemente conforme o `subtask_prompt` — **não invente, não use mock fora de tests, sem TODOs**
63
+ 3. Rode o Ralph Loop completo: build → test → lint
64
+ 4. Registre o resultado no CLI:
65
+
66
+ ```bash
67
+ # Sucesso
68
+ dare execute --complete task-001 --output "Resumo curto + paths dos arquivos criados/modificados"
69
+
70
+ # Falha
71
+ dare execute --fail task-002 --reason "Mensagem clara da falha"
72
+ ```
73
+
74
+ ### 5. Avançar de rank
75
+
76
+ ```bash
77
+ dare execute --next
78
+ ```
79
+
80
+ Se aparecer `✅ All tasks resolved`, todas terminaram. Reporte o resumo.
81
+ Caso contrário, continue executando o próximo rank.
82
+
83
+ ### 6. Pós-execução
84
+
85
+ ```bash
86
+ dare execute --status
87
+ ```
88
+
89
+ Snapshot do canvas + sumário (X DONE, Y FAILED, Z SKIPPED).
90
+
91
+ Para retentar tasks FAILED:
92
+
93
+ ```bash
94
+ dare execute --reset task-002
95
+ dare execute --next
96
+ ```
97
+
98
+ ## Comandos do orquestrador `dare`
99
+
100
+ | Comando | Função |
101
+ |---------|--------|
102
+ | `dare execute --next` | Próximas tasks ready com prompts compostos |
103
+ | `dare execute --complete <id> --output "..."` | Marca DONE |
104
+ | `dare execute --fail <id> --reason "..."` | Marca FAILED + cascade-skip |
105
+ | `dare execute --reset <id>` | Volta para PENDING |
106
+ | `dare execute --status` | Snapshot + sumário |
107
+
108
+ ## Erros comuns
109
+
110
+ | Sintoma | Causa | Correção |
111
+ |---------|-------|----------|
112
+ | `dare-dag.yaml not found` | Não foi gerado | `/generate-blueprint` ou `skill-dag-build` |
113
+ | Cascata de SKIPPED | Pai falhou | Corrija pai → `dare execute --reset` → `--next` |
114
+ | Output truncado | Cap de 4000 chars | Escreva em arquivo, retorne resumo |
115
+ | Spec inconsistente | TASKS.md ≠ dare-dag.yaml | Re-gere com `skill-dag-build` |
116
+
117
+ ## Quando NÃO usar
118
+
119
+ - Se `dare-dag.yaml` não existe — use `/generate-blueprint` ou `skill-dag-build`
120
+ - Se você quer só visualizar — use `/dag-viz`
121
+ - Se você quer build + run num único passo — `skill-dag-runner`
122
+
123
+ ## Referências
124
+
125
+ - Schema: `DARE/dare-dag.yaml`
126
+ - Canvas: `DARE/.canvas.md`
127
+ - Specs: `DARE/EXECUTION/task-*.md`
128
+ - Status: `DARE/TASKS.md`
129
+
130
+ ---
131
+
132
+ ## Licença
133
+
134
+ Esta skill é parte do DARE Method e está sob licença MIT (D-001).