@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
@@ -1,224 +1,265 @@
1
- ---
2
- name: dare-tasks
3
- description: Decompõe o BLUEPRINT aprovado em tasks atômicas e gera os 3 artefatos da fase de execução do DARE (TASKS.md, dare-dag.yaml, EXECUTION/task-*.md). Use quando o usuário aprovar o BLUEPRINT.md. A construção do grafo segue rigorosamente a skill dare-dag-runner.
4
- ---
5
-
6
- # DARE Tasks Skill
7
-
8
- Você é o especialista em decomposição de projetos do método DARE. Seu papel é
9
- quebrar o BLUEPRINT aprovado em tasks atômicas e gerar simultaneamente os
10
- **três artefatos** da fase de execução, garantindo consistência entre eles.
11
-
12
- ## Quando usar esta skill
13
-
14
- - BLUEPRINT.md foi aprovado pelo usuário
15
- - Necessário criar o plano de execução (tasks + grafo + specs)
16
- - Terceira fase do Método DARE (transição A → E)
17
-
18
- ## Pré-requisitos
19
-
20
- Antes de gerar, leia também a skill `dare-dag-runner` — ela contém as regras
21
- inegociáveis do grafo (`depends_on` mínimo, complexity, prompt self-contained,
22
- limites de 2000/4000 chars, ranks paralelos).
23
-
24
- ## Os 3 artefatos sempre juntos
25
-
26
- | Arquivo | Para quê | Lido por |
27
- |---------|----------|----------|
28
- | `DARE/TASKS.md` | Visão humana com tabela e progresso | Humano |
29
- | `DARE/dare-dag.yaml` | Grafo executável | CLI `dare execute` |
30
- | `DARE/EXECUTION/task-<id>.md` | Spec detalhada por task | Subagente ao executar |
31
-
32
- Os três precisam estar **consistentes**: mesmos `id`s, mesmas `depends_on`,
33
- mesmas `complexity`. Inconsistência aqui quebra a execução.
34
-
35
- ## Como usar
36
-
37
- ### Passo 1: Ler o BLUEPRINT aprovado
38
-
39
- Leia `DARE/BLUEPRINT.md`. Extraia:
40
- - Fases do plano de execução
41
- - Endpoints, modelos de dados, schemas
42
- - Estrutura de diretórios
43
- - Decisões arquiteturais
44
- - Estratégia de testes
45
-
46
- ### Passo 2: Decompor em tasks atômicas
47
-
48
- Cada task deve:
49
- - Ser pequena o suficiente para uma conversa única (15–60 min de trabalho)
50
- - Ter dependências reais e mínimas (não falsas)
51
- - Ser testável isoladamente
52
- - Incluir validações de segurança apropriadas
53
- - Ter `complexity` honesta (LOW/MED/HIGH)
54
-
55
- ### Passo 3: Gerar `DARE/TASKS.md` (visão humana)
56
-
57
- ```markdown
58
- # Tasks: [Nome do Projeto]
59
-
60
- ## Visão Geral
61
- - Total de Tasks: [N]
62
- - Ranks paralelos: [N]
63
- - Tempo estimado: [horas]
64
-
65
- ## Tabela de Status
66
-
67
- | ID | Título | Status | Depends On | Complexity |
68
- |----------|-----------------------------|-------------|------------------|------------|
69
- | task-001 | Setup project structure | ⏳ PENDING | — | LOW |
70
- | task-002 | DB migrations | ⏳ PENDING | — | MED |
71
- | task-003 | Auth controllers | ⏳ PENDING | task-001, 002 | HIGH |
72
- | ... | ... | ... | ... | ... |
73
-
74
- ## Tarefas por Fase
75
-
76
- ### Phase 1: Setup
77
- - task-001: Setup project structure
78
- - task-002: DB migrations
79
-
80
- ### Phase 2: Auth
81
- - task-003: Auth controllers (deps: 001, 002)
82
- - ...
83
-
84
- ## Próximas Etapas
85
- 1. Revisar e aprovar este TASKS.md
86
- 2. Executar paralelo: `dare execute --parallel`
87
- 3. Ou task isolada: `/dare-execute task-001`
88
- ```
89
-
90
- ### Passo 4: Gerar `DARE/dare-dag.yaml` (grafo executável)
91
-
92
- Schema canônico:
93
-
94
- ```yaml
95
- title: "[Nome do Projeto] - Development Tasks"
96
- version: "1.0.0"
97
-
98
- limits:
99
- parent_context_chars: 2000
100
- task_output_chars: 4000
101
- timeout_seconds: 600
102
-
103
- models:
104
- cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
105
- claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
106
- antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
107
-
108
- tasks:
109
- - id: task-001
110
- title: "Setup project structure"
111
- depends_on: []
112
- complexity: LOW
113
- spec_file: EXECUTION/task-001.md
114
- subtask_prompt: |
115
- Setup base project structure following DARE/BLUEPRINT.md.
116
- Create directories, initialize package files. No business logic yet.
117
- Validation gate: project builds.
118
-
119
- - id: task-002
120
- title: "DB migrations"
121
- depends_on: []
122
- complexity: MED
123
- spec_file: EXECUTION/task-002.md
124
- subtask_prompt: |
125
- Create migrations for users and refresh_tokens tables per BLUEPRINT.
126
- Include indexes and FKs. Validation gate: migrate runs cleanly.
127
- ```
128
-
129
- **Regras inegociáveis (da skill dare-dag-runner):**
130
- - `id` em kebab-case e único
131
- - `depends_on` mínimo — só quando filha **literalmente** precisa do output
132
- - `subtask_prompt` self-contained (subagente recebe só ele + 2000 chars de pais)
133
- - Pelo menos 2 tasks no rank 0 (`depends_on: []`)
134
- - Cadeia linear é antipattern — reveja
135
-
136
- ### Passo 5: Gerar `DARE/EXECUTION/task-<id>.md` (specs detalhadas)
137
-
138
- Para CADA task no YAML, crie a spec usando `templates/TASK-SPEC-template.md`:
139
-
140
- ```markdown
141
- # Task 001: Setup project structure
142
-
143
- ## Objetivo
144
- Criar a estrutura base do projeto seguindo o BLUEPRINT.
145
-
146
- ## Descrição
147
- Inicializar diretórios, package files e configuração mínima.
148
- Sem lógica de negócio — apenas scaffolding.
149
-
150
- ## Arquivos a Criar
151
- - `src/` (diretório)
152
- - `tests/` (diretório)
153
- - `package.json` (ou equivalente da stack)
154
- - `.gitignore`
155
-
156
- ## Validation Gates
157
- - [ ] Estrutura criada
158
- - [ ] Build passa sem erros
159
- - [ ] Lint sem warnings
160
- - [ ] `package.json` (ou Cargo.toml, composer.json) válido
161
-
162
- ## Testes
163
- ```bash
164
- npm run build # ou cargo build, composer install, etc.
165
- ```
166
-
167
- ## Segurança
168
- - `.env` no `.gitignore`
169
- - Nenhum secret commitado
170
-
171
- ## Próxima Task
172
- Task 002: DB migrations
173
- ```
174
-
175
- ### Passo 6: Validar consistência
176
-
177
- Antes de entregar, confirme:
178
- - [ ] Mesmos `id`s em `TASKS.md`, `dare-dag.yaml` e `EXECUTION/task-*.md`
179
- - [ ] Mesmas `depends_on` nos três
180
- - [ ] Mesmas `complexity`
181
- - [ ] Sem ciclos no grafo
182
- - [ ] Pelo menos 2 tasks no rank 0
183
- - [ ] Cada `subtask_prompt` é executável sem contexto adicional
184
-
185
- ### Passo 7: Regenerar a visualização do DAG
186
-
187
- Depois de salvar o `dare-dag.yaml`, rode:
188
-
189
- ```bash
190
- dare dag viz -o DARE/dag-graph.mmd
191
- ```
192
-
193
- Isso reescreve `DARE/dag-graph.mmd` (Mermaid) refletindo o grafo atualizado.
194
- O usuário pode abrir o arquivo no Antigravity para visualizar o grafo
195
- estático com cores por status antes de executar.
196
-
197
- ### Passo 8: Pedir aprovação
198
-
199
- > Gerados os 4 artefatos da fase de execução:
200
- > - `DARE/TASKS.md` ([N] tasks)
201
- > - `DARE/dare-dag.yaml` ([N] ranks paralelos)
202
- > - `DARE/EXECUTION/task-*.md` ([N] specs)
203
- > - `DARE/dag-graph.mmd` (visualização Mermaid do DAG)
204
- >
205
- > Revise (abra `dag-graph.mmd` para ver o grafo). Quando aprovar:
206
- > `dare execute --next` para iniciar a execução.
207
-
208
- ## Boas práticas
209
-
210
- 1. **Atômicas:** cada task é independente o suficiente para uma conversa
211
- 2. **Testáveis:** validation gates específicos da stack
212
- 3. **Documentadas:** specs claras e auto-contidas
213
- 4. **Seguras:** integre OWASP nos pontos sensíveis
214
- 5. **Paralelizáveis:** maximize rank 0; minimize cadeias lineares
215
-
216
- ## Erros comuns a evitar
217
-
218
- | Erro | Como corrigir |
219
- |------|---------------|
220
- | Cadeia linear `001→002→003→...` | Adicione paralelismo onde a dependência é falsa |
221
- | `subtask_prompt` referenciando "como combinamos" | Coloque tudo no prompt explicitamente |
222
- | Tudo em `complexity: HIGH` | Avalie honestamente — HIGH só para lógica crítica |
223
- | `id` duplicado ou com espaços | Use kebab-case e únicos |
224
- | Inconsistência entre os 3 artefatos | Revise antes de aprovar |
1
+ ---
2
+ name: dare-tasks
3
+ description: Decompõe o BLUEPRINT aprovado em tasks atômicas e gera os 3 artefatos da fase de execução do DARE (TASKS.md, dare-dag.yaml, EXECUTION/task-*.md). Use quando o usuário aprovar o BLUEPRINT.md. A construção do grafo segue rigorosamente a skill dare-dag-runner.
4
+ ---
5
+
6
+ # DARE Tasks Skill
7
+
8
+ Você é o especialista em decomposição de projetos do método DARE. Seu papel é
9
+ quebrar o BLUEPRINT aprovado em tasks atômicas e gerar simultaneamente os
10
+ **três artefatos** da fase de execução, garantindo consistência entre eles.
11
+
12
+ ## Quando usar esta skill
13
+
14
+ - BLUEPRINT.md foi aprovado pelo usuário
15
+ - Necessário criar o plano de execução (tasks + grafo + specs)
16
+ - Terceira fase do Método DARE (transição A → E)
17
+
18
+ ## Pré-requisitos
19
+
20
+ Antes de gerar, leia também a skill `dare-dag-runner` — ela contém as regras
21
+ inegociáveis do grafo (`depends_on` mínimo, complexity, prompt self-contained,
22
+ limites de 2000/4000 chars, ranks paralelos).
23
+
24
+ ## Os 3 artefatos sempre juntos
25
+
26
+ | Arquivo | Para quê | Lido por |
27
+ |---------|----------|----------|
28
+ | `DARE/TASKS.md` | Visão humana com tabela e progresso | Humano |
29
+ | `DARE/dare-dag.yaml` | Grafo executável | CLI `dare execute` |
30
+ | `DARE/EXECUTION/task-<id>.md` | Spec detalhada por task | Subagente ao executar |
31
+
32
+ Os três precisam estar **consistentes**: mesmos `id`s, mesmas `depends_on`,
33
+ mesmas `complexity`. Inconsistência aqui quebra a execução.
34
+
35
+ ## Como usar
36
+
37
+ ### Passo 1: Ler o BLUEPRINT aprovado
38
+
39
+ Leia `DARE/BLUEPRINT.md`. Extraia:
40
+ - Fases do plano de execução
41
+ - Endpoints, modelos de dados, schemas
42
+ - Estrutura de diretórios
43
+ - Decisões arquiteturais
44
+ - Estratégia de testes
45
+
46
+ ### Passo 2: Decompor em tasks atômicas
47
+
48
+ Cada task deve:
49
+ - Ser pequena o suficiente para uma conversa única (15–60 min de trabalho)
50
+ - Ter dependências reais e mínimas (não falsas)
51
+ - Ser testável isoladamente
52
+ - Incluir validações de segurança apropriadas
53
+ - Ter `complexity` honesta (LOW/MED/HIGH)
54
+
55
+ ### Passo 3: Gerar `DARE/TASKS.md` (visão humana)
56
+
57
+ ```markdown
58
+ # Tasks: [Nome do Projeto]
59
+
60
+ ## Visão Geral
61
+ - Total de Tasks: [N]
62
+ - Ranks paralelos: [N]
63
+ - Tempo estimado: [horas]
64
+
65
+ ## Tabela de Status
66
+
67
+ | ID | Título | Status | Depends On | Complexity |
68
+ |----------|-----------------------------|-------------|------------------|------------|
69
+ | task-001 | Setup project structure | ⏳ PENDING | — | LOW |
70
+ | task-002 | DB migrations | ⏳ PENDING | — | MED |
71
+ | task-003 | Auth controllers | ⏳ PENDING | task-001, 002 | HIGH |
72
+ | ... | ... | ... | ... | ... |
73
+
74
+ ## Tarefas por Fase
75
+
76
+ ### Phase 1: Setup
77
+ - task-001: Setup project structure
78
+ - task-002: DB migrations
79
+
80
+ ### Phase 2: Auth
81
+ - task-003: Auth controllers (deps: 001, 002)
82
+ - ...
83
+
84
+ ## Próximas Etapas
85
+ 1. Revisar e aprovar este TASKS.md
86
+ 2. Executar paralelo: `dare execute --parallel`
87
+ 3. Ou task isolada: `/dare-execute task-001`
88
+ ```
89
+
90
+ ### Passo 4: Gerar `DARE/dare-dag.yaml` (grafo executável)
91
+
92
+ Schema canônico:
93
+
94
+ ```yaml
95
+ title: "[Nome do Projeto] - Development Tasks"
96
+ version: "1.0.0"
97
+
98
+ limits:
99
+ parent_context_chars: 2000
100
+ task_output_chars: 4000
101
+ timeout_seconds: 600
102
+
103
+ models:
104
+ cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
105
+ claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
106
+ antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
107
+
108
+ tasks:
109
+ - id: task-001
110
+ title: "Setup project structure"
111
+ depends_on: []
112
+ complexity: LOW
113
+ spec_file: EXECUTION/task-001.md
114
+ subtask_prompt: |
115
+ Setup base project structure following DARE/BLUEPRINT.md.
116
+ Create directories, initialize package files. No business logic yet.
117
+ Validation gate: project builds.
118
+
119
+ - id: task-002
120
+ title: "DB migrations"
121
+ depends_on: []
122
+ complexity: MED
123
+ spec_file: EXECUTION/task-002.md
124
+ subtask_prompt: |
125
+ Create migrations for users and refresh_tokens tables per BLUEPRINT.
126
+ Include indexes and FKs. Validation gate: migrate runs cleanly.
127
+ ```
128
+
129
+ **Regras inegociáveis (da skill dare-dag-runner):**
130
+ - `id` em kebab-case e único
131
+ - `depends_on` mínimo — só quando filha **literalmente** precisa do output
132
+ - `subtask_prompt` self-contained (subagente recebe só ele + 2000 chars de pais)
133
+ - Pelo menos 2 tasks no rank 0 (`depends_on: []`)
134
+ - Cadeia linear é antipattern — reveja
135
+
136
+ ### Passo 5: Gerar `DARE/EXECUTION/task-<id>.md` (specs detalhadas)
137
+
138
+ Para CADA task no YAML, crie a spec usando `templates/TASK-SPEC-template.md`:
139
+
140
+ ```markdown
141
+ # Task 001: Setup project structure
142
+
143
+ ## Objetivo
144
+ Criar a estrutura base do projeto seguindo o BLUEPRINT.
145
+
146
+ ## Descrição
147
+ Inicializar diretórios, package files e configuração mínima.
148
+ Sem lógica de negócio — apenas scaffolding.
149
+
150
+ ## Arquivos a Criar
151
+ - `src/` (diretório)
152
+ - `tests/` (diretório)
153
+ - `package.json` (ou equivalente da stack)
154
+ - `.gitignore`
155
+
156
+ ## Validation Gates
157
+ - [ ] Estrutura criada
158
+ - [ ] Build passa sem erros
159
+ - [ ] Lint sem warnings
160
+ - [ ] `package.json` (ou Cargo.toml, composer.json) válido
161
+
162
+ ## Testes
163
+ ```bash
164
+ npm run build # ou cargo build, composer install, etc.
165
+ ```
166
+
167
+ ## Segurança
168
+ - `.env` no `.gitignore`
169
+ - Nenhum secret commitado
170
+
171
+ ## Próxima Task
172
+ Task 002: DB migrations
173
+ ```
174
+
175
+ ### Passo 5.1: ANTI-STUB CONTRACT (inegociável)
176
+
177
+ > 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.
178
+
179
+ Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender este contrato:
180
+
181
+ **O `subtask_prompt` deve ser auto-suficiente**
182
+
183
+ O subagente recebe **apenas** o `subtask_prompt` + snippets de 2000 chars dos pais. Inclua:
184
+
185
+ - Caminho exato dos arquivos a criar/modificar
186
+ - Assinaturas exatas das funções/endpoints (`fn name(params: T) -> R`)
187
+ - Schema de request/response com tipos
188
+ - Validações específicas (não "validar input" — `email: regex`, `senha: ≥ 8 chars + maiúscula + dígito`)
189
+ - Edge cases enumerados (input vazio, duplicado, expirado, sem permissão)
190
+ - Lista de testes esperados com nome + comportamento
191
+
192
+ **A `spec_file` deve ter Definition of Done anti-stub:**
193
+
194
+ ```markdown
195
+ ## Definition of Done (ANTI-STUB)
196
+
197
+ - [ ] Nenhum `TODO`, `FIXME`, `XXX` ou `HACK` em arquivos modificados
198
+ - [ ] Nenhuma função vazia (`fn x() {}`, `def x(): pass`, `function x() {}`)
199
+ - [ ] Nenhum `throw new Error('not implemented')`, `unimplemented!()`, `todo!()`, `NotImplementedError`
200
+ - [ ] Nenhum `return null` / `return undefined` / `return {}` como única statement de função pública
201
+ - [ ] Mocks **somente** dentro de `*.test.*`, `*.spec.*`, `__tests__/`, `tests/`, `spec/`
202
+ - [ ] Endpoints retornam dados reais (não fixos / hardcoded)
203
+ - [ ] Cada validação produz erro real com status code correto (testado)
204
+ - [ ] Cada edge case tem teste unitário/integração
205
+ ```
206
+
207
+ **Verificação:** o agente vai rodar `dare review <id>` antes de DONE. Falhou → volta pra revisão.
208
+
209
+ **Sinais de spec rasa:**
210
+
211
+ - "Implementar X" sem assinatura, sem retorno, sem validações
212
+ - "Tratar erros adequadamente" — quais erros?
213
+ - "Adicionar validações" quais regras?
214
+ - "Implementar `POST /auth/login` retornando `{ token, refresh }` com 200/401/429"
215
+
216
+ ### Passo 6: Validar consistência
217
+
218
+ Antes de entregar, confirme:
219
+ - [ ] Mesmos `id`s em `TASKS.md`, `dare-dag.yaml` e `EXECUTION/task-*.md`
220
+ - [ ] Mesmas `depends_on` nos três
221
+ - [ ] Mesmas `complexity`
222
+ - [ ] Sem ciclos no grafo
223
+ - [ ] Pelo menos 2 tasks no rank 0
224
+ - [ ] Cada `subtask_prompt` é executável sem contexto adicional
225
+
226
+ ### Passo 7: Regenerar a visualização do DAG
227
+
228
+ Depois de salvar o `dare-dag.yaml`, rode:
229
+
230
+ ```bash
231
+ dare dag viz -o DARE/dag-graph.mmd
232
+ ```
233
+
234
+ Isso reescreve `DARE/dag-graph.mmd` (Mermaid) refletindo o grafo atualizado.
235
+ O usuário pode abrir o arquivo no Antigravity para visualizar o grafo
236
+ estático com cores por status antes de executar.
237
+
238
+ ### Passo 8: Pedir aprovação
239
+
240
+ > Gerados os 4 artefatos da fase de execução:
241
+ > - `DARE/TASKS.md` ([N] tasks)
242
+ > - `DARE/dare-dag.yaml` ([N] ranks paralelos)
243
+ > - `DARE/EXECUTION/task-*.md` ([N] specs)
244
+ > - `DARE/dag-graph.mmd` (visualização Mermaid do DAG)
245
+ >
246
+ > Revise (abra `dag-graph.mmd` para ver o grafo). Quando aprovar:
247
+ > `dare execute --next` para iniciar a execução.
248
+
249
+ ## Boas práticas
250
+
251
+ 1. **Atômicas:** cada task é independente o suficiente para uma conversa
252
+ 2. **Testáveis:** validation gates específicos da stack
253
+ 3. **Documentadas:** specs claras e auto-contidas
254
+ 4. **Seguras:** integre OWASP nos pontos sensíveis
255
+ 5. **Paralelizáveis:** maximize rank 0; minimize cadeias lineares
256
+
257
+ ## Erros comuns a evitar
258
+
259
+ | Erro | Como corrigir |
260
+ |------|---------------|
261
+ | Cadeia linear `001→002→003→...` | Adicione paralelismo onde a dependência é falsa |
262
+ | `subtask_prompt` referenciando "como combinamos" | Coloque tudo no prompt explicitamente |
263
+ | Tudo em `complexity: HIGH` | Avalie honestamente — HIGH só para lógica crítica |
264
+ | `id` duplicado ou com espaços | Use kebab-case e únicos |
265
+ | Inconsistência entre os 3 artefatos | Revise antes de aprovar |
@@ -0,0 +1,188 @@
1
+ ---
2
+ name: dare-telemetry
3
+ description: Rastreamento de tokens e modelos de IA consumidos em cada etapa do Método DARE. Gera DARE/TELEMETRY.md com modelo usado, tokens estimados, tempo e tentativas (Ralph Loop) por comando — para auditoria, monitoramento de uso e otimização de custos.
4
+ ---
5
+
6
+ # DARE Telemetry Skill
7
+
8
+ Você é um especialista em observabilidade e monitoramento de uso de IA. Seu papel é rastrear consumo de tokens e modelos usados em cada etapa do DARE, mantendo `DARE/TELEMETRY.md` atualizado.
9
+
10
+ > **Diferença com `dare-quality-telemetry`:**
11
+ > - `dare-telemetry` (esta) — rastreia **uso de IA** (modelos, tokens, tempo) por comando DARE
12
+ > - `dare-quality-telemetry` — agrega **métricas de qualidade** das skills (M-01 a M-04)
13
+
14
+ ## Quando usar
15
+
16
+ - Ao final de cada comando DARE executado
17
+ - Para gerar relatório periódico de uso de IA
18
+ - Para auditoria de compliance (qual IA foi usada, onde)
19
+ - Para otimização de custos (qual etapa consome mais)
20
+
21
+ ## Modelos rastreáveis
22
+
23
+ Independente do IDE/agente:
24
+
25
+ | Modelo | Provider | Características | Melhor para |
26
+ |---|---|---|---|
27
+ | Claude Opus 4.7 | Anthropic | Análise profunda, refactor longo | Design, blueprint, security review |
28
+ | Claude Sonnet 4.5 | Anthropic | Equilíbrio velocidade/qualidade | Execução de tasks |
29
+ | GPT-4 Turbo | OpenAI | Versátil | Tarefas gerais |
30
+ | Gemini 2.0 Flash | Google | Ultra rápido | Tasks simples, processamento em batch |
31
+ | Modelos locais (Ollama) | Self-hosted | Privacidade total | Dados sensíveis |
32
+
33
+ ## Estrutura `DARE/TELEMETRY.md`
34
+
35
+ ```markdown
36
+ # Telemetria do Projeto: [Nome]
37
+
38
+ ## Resumo Executivo
39
+ - **Projeto:** [Nome]
40
+ - **Data de início:** [ISO 8601]
41
+ - **Tokens totais processados:** [Número]
42
+ - **Modelos utilizados:** [Lista]
43
+ - **Tempo total de execução:** [Tempo]
44
+ - **Custo estimado:** $[X]
45
+
46
+ ## Detalhamento por Etapa
47
+
48
+ ### 1. Design (`/dare-design`)
49
+ - **Data/Hora:** [Timestamp]
50
+ - **Modelo:** Claude Opus 4.7
51
+ - **Tokens estimados (in/out):** 7,390 / 1,250
52
+ - **Tempo de execução:** 45 segundos
53
+ - **Comando:** `/dare-design "Criar API de autenticação"`
54
+ - **Resultado:** DESIGN.md gerado, 12 RFs, 8 RNFs, 5 RS
55
+ - **Observações:** [Ajustes manuais necessários, etc.]
56
+
57
+ ### 2. Blueprint (`/dare-blueprint`)
58
+ - **Data/Hora:** [Timestamp]
59
+ - **Modelo:** Claude Opus 4.7
60
+ - **Tokens estimados (in/out):** 21,373 / 4,800
61
+ - **Tempo:** 2 min
62
+ - **Arquivo processado:** DARE/DESIGN.md
63
+ - **Resultado:** BLUEPRINT.md com 8 fases, 25 tabelas, 4 diagramas Mermaid
64
+
65
+ ### 3. Tasks (`/dare-tasks`)
66
+ - **Tokens estimados:** 33,912 / 8,200
67
+ - **Tempo:** 3 min 20 seg
68
+ - **Arquivo processado:** DARE/BLUEPRINT.md
69
+ - **Tasks geradas:** 12
70
+
71
+ ### 4. Execute Tasks (`/dare-execute`)
72
+
73
+ - **task-001 — Migration de Users**
74
+ - Modelo: Claude Sonnet 4.5
75
+ - Tokens: 7,801 / 2,500
76
+ - Tempo: 1 min 30 seg
77
+ - Tentativas (Ralph Loop): 1
78
+ - Status: ✓ Sucesso
79
+
80
+ - **task-002 — AuthController**
81
+ - Modelo: Claude Sonnet 4.5
82
+ - Tokens: 11,357 / 3,200
83
+ - Tempo: 2 min
84
+ - Tentativas: 2 (1 falha por typo)
85
+ - Status: ✓ Sucesso
86
+
87
+ ## Análise
88
+
89
+ | Etapa | Tokens in/out | % do total | Tempo |
90
+ |---|---|---|---|
91
+ | Design | 7,390 / 1,250 | 5% | 45 seg |
92
+ | Blueprint | 21,373 / 4,800 | 15% | 2 min |
93
+ | Tasks | 33,912 / 8,200 | 24% | 3 min 20 seg |
94
+ | Execute (12 tasks) | 85,234 / 24,000 | 56% | 25 min |
95
+ | **TOTAL** | **147,909 / 38,250** | **100%** | **~31 min** |
96
+
97
+ ## Modelos utilizados
98
+
99
+ - Claude Opus 4.7: 62,675 tokens (42%) — design + blueprint + tasks
100
+ - Claude Sonnet 4.5: 85,234 tokens (58%) — execução de tasks
101
+
102
+ ## Custo estimado
103
+
104
+ | Modelo | Tokens in | Tokens out | $/M in | $/M out | Total |
105
+ |---|---|---|---|---|---|
106
+ | Opus 4.7 | 62,675 | 14,250 | $15 | $75 | $2.01 |
107
+ | Sonnet 4.5 | 85,234 | 24,000 | $3 | $15 | $0.62 |
108
+ | **Total** | | | | | **$2.63** |
109
+ ```
110
+
111
+ ## Como aplicar
112
+
113
+ ### Passo 1: Após `/dare-design`
114
+
115
+ Adicione entrada na seção Design com:
116
+ - Timestamp
117
+ - Modelo do agente (perguntar ao usuário se não souber automaticamente)
118
+ - Tokens estimados (in/out) — pegar do output do modelo se disponível
119
+ - Tempo de execução
120
+ - Comando executado
121
+ - Observações qualitativas
122
+
123
+ ### Passo 2: Após `/dare-blueprint`
124
+
125
+ Idem. Adicione tabelas e diagramas gerados como resultado.
126
+
127
+ ### Passo 3: Após `/dare-tasks`
128
+
129
+ Inclua número de tasks geradas, complexidade média.
130
+
131
+ ### Passo 4: Após cada `/dare-execute`
132
+
133
+ Para cada task:
134
+ - Modelo usado
135
+ - Tokens
136
+ - Tempo
137
+ - **Tentativas no Ralph Loop** (importante — se >2, task precisa refino)
138
+ - Status (Sucesso/Falha)
139
+
140
+ ### Passo 5: Recompilar análise + custos
141
+
142
+ A cada 5 tasks ou release, atualize a seção Análise com totais agregados.
143
+
144
+ ## Capturando informações do agente
145
+
146
+ Cada IDE expõe diferente:
147
+
148
+ **Antigravity:**
149
+ - Modelo aparece no header da conversa
150
+ - Tokens estimados em `?ax-debug` ou settings
151
+
152
+ **Claude Code:**
153
+ - `/cost` mostra tokens da sessão
154
+ - Modelo no rodapé
155
+
156
+ **Cursor:**
157
+ - Barra de status canto inferior direito
158
+ - Histórico de conversa tem detalhes por resposta
159
+
160
+ ## Otimizações recomendadas
161
+
162
+ 1. **Modelo certo para tarefa certa**
163
+ - Opus → design/blueprint/security review
164
+ - Sonnet → execução
165
+ - Gemini Flash → tasks simples, batch
166
+ 2. **Reutilizar contexto** — múltiplas tasks na mesma sessão economiza re-leitura
167
+ 3. **Revisar Blueprint antes de Tasks** — evita re-geração
168
+ 4. **Agrupar tasks relacionadas** — contexto reaproveitado
169
+ 5. **Ralph Loop alto = especificação ruim** — se task precisa >2 tentativas, refine BLUEPRINT.md
170
+
171
+ ## Antipatterns
172
+
173
+ | AP | Antipattern | Por quê |
174
+ |---|---|---|
175
+ | AP-01 | Não rastrear telemetria | Sem dados para otimizar |
176
+ | AP-02 | Usar Opus para tasks triviais | Desperdício de custo |
177
+ | AP-03 | Ignorar Ralph Loop alto | Specs ruins se acumulam |
178
+ | AP-04 | Não auditar modelo (compliance) | Risco regulatório se houver |
179
+
180
+ ## Dicas
181
+
182
+ - **Combine** com `dare-quality-telemetry` — esta rastreia uso de IA, aquela rastreia qualidade
183
+ - **Exporte** TELEMETRY.md para dashboard (Grafana, Notion, etc.) periodicamente
184
+ - **Trate custo como métrica** — adicione ao Ralph Loop como gate (>$Y/feature = revisar specs)
185
+
186
+ ---
187
+
188
+ Esta skill é parte do DARE Method e está sob licença MIT.