@dewtech/dare-cli 2.17.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 (344) hide show
  1. package/README.md +98 -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.js +49 -49
  31. package/dist/__tests__/reverse-facts.test.d.ts +2 -0
  32. package/dist/__tests__/reverse-facts.test.d.ts.map +1 -0
  33. package/dist/__tests__/reverse-facts.test.js +78 -0
  34. package/dist/__tests__/reverse-facts.test.js.map +1 -0
  35. package/dist/__tests__/review.test.js +38 -38
  36. package/dist/__tests__/validate.test.js +65 -65
  37. package/dist/bin/dare.js +32 -3
  38. package/dist/bin/dare.js.map +1 -1
  39. package/dist/commands/blueprint.js +122 -122
  40. package/dist/commands/dag.d.ts.map +1 -1
  41. package/dist/commands/dag.js +43 -79
  42. package/dist/commands/dag.js.map +1 -1
  43. package/dist/commands/dna.d.ts +3 -0
  44. package/dist/commands/dna.d.ts.map +1 -0
  45. package/dist/commands/dna.js +69 -0
  46. package/dist/commands/dna.js.map +1 -0
  47. package/dist/commands/migrate.d.ts +3 -0
  48. package/dist/commands/migrate.d.ts.map +1 -0
  49. package/dist/commands/migrate.js +101 -0
  50. package/dist/commands/migrate.js.map +1 -0
  51. package/dist/commands/new.d.ts +16 -0
  52. package/dist/commands/new.d.ts.map +1 -0
  53. package/dist/commands/new.js +103 -0
  54. package/dist/commands/new.js.map +1 -0
  55. package/dist/commands/reverse.d.ts +3 -0
  56. package/dist/commands/reverse.d.ts.map +1 -0
  57. package/dist/commands/reverse.js +201 -0
  58. package/dist/commands/reverse.js.map +1 -0
  59. package/dist/commands/welcome.d.ts +14 -0
  60. package/dist/commands/welcome.d.ts.map +1 -0
  61. package/dist/commands/welcome.js +29 -0
  62. package/dist/commands/welcome.js.map +1 -0
  63. package/dist/skills/commands/add.d.ts +23 -0
  64. package/dist/skills/commands/add.d.ts.map +1 -0
  65. package/dist/skills/commands/add.js +206 -0
  66. package/dist/skills/commands/add.js.map +1 -0
  67. package/dist/skills/commands/info.d.ts +14 -0
  68. package/dist/skills/commands/info.d.ts.map +1 -0
  69. package/dist/skills/commands/info.js +99 -0
  70. package/dist/skills/commands/info.js.map +1 -0
  71. package/dist/skills/commands/list.d.ts +19 -0
  72. package/dist/skills/commands/list.d.ts.map +1 -0
  73. package/dist/skills/commands/list.js +163 -0
  74. package/dist/skills/commands/list.js.map +1 -0
  75. package/dist/skills/commands/publish.d.ts +56 -0
  76. package/dist/skills/commands/publish.d.ts.map +1 -0
  77. package/dist/skills/commands/publish.js +272 -0
  78. package/dist/skills/commands/publish.js.map +1 -0
  79. package/dist/skills/commands/remove.d.ts +19 -0
  80. package/dist/skills/commands/remove.d.ts.map +1 -0
  81. package/dist/skills/commands/remove.js +96 -0
  82. package/dist/skills/commands/remove.js.map +1 -0
  83. package/dist/skills/commands/update.d.ts +31 -0
  84. package/dist/skills/commands/update.d.ts.map +1 -0
  85. package/dist/skills/commands/update.js +132 -0
  86. package/dist/skills/commands/update.js.map +1 -0
  87. package/dist/skills/index.d.ts +22 -0
  88. package/dist/skills/index.d.ts.map +1 -0
  89. package/dist/skills/index.js +33 -0
  90. package/dist/skills/index.js.map +1 -0
  91. package/dist/skills/manifest.d.ts +54 -0
  92. package/dist/skills/manifest.d.ts.map +1 -0
  93. package/dist/skills/manifest.js +162 -0
  94. package/dist/skills/manifest.js.map +1 -0
  95. package/dist/skills/registry-local.d.ts +67 -0
  96. package/dist/skills/registry-local.d.ts.map +1 -0
  97. package/dist/skills/registry-local.js +130 -0
  98. package/dist/skills/registry-local.js.map +1 -0
  99. package/dist/skills/registry-mock.json +109 -0
  100. package/dist/skills/registry-remote.d.ts +110 -0
  101. package/dist/skills/registry-remote.d.ts.map +1 -0
  102. package/dist/skills/registry-remote.js +246 -0
  103. package/dist/skills/registry-remote.js.map +1 -0
  104. package/dist/skills/registry.d.ts +49 -0
  105. package/dist/skills/registry.d.ts.map +1 -0
  106. package/dist/skills/registry.js +94 -0
  107. package/dist/skills/registry.js.map +1 -0
  108. package/dist/skills/tests/manifest.spec.d.ts +8 -0
  109. package/dist/skills/tests/manifest.spec.d.ts.map +1 -0
  110. package/dist/skills/tests/manifest.spec.js +176 -0
  111. package/dist/skills/tests/manifest.spec.js.map +1 -0
  112. package/dist/skills/tests/publish.spec.d.ts +12 -0
  113. package/dist/skills/tests/publish.spec.d.ts.map +1 -0
  114. package/dist/skills/tests/publish.spec.js +276 -0
  115. package/dist/skills/tests/publish.spec.js.map +1 -0
  116. package/dist/skills/tests/registry-local.spec.d.ts +8 -0
  117. package/dist/skills/tests/registry-local.spec.d.ts.map +1 -0
  118. package/dist/skills/tests/registry-local.spec.js +231 -0
  119. package/dist/skills/tests/registry-local.spec.js.map +1 -0
  120. package/dist/skills/tests/registry.spec.d.ts +7 -0
  121. package/dist/skills/tests/registry.spec.d.ts.map +1 -0
  122. package/dist/skills/tests/registry.spec.js +58 -0
  123. package/dist/skills/tests/registry.spec.js.map +1 -0
  124. package/dist/skills/tests/remote-registry.spec.d.ts +9 -0
  125. package/dist/skills/tests/remote-registry.spec.d.ts.map +1 -0
  126. package/dist/skills/tests/remote-registry.spec.js +357 -0
  127. package/dist/skills/tests/remote-registry.spec.js.map +1 -0
  128. package/dist/skills/tests/update.spec.d.ts +9 -0
  129. package/dist/skills/tests/update.spec.d.ts.map +1 -0
  130. package/dist/skills/tests/update.spec.js +166 -0
  131. package/dist/skills/tests/update.spec.js.map +1 -0
  132. package/dist/utils/banner.d.ts +28 -0
  133. package/dist/utils/banner.d.ts.map +1 -0
  134. package/dist/utils/banner.js +77 -0
  135. package/dist/utils/banner.js.map +1 -0
  136. package/dist/utils/banner.spec.d.ts +5 -0
  137. package/dist/utils/banner.spec.d.ts.map +1 -0
  138. package/dist/utils/banner.spec.js +253 -0
  139. package/dist/utils/banner.spec.js.map +1 -0
  140. package/dist/utils/confidence.d.ts +41 -0
  141. package/dist/utils/confidence.d.ts.map +1 -0
  142. package/dist/utils/confidence.js +101 -0
  143. package/dist/utils/confidence.js.map +1 -0
  144. package/dist/utils/datamodel.d.ts +41 -0
  145. package/dist/utils/datamodel.d.ts.map +1 -0
  146. package/dist/utils/datamodel.js +535 -0
  147. package/dist/utils/datamodel.js.map +1 -0
  148. package/dist/utils/dna-detector.d.ts +61 -0
  149. package/dist/utils/dna-detector.d.ts.map +1 -0
  150. package/dist/utils/dna-detector.js +354 -0
  151. package/dist/utils/dna-detector.js.map +1 -0
  152. package/dist/utils/dna-facts.d.ts +13 -0
  153. package/dist/utils/dna-facts.d.ts.map +1 -0
  154. package/dist/utils/dna-facts.js +109 -0
  155. package/dist/utils/dna-facts.js.map +1 -0
  156. package/dist/utils/excalidraw-renderer.d.ts +11 -71
  157. package/dist/utils/excalidraw-renderer.d.ts.map +1 -1
  158. package/dist/utils/excalidraw-renderer.js +29 -162
  159. package/dist/utils/excalidraw-renderer.js.map +1 -1
  160. package/dist/utils/graph-renderer.d.ts +115 -0
  161. package/dist/utils/graph-renderer.d.ts.map +1 -0
  162. package/dist/utils/graph-renderer.js +216 -0
  163. package/dist/utils/graph-renderer.js.map +1 -0
  164. package/dist/utils/migration.d.ts +64 -0
  165. package/dist/utils/migration.d.ts.map +1 -0
  166. package/dist/utils/migration.js +183 -0
  167. package/dist/utils/migration.js.map +1 -0
  168. package/dist/utils/module-detector.d.ts +46 -0
  169. package/dist/utils/module-detector.d.ts.map +1 -0
  170. package/dist/utils/module-detector.js +348 -0
  171. package/dist/utils/module-detector.js.map +1 -0
  172. package/dist/utils/project-generator.js +252 -252
  173. package/dist/utils/reverse-facts.d.ts +50 -0
  174. package/dist/utils/reverse-facts.d.ts.map +1 -0
  175. package/dist/utils/reverse-facts.js +291 -0
  176. package/dist/utils/reverse-facts.js.map +1 -0
  177. package/dist/utils/stack-bootstrap.js +371 -371
  178. package/package.json +8 -3
  179. package/templates/DARE-dag-example.yaml +280 -280
  180. package/templates/UPDATE-MANIFEST.json +48 -48
  181. package/templates/backend/node-nestjs/.env.example +9 -9
  182. package/templates/backend/node-nestjs/nest-cli.json +8 -8
  183. package/templates/backend/node-nestjs/package.json +50 -50
  184. package/templates/backend/node-nestjs/src/app.controller.ts +12 -12
  185. package/templates/backend/node-nestjs/src/app.module.ts +15 -15
  186. package/templates/backend/node-nestjs/src/app.service.ts +8 -8
  187. package/templates/backend/node-nestjs/src/main.ts +24 -24
  188. package/templates/backend/node-nestjs/tsconfig.json +21 -21
  189. package/templates/backend/php-laravel/.env.example +22 -22
  190. package/templates/backend/php-laravel/app/Http/Controllers/HealthController.php +15 -15
  191. package/templates/backend/php-laravel/composer.json +40 -40
  192. package/templates/backend/python-fastapi/.env.example +4 -4
  193. package/templates/backend/python-fastapi/app/api/router.py +8 -8
  194. package/templates/backend/python-fastapi/app/core/config.py +20 -20
  195. package/templates/backend/python-fastapi/main.py +35 -35
  196. package/templates/backend/python-fastapi/requirements.txt +13 -13
  197. package/templates/backend/rust-axum/.env.example +3 -3
  198. package/templates/backend/rust-axum/Cargo.toml +23 -23
  199. package/templates/backend/rust-axum/src/errors.rs +30 -30
  200. package/templates/backend/rust-axum/src/main.rs +32 -32
  201. package/templates/backend/rust-axum/src/routes.rs +6 -6
  202. package/templates/frontend/leptos-csr/.cargo/config.toml +2 -2
  203. package/templates/frontend/leptos-csr/Cargo.toml +16 -16
  204. package/templates/frontend/leptos-csr/Trunk.toml +10 -10
  205. package/templates/frontend/leptos-csr/index.html +11 -11
  206. package/templates/frontend/leptos-csr/src/lib.rs +20 -20
  207. package/templates/frontend/leptos-csr/style/main.scss +19 -19
  208. package/templates/frontend/leptos-fullstack/.cargo/config.toml +4 -4
  209. package/templates/frontend/leptos-fullstack/Cargo.toml +56 -56
  210. package/templates/frontend/leptos-fullstack/src/app.rs +49 -49
  211. package/templates/frontend/leptos-fullstack/src/lib.rs +9 -9
  212. package/templates/frontend/leptos-fullstack/src/main.rs +29 -29
  213. package/templates/frontend/leptos-fullstack/style/main.scss +19 -19
  214. package/templates/frontend/react/index.html +12 -12
  215. package/templates/frontend/react/package.json +35 -35
  216. package/templates/frontend/react/src/App.tsx +25 -25
  217. package/templates/frontend/react/src/main.tsx +9 -9
  218. package/templates/frontend/vue/package.json +32 -32
  219. package/templates/frontend/vue/src/App.vue +7 -7
  220. package/templates/frontend/vue/src/main.ts +10 -10
  221. package/templates/frontend/vue/src/router/index.ts +14 -14
  222. package/templates/frontend/vue/src/views/HomeView.vue +6 -6
  223. package/templates/hooks/pre-commit-dare-validate +24 -24
  224. package/templates/ide/antigravity/.agents/skills/dare-ax/SKILL.md +152 -0
  225. package/templates/ide/antigravity/.agents/skills/dare-dag-build/SKILL.md +154 -0
  226. package/templates/ide/antigravity/.agents/skills/dare-dag-run/SKILL.md +130 -0
  227. package/templates/ide/antigravity/.agents/skills/dare-dag-runner/SKILL.md +203 -203
  228. package/templates/ide/antigravity/.agents/skills/dare-dna/SKILL.md +63 -0
  229. package/templates/ide/antigravity/.agents/skills/dare-docker/SKILL.md +315 -0
  230. package/templates/ide/antigravity/.agents/skills/dare-frontend-design/SKILL.md +192 -0
  231. package/templates/ide/antigravity/.agents/skills/dare-laravel-api/SKILL.md +337 -0
  232. package/templates/ide/antigravity/.agents/skills/dare-layered-design/SKILL.md +166 -0
  233. package/templates/ide/antigravity/.agents/skills/dare-llm-integration/SKILL.md +217 -0
  234. package/templates/ide/antigravity/.agents/skills/dare-migrate/SKILL.md +61 -0
  235. package/templates/ide/antigravity/.agents/skills/dare-quality-telemetry/SKILL.md +187 -0
  236. package/templates/ide/antigravity/.agents/skills/dare-realtime/SKILL.md +217 -0
  237. package/templates/ide/antigravity/.agents/skills/dare-refine/SKILL.md +114 -114
  238. package/templates/ide/antigravity/.agents/skills/dare-reverse/SKILL.md +108 -0
  239. package/templates/ide/antigravity/.agents/skills/dare-review/SKILL.md +111 -111
  240. package/templates/ide/antigravity/.agents/skills/dare-rust-leptos/SKILL.md +263 -0
  241. package/templates/ide/antigravity/.agents/skills/dare-rust-workspace/SKILL.md +275 -275
  242. package/templates/ide/antigravity/.agents/skills/dare-security/SKILL.md +274 -0
  243. package/templates/ide/antigravity/.agents/skills/dare-tasks/SKILL.md +265 -265
  244. package/templates/ide/antigravity/.agents/skills/dare-telemetry/SKILL.md +188 -0
  245. package/templates/ide/antigravity/.agents/skills/skill-fastapi-api/SKILL.md +343 -0
  246. package/templates/ide/antigravity/.agents/skills/skill-go-gin-api/SKILL.md +377 -0
  247. package/templates/ide/antigravity/.agents/skills/skill-mcp-server/SKILL.md +382 -0
  248. package/templates/ide/antigravity/.agents/skills/skill-nestjs-api/SKILL.md +326 -0
  249. package/templates/ide/antigravity/.agents/skills/skill-rails-api/SKILL.md +393 -0
  250. package/templates/ide/antigravity/templates/BLUEPRINT-template.md +193 -193
  251. package/templates/ide/antigravity/templates/DESIGN-template.md +129 -129
  252. package/templates/ide/antigravity/templates/TASK-SPEC-template.md +141 -141
  253. package/templates/ide/claude/.claude/commands/dare-ax.md +131 -0
  254. package/templates/ide/claude/.claude/commands/dare-blueprint.md +134 -134
  255. package/templates/ide/claude/.claude/commands/dare-bugfix-design.md +119 -0
  256. package/templates/ide/claude/.claude/commands/dare-dag-build.md +151 -151
  257. package/templates/ide/claude/.claude/commands/dare-dag-run.md +109 -109
  258. package/templates/ide/claude/.claude/commands/dare-dag-runner.md +117 -0
  259. package/templates/ide/claude/.claude/commands/dare-dag-viz.md +197 -197
  260. package/templates/ide/claude/.claude/commands/dare-design.md +69 -69
  261. package/templates/ide/claude/.claude/commands/dare-dna.md +75 -0
  262. package/templates/ide/claude/.claude/commands/dare-docker.md +207 -0
  263. package/templates/ide/claude/.claude/commands/dare-execute.md +152 -152
  264. package/templates/ide/claude/.claude/commands/dare-feature-design.md +147 -0
  265. package/templates/ide/claude/.claude/commands/dare-frontend-design.md +149 -0
  266. package/templates/ide/claude/.claude/commands/dare-laravel-api.md +211 -0
  267. package/templates/ide/claude/.claude/commands/dare-layered-design.md +124 -0
  268. package/templates/ide/claude/.claude/commands/dare-llm-integration.md +148 -0
  269. package/templates/ide/claude/.claude/commands/dare-migrate.md +72 -0
  270. package/templates/ide/claude/.claude/commands/dare-quality-telemetry.md +166 -0
  271. package/templates/ide/claude/.claude/commands/dare-realtime.md +159 -0
  272. package/templates/ide/claude/.claude/commands/dare-refine.md +145 -145
  273. package/templates/ide/claude/.claude/commands/dare-reverse.md +139 -0
  274. package/templates/ide/claude/.claude/commands/dare-review.md +113 -113
  275. package/templates/ide/claude/.claude/commands/dare-rust-leptos.md +269 -269
  276. package/templates/ide/claude/.claude/commands/dare-rust-workspace.md +209 -209
  277. package/templates/ide/claude/.claude/commands/dare-security.md +232 -232
  278. package/templates/ide/claude/.claude/commands/dare-tasks.md +70 -70
  279. package/templates/ide/claude/.claude/commands/dare-telemetry.md +132 -0
  280. package/templates/ide/claude/.claude/commands/skill-fastapi-api.md +205 -0
  281. package/templates/ide/claude/.claude/commands/skill-go-gin-api.md +232 -0
  282. package/templates/ide/claude/.claude/commands/skill-mcp-server.md +228 -0
  283. package/templates/ide/claude/.claude/commands/skill-nestjs-api.md +210 -0
  284. package/templates/ide/claude/.claude/commands/skill-rails-api.md +236 -0
  285. package/templates/ide/claude/.claude/settings.example.json +35 -35
  286. package/templates/ide/claude/CLAUDE.md +146 -146
  287. package/templates/ide/claude/templates/BLUEPRINT-template.md +193 -193
  288. package/templates/ide/claude/templates/DESIGN-template.md +129 -129
  289. package/templates/ide/claude/templates/TASK-SPEC-template.md +141 -141
  290. package/templates/ide/cursor/.cursor/commands/dag-viz.md +139 -0
  291. package/templates/ide/cursor/.cursor/commands/generate-blueprint.md +86 -86
  292. package/templates/ide/cursor/.cursor/commands/generate-design.md +35 -35
  293. package/templates/ide/cursor/.cursor/commands/generate-tasks.md +184 -184
  294. package/templates/ide/cursor/.cursor/commands/refine-task.md +107 -107
  295. package/templates/ide/cursor/.cursor/commands/review-task.md +91 -91
  296. package/templates/ide/cursor/.cursor/commands/run-dag.md +110 -110
  297. package/templates/ide/cursor/.cursor/rules/skill-ax.mdc +263 -0
  298. package/templates/ide/cursor/.cursor/rules/skill-dag-build.mdc +173 -0
  299. package/templates/ide/cursor/.cursor/rules/skill-dag-run.mdc +134 -0
  300. package/templates/ide/cursor/.cursor/rules/skill-dag-runner.mdc +221 -221
  301. package/templates/ide/cursor/.cursor/rules/skill-dna.mdc +63 -0
  302. package/templates/ide/cursor/.cursor/rules/skill-fastapi-api.mdc +352 -0
  303. package/templates/ide/cursor/.cursor/rules/skill-frontend-design.mdc +244 -0
  304. package/templates/ide/cursor/.cursor/rules/skill-go-gin-api.mdc +371 -0
  305. package/templates/ide/cursor/.cursor/rules/skill-layered-design.mdc +266 -0
  306. package/templates/ide/cursor/.cursor/rules/skill-llm-integration.mdc +295 -0
  307. package/templates/ide/cursor/.cursor/rules/skill-mcp-server.mdc +367 -0
  308. package/templates/ide/cursor/.cursor/rules/skill-migrate.mdc +58 -0
  309. package/templates/ide/cursor/.cursor/rules/skill-nestjs-api.mdc +346 -0
  310. package/templates/ide/cursor/.cursor/rules/skill-quality-telemetry.mdc +248 -0
  311. package/templates/ide/cursor/.cursor/rules/skill-rails-api.mdc +400 -0
  312. package/templates/ide/cursor/.cursor/rules/skill-realtime.mdc +262 -0
  313. package/templates/ide/cursor/.cursor/rules/skill-reverse.mdc +107 -0
  314. package/templates/ide/cursor/.cursor/rules/skill-rust-leptos.mdc +281 -0
  315. package/templates/ide/cursor/.cursor/rules/skill-rust-workspace.mdc +312 -312
  316. package/templates/ide/cursor/.cursor/rules/skill-security.mdc +245 -245
  317. package/templates/ide/cursor/templates/BLUEPRINT-template.md +193 -193
  318. package/templates/ide/cursor/templates/DESIGN-template.md +129 -129
  319. package/templates/ide/cursor/templates/TASK-SPEC-template.md +141 -141
  320. package/templates/shared/docker-compose.yml +41 -41
  321. package/dist/__tests__/dag-runner/adapters.test.d.ts +0 -2
  322. package/dist/__tests__/dag-runner/adapters.test.d.ts.map +0 -1
  323. package/dist/__tests__/dag-runner/adapters.test.js +0 -134
  324. package/dist/__tests__/dag-runner/adapters.test.js.map +0 -1
  325. package/dist/dag-runner/adapters/antigravity.d.ts +0 -6
  326. package/dist/dag-runner/adapters/antigravity.d.ts.map +0 -1
  327. package/dist/dag-runner/adapters/antigravity.js +0 -54
  328. package/dist/dag-runner/adapters/antigravity.js.map +0 -1
  329. package/dist/dag-runner/adapters/claude.d.ts +0 -6
  330. package/dist/dag-runner/adapters/claude.d.ts.map +0 -1
  331. package/dist/dag-runner/adapters/claude.js +0 -48
  332. package/dist/dag-runner/adapters/claude.js.map +0 -1
  333. package/dist/dag-runner/adapters/cursor.d.ts +0 -6
  334. package/dist/dag-runner/adapters/cursor.d.ts.map +0 -1
  335. package/dist/dag-runner/adapters/cursor.js +0 -58
  336. package/dist/dag-runner/adapters/cursor.js.map +0 -1
  337. package/dist/dag-runner/adapters/index.d.ts +0 -46
  338. package/dist/dag-runner/adapters/index.d.ts.map +0 -1
  339. package/dist/dag-runner/adapters/index.js +0 -55
  340. package/dist/dag-runner/adapters/index.js.map +0 -1
  341. package/dist/dag-runner/utils/timeout.d.ts +0 -27
  342. package/dist/dag-runner/utils/timeout.d.ts.map +0 -1
  343. package/dist/dag-runner/utils/timeout.js +0 -55
  344. package/dist/dag-runner/utils/timeout.js.map +0 -1
@@ -0,0 +1,139 @@
1
+ # /dare-reverse
2
+
3
+ Camada semântica da engenharia reversa (Fase 0 / brownfield). Roda **depois** do comando
4
+ `dare reverse`, que já varreu o código e gerou os esqueletos. Sua função é **preencher as
5
+ inferências** que o CLI determinístico não faz: propósito, domínio, responsabilidades e os
6
+ **diagramas de fluxo** ("como a coisa funciona").
7
+
8
+ ## Como usar
9
+
10
+ ```
11
+ /dare-reverse # preenche os artefatos gerados por `dare reverse`
12
+ ```
13
+
14
+ > Pré-requisito: rodar `dare reverse` antes (gera `DARE/IDEIA.md`, `DARE/REVERSE/module-*.md`
15
+ > e `DARE/REVERSE/reverse-facts.json`). Se não existirem, instrua o usuário a rodar `dare reverse` primeiro.
16
+
17
+ ## Quando usar
18
+
19
+ - O usuário quer entender / documentar um projeto **legado** antes de adotar o DARE.
20
+ - Acabou de rodar `dare reverse` e os artefatos têm seções `<!-- AGENT: ... -->` em aberto.
21
+ - O objetivo é gerar uma **pré-arquitetura** (`IDEIA.md`) que depois vira `DESIGN.md`.
22
+
23
+ ## Marcação de confiança (obrigatória)
24
+
25
+ Ao preencher cada `<!-- AGENT -->`, marque **cada afirmação** com seu nível de confiança + evidência:
26
+
27
+ - `- 🟢 <claim>. ` + `` `arquivo:linha` `` — **CONFIRMED**: evidência direta no código.
28
+ - `- 🟡 <claim>. ` + `` `arquivo:linha` `` — **INFERRED**: padrão/dedução; pode estar errado.
29
+ - `- 🔴 <claim>. → ver gaps.md` — **GAP**: não determinável pelo código.
30
+
31
+ Regra: só 🟢 com evidência direta; na dúvida, 🟡; sem base, 🔴 (e registre em `gaps.md`). Os fatos
32
+ estruturais (caminho, LOC, deps) já vêm pré-marcados 🟢 pelo CLI — **não os altere**.
33
+
34
+ ## O que fazer
35
+
36
+ ### 1. Carregar os fatos (não re-varrer tudo)
37
+
38
+ - Leia `DARE/REVERSE/reverse-facts.json` — é a fonte de fatos determinística (stack, módulos,
39
+ LOC, grafo de dependências). **Confie nela** para o inventário; não reconte arquivos.
40
+ - Para cada módulo, abra **2-5 arquivos representativos** (entrypoints, controllers, services,
41
+ models) — o suficiente para inferir responsabilidade e fluxo. Não leia o módulo inteiro.
42
+
43
+ ### 2. Preencher `DARE/IDEIA.md`
44
+
45
+ Substitua cada bloco `<!-- AGENT: ... -->` por conteúdo real:
46
+
47
+ - **Propósito Inferido** — 2-4 frases: o que o software faz e por quê.
48
+ - **Domínio & Conceitos** — entidades de negócio + glossário (inferidos de models/migrations/nomes).
49
+ - **Modelo de Dados (reconstruído)** — entidades, campos-chave, relacionamentos (de migrations/ORM).
50
+ - **Superfície de API** — endpoints inferidos de rotas/controllers (método, rota, propósito).
51
+ - **Fluxo do Sistema** — um `flowchart TD` Mermaid do caminho principal de request/dados
52
+ atravessando os módulos. Ex.:
53
+ ```mermaid
54
+ flowchart TD
55
+ Client[Cliente] --> API[API/Rotas]
56
+ API --> Auth[auth: valida token]
57
+ Auth --> Domain[users: regra de negócio]
58
+ Domain --> DB[(Persistência)]
59
+ ```
60
+ - **⚠️ Incertezas / Gaps** — seja honesto: o que NÃO deu pra inferir com segurança, e perguntas
61
+ objetivas para o humano confirmar. Esta seção é o que protege o checkpoint human-in-the-loop.
62
+
63
+ **Não toque** no Mapa de Módulos nem na tabela (são determinísticos, gerados pelo CLI).
64
+
65
+ ### 3. Preencher cada `DARE/REVERSE/module-*.md`
66
+
67
+ Para cada módulo, substitua os `<!-- AGENT -->`:
68
+
69
+ - **Responsabilidade** — 1-3 frases sobre o papel do módulo no sistema.
70
+ - **Superfície Pública** — o que ele expõe (funções/classes/endpoints/tipos exportados).
71
+ - **Como Funciona (fluxo)** — um `sequenceDiagram` Mermaid do fluxo de execução típico. Ex.:
72
+ ```mermaid
73
+ sequenceDiagram
74
+ participant C as Caller
75
+ participant S as Service
76
+ participant R as Repository
77
+ participant DB as Database
78
+ C->>S: chamada(args)
79
+ S->>R: busca/persiste
80
+ R->>DB: query
81
+ DB-->>R: linhas
82
+ R-->>S: entidade
83
+ S-->>C: resultado
84
+ ```
85
+ - **Dependências & Acoplamento** — comente as dependências listadas em "Depende de" e riscos
86
+ de acoplamento (ex.: dependência circular, módulo-hotspot HIGH com muitos dependentes).
87
+
88
+ ### 4. Apresentar ao usuário
89
+
90
+ Mostre um resumo: propósito inferido, nº de módulos, principais incertezas. Reforce que o
91
+ `IDEIA.md` é um **rascunho a ser validado** — peça para o humano revisar antes de promover a DESIGN.
92
+
93
+ ## Passo final — Gaps, Questions e Reviewer
94
+
95
+ 1. **`gaps.md`** — consolide todos os 🔴 em `DARE/REVERSE/gaps.md`, classificados por severidade
96
+ (crítico / moderado / cosmético / fora-escopo) e com o tratamento sugerido.
97
+ 2. **`questions.md`** — perguntas objetivas ao humano em `DARE/REVERSE/questions.md`.
98
+ 3. **Reviewer (releia e reclassifique)** — reabra os arquivos-chave e revise os claims; rebaixe os
99
+ que não têm evidência suficiente (🟢→🟡 ou 🟡→🔴). Um spec honesto sobre suas incertezas vale mais
100
+ que um spec fluente que apresenta suposição como fato.
101
+ 4. **Rode `dare reverse --report`** — o CLI conta os marcadores e gera `confidence-report.md` +
102
+ `traceability/code-spec-matrix.md` com o índice determinístico. Mostre o índice ao usuário.
103
+
104
+ ## Modo `--deep` (Fase 3)
105
+
106
+ Se `dare reverse --deep` foi usado, há artefatos extras em `DARE/REVERSE/` a completar:
107
+
108
+ - **`erd.md`** — o CLI extraiu entidades de migrations/Prisma/ORM (🟢, com evidência). Complete
109
+ relações/entidades **não-explícitas** no schema (🟡) e corrija o que estiver errado.
110
+ - **`domain-rules.md`** — regras de negócio (validações, invariantes, cálculos, políticas), 🟢/🟡/🔴.
111
+ - **`state-machines.md`** — um `stateDiagram-v2` por entidade/fluxo com estados e transições reais.
112
+ - **`permissions.md`** — papéis, recursos e regras de autorização (quem pode o quê).
113
+ - **`c4/c4-context.md`** e **`c4/c4-container.md`** — atores/sistemas externos e containers de deploy.
114
+ (O nível *component* já é o mapa de módulos em `c4/c4-component.md`, gerado pelo CLI.)
115
+
116
+ ## Regras de ouro
117
+
118
+ 1. **Não invente.** Se um fluxo não está claro no código, marque 🔴 (gap) em vez de chutar.
119
+ 2. **Fidelidade ao código real** — descreva o que o código faz, não o que deveria fazer.
120
+ 3. **Diagramas enxutos** — um fluxo legível vale mais que um diagrama exaustivo e ilegível.
121
+ 4. **Não re-varra** — os fatos já estão em `reverse-facts.json`; foque na inferência semântica.
122
+ 5. **Preserve o determinístico** — nunca edite o Mapa de Módulos/tabela/grafo gerados pelo CLI.
123
+
124
+ ## Antipatterns
125
+
126
+ | AP | Antipattern | Por quê |
127
+ |---|---|---|
128
+ | AP-01 | Inventar endpoints/entidades não presentes no código | Polui a pré-arquitetura com ficção |
129
+ | AP-02 | Reescrever a tabela de módulos do CLI | Quebra a fonte determinística |
130
+ | AP-03 | `sequenceDiagram` gigante e ilegível | Anula o propósito do diagrama |
131
+ | AP-04 | Pular a seção de Incertezas | Remove o ponto de validação humana |
132
+ | AP-05 | Ler o projeto inteiro arquivo a arquivo | Desperdiça contexto; os fatos já estão no JSON |
133
+ | AP-06 | Marcar tudo 🟢 sem evidência `file:line` | Infla a confiança e engana o humano — o valor está em separar 🟢/🟡/🔴 |
134
+
135
+ $ARGUMENTS
136
+
137
+ ---
138
+
139
+ Skill MIT — parte do DARE Method. Fase 0 (brownfield). Pareia com o comando `dare reverse`.
@@ -1,113 +1,113 @@
1
- # Comando: /dare-review
2
-
3
- ## Descrição
4
-
5
- Audita uma task **implementada** cruzando a spec (`DARE/EXECUTION/<id>.md`) com os arquivos reais que ela tocou. Detecta stubs, mocks fora de testes, funções vazias, TODOs, retorno-fantasma — **e** valida critério-a-critério se a implementação satisfaz o que a spec prometeu.
6
-
7
- Esta é a camada **semântica** do review. A camada estática (regex / patterns) já é feita automaticamente pelo CLI quando você roda `dare review <task-id>`. Este comando combina as duas: rode a estática via CLI, gere um verdito semântico aqui, e produza um relatório fundido.
8
-
9
- ## Quando rodar
10
-
11
- - Antes de marcar uma task como DONE (gate obrigatório no Definition of Done do TASK-SPEC)
12
- - Quando o `dare review <id>` estático passa mas você quer validação adicional contra a spec
13
- - Quando o dev pede revisão manual: `/dare-review task-034`
14
-
15
- ## Como executar
16
-
17
- ### 1. Validar argumento
18
-
19
- `$ARGUMENTS` deve conter o `task-id` (ex.: `task-034`). Se vazio, peça.
20
-
21
- ### 2. Rodar a camada estática primeiro
22
-
23
- ```bash
24
- dare review $ARGUMENTS --format json > .dare/review-static-$ARGUMENTS.json
25
- ```
26
-
27
- Leia esse JSON. Se já houver erros estáticos, **reporte-os primeiro** e pergunte se quer prosseguir com a análise semântica mesmo assim (geralmente não vale — corrige os erros estáticos antes).
28
-
29
- ### 3. Carregar contexto
30
-
31
- - `DARE/EXECUTION/$ARGUMENTS.md` — spec da task
32
- - Cada arquivo listado na seção 3 da spec ("ARQUIVOS A CRIAR / MODIFICAR")
33
- - `DARE/BLUEPRINT.md` — contratos de API / modelos referenciados
34
-
35
- ### 4. Auditoria critério-a-critério
36
-
37
- Para **cada** item nas seções abaixo da spec, marque ✅ / ❌:
38
-
39
- #### 4.1 Objetivo (seção 1)
40
- A implementação atinge o estado observável que a seção 1 promete? Encontre **evidência concreta** (arquivo + linha) ou marque como não atendido.
41
-
42
- #### 4.2 Arquivos a criar / modificar (seção 3)
43
- - Todos os arquivos da tabela existem com o conteúdo descrito?
44
- - Há arquivos não listados que deveriam estar lá?
45
-
46
- #### 4.3 Implementação (seção 4)
47
- - Cada passo numerado foi executado?
48
- - Assinaturas exatas correspondem ao que a spec pede?
49
- - Validações implementadas correspondem às regras descritas (não "valida email" — a regex específica)?
50
-
51
- #### 4.4 Testes (seção 4, subitem)
52
- Para cada teste listado:
53
- - Existe um teste com nome correspondente?
54
- - O teste tem **assertions reais** que validariam o comportamento (não `expect(true).toBe(true)`)?
55
- - Edge cases enumerados têm cobertura?
56
-
57
- #### 4.5 Segurança (seção 5)
58
- - Input validation cobre o que a spec lista?
59
- - Não há secrets/tokens hardcoded?
60
- - SQL/Command injection mitigado via ORM / prepared statements?
61
-
62
- #### 4.6 Padrões Proibidos (seção 7 — ANTI-STUB)
63
- A camada estática já checou. **Não duplique** — só anote se você encontrar algo que o regex não pegaria (ex.: dados hardcoded que parecem reais mas vêm de uma constante embutida no controller).
64
-
65
- ### 5. Emitir o verdito semântico
66
-
67
- Salve em `.dare/review-semantic-$ARGUMENTS.json`:
68
-
69
- ```json
70
- {
71
- "passed": true,
72
- "unmetCriteria": [],
73
- "notes": "Resumo de 1-3 frases do que foi verificado"
74
- }
75
- ```
76
-
77
- Se algo falhou:
78
-
79
- ```json
80
- {
81
- "passed": false,
82
- "unmetCriteria": [
83
- "Seção 4.3: validação de senha não implementa regex de força (≥8 chars + maiúscula + dígito)",
84
- "Seção 4.4: teste de edge case 'email duplicado' não existe"
85
- ],
86
- "notes": "2 critérios não atendidos em src/auth/register.ts e tests/auth.test.ts"
87
- }
88
- ```
89
-
90
- ### 6. Rodar o review fundido
91
-
92
- ```bash
93
- dare review $ARGUMENTS --from-agent .dare/review-semantic-$ARGUMENTS.json
94
- ```
95
-
96
- O CLI vai fundir estática + semântica e exibir o relatório final. Exit code 0 = task pode ir para DONE; exit code 1 = não pode.
97
-
98
- ### 7. Mensagem final ao usuário
99
-
100
- Se passou:
101
- > ✅ Task `$ARGUMENTS` aprovada na review. Pode marcar como DONE: `dare execute --complete $ARGUMENTS`
102
-
103
- Se falhou:
104
- > ❌ Task `$ARGUMENTS` não passou na review. Itens a corrigir:
105
- > [lista de unmetCriteria + violations estáticas]
106
- >
107
- > Após corrigir, rode `/dare-review $ARGUMENTS` novamente.
108
-
109
- ## Regras inegociáveis
110
-
111
- - **Não invente** que algo está implementado se você não viu o código. Se um arquivo não existe, isso é `unmetCriteria`.
112
- - **Não aceite** mocks/stubs em código de produção mesmo que "façam o teste passar". Eles violam o Anti-Stub Contract.
113
- - **Mocks são OK** dentro de `*.test.*`, `*.spec.*`, `__tests__/`, `tests/`, `spec/` — a camada estática já distingue.
1
+ # Comando: /dare-review
2
+
3
+ ## Descrição
4
+
5
+ Audita uma task **implementada** cruzando a spec (`DARE/EXECUTION/<id>.md`) com os arquivos reais que ela tocou. Detecta stubs, mocks fora de testes, funções vazias, TODOs, retorno-fantasma — **e** valida critério-a-critério se a implementação satisfaz o que a spec prometeu.
6
+
7
+ Esta é a camada **semântica** do review. A camada estática (regex / patterns) já é feita automaticamente pelo CLI quando você roda `dare review <task-id>`. Este comando combina as duas: rode a estática via CLI, gere um verdito semântico aqui, e produza um relatório fundido.
8
+
9
+ ## Quando rodar
10
+
11
+ - Antes de marcar uma task como DONE (gate obrigatório no Definition of Done do TASK-SPEC)
12
+ - Quando o `dare review <id>` estático passa mas você quer validação adicional contra a spec
13
+ - Quando o dev pede revisão manual: `/dare-review task-034`
14
+
15
+ ## Como executar
16
+
17
+ ### 1. Validar argumento
18
+
19
+ `$ARGUMENTS` deve conter o `task-id` (ex.: `task-034`). Se vazio, peça.
20
+
21
+ ### 2. Rodar a camada estática primeiro
22
+
23
+ ```bash
24
+ dare review $ARGUMENTS --format json > .dare/review-static-$ARGUMENTS.json
25
+ ```
26
+
27
+ Leia esse JSON. Se já houver erros estáticos, **reporte-os primeiro** e pergunte se quer prosseguir com a análise semântica mesmo assim (geralmente não vale — corrige os erros estáticos antes).
28
+
29
+ ### 3. Carregar contexto
30
+
31
+ - `DARE/EXECUTION/$ARGUMENTS.md` — spec da task
32
+ - Cada arquivo listado na seção 3 da spec ("ARQUIVOS A CRIAR / MODIFICAR")
33
+ - `DARE/BLUEPRINT.md` — contratos de API / modelos referenciados
34
+
35
+ ### 4. Auditoria critério-a-critério
36
+
37
+ Para **cada** item nas seções abaixo da spec, marque ✅ / ❌:
38
+
39
+ #### 4.1 Objetivo (seção 1)
40
+ A implementação atinge o estado observável que a seção 1 promete? Encontre **evidência concreta** (arquivo + linha) ou marque como não atendido.
41
+
42
+ #### 4.2 Arquivos a criar / modificar (seção 3)
43
+ - Todos os arquivos da tabela existem com o conteúdo descrito?
44
+ - Há arquivos não listados que deveriam estar lá?
45
+
46
+ #### 4.3 Implementação (seção 4)
47
+ - Cada passo numerado foi executado?
48
+ - Assinaturas exatas correspondem ao que a spec pede?
49
+ - Validações implementadas correspondem às regras descritas (não "valida email" — a regex específica)?
50
+
51
+ #### 4.4 Testes (seção 4, subitem)
52
+ Para cada teste listado:
53
+ - Existe um teste com nome correspondente?
54
+ - O teste tem **assertions reais** que validariam o comportamento (não `expect(true).toBe(true)`)?
55
+ - Edge cases enumerados têm cobertura?
56
+
57
+ #### 4.5 Segurança (seção 5)
58
+ - Input validation cobre o que a spec lista?
59
+ - Não há secrets/tokens hardcoded?
60
+ - SQL/Command injection mitigado via ORM / prepared statements?
61
+
62
+ #### 4.6 Padrões Proibidos (seção 7 — ANTI-STUB)
63
+ A camada estática já checou. **Não duplique** — só anote se você encontrar algo que o regex não pegaria (ex.: dados hardcoded que parecem reais mas vêm de uma constante embutida no controller).
64
+
65
+ ### 5. Emitir o verdito semântico
66
+
67
+ Salve em `.dare/review-semantic-$ARGUMENTS.json`:
68
+
69
+ ```json
70
+ {
71
+ "passed": true,
72
+ "unmetCriteria": [],
73
+ "notes": "Resumo de 1-3 frases do que foi verificado"
74
+ }
75
+ ```
76
+
77
+ Se algo falhou:
78
+
79
+ ```json
80
+ {
81
+ "passed": false,
82
+ "unmetCriteria": [
83
+ "Seção 4.3: validação de senha não implementa regex de força (≥8 chars + maiúscula + dígito)",
84
+ "Seção 4.4: teste de edge case 'email duplicado' não existe"
85
+ ],
86
+ "notes": "2 critérios não atendidos em src/auth/register.ts e tests/auth.test.ts"
87
+ }
88
+ ```
89
+
90
+ ### 6. Rodar o review fundido
91
+
92
+ ```bash
93
+ dare review $ARGUMENTS --from-agent .dare/review-semantic-$ARGUMENTS.json
94
+ ```
95
+
96
+ O CLI vai fundir estática + semântica e exibir o relatório final. Exit code 0 = task pode ir para DONE; exit code 1 = não pode.
97
+
98
+ ### 7. Mensagem final ao usuário
99
+
100
+ Se passou:
101
+ > ✅ Task `$ARGUMENTS` aprovada na review. Pode marcar como DONE: `dare execute --complete $ARGUMENTS`
102
+
103
+ Se falhou:
104
+ > ❌ Task `$ARGUMENTS` não passou na review. Itens a corrigir:
105
+ > [lista de unmetCriteria + violations estáticas]
106
+ >
107
+ > Após corrigir, rode `/dare-review $ARGUMENTS` novamente.
108
+
109
+ ## Regras inegociáveis
110
+
111
+ - **Não invente** que algo está implementado se você não viu o código. Se um arquivo não existe, isso é `unmetCriteria`.
112
+ - **Não aceite** mocks/stubs em código de produção mesmo que "façam o teste passar". Eles violam o Anti-Stub Contract.
113
+ - **Mocks são OK** dentro de `*.test.*`, `*.spec.*`, `__tests__/`, `tests/`, `spec/` — a camada estática já distingue.