@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,18 +1,18 @@
1
- # Comando: /dare-docker-compose
2
-
3
- ## Descrição
4
- Este comando analisa a arquitetura definida no BLUEPRINT.md e gera um `docker-compose.yml` completo com todos os serviços necessários (App, DB, Cache, etc).
5
-
6
- ## Instruções para o Cursor Composer
7
-
8
- 1. **Leia o Documento Blueprint:** Acesse o `DARE/BLUEPRINT.md` (se existir) para identificar as dependências do sistema (ex: PostgreSQL, Redis, Mailhog).
9
- 2. **Leia o Contexto Global:** Leia o `.cursorrules` para confirmar as versões do banco de dados e outras ferramentas.
10
- 3. **Leia a Skill Docker:** Leia `.cursor/rules/skill-docker.mdc` para aplicar boas práticas (Healthchecks, Redes, Volumes).
11
- 4. **Gere o docker-compose.yml:**
12
- - Crie um arquivo `docker-compose.yml` na raiz do projeto.
13
- - **Serviço App:** Use o `build: .` (Dockerfile gerado). Exponha a porta correta. Defina variáveis de ambiente ou carregue do `.env`. Configure `depends_on` para DB/Cache.
14
- - **Serviço Webserver (Laravel):** Se for Laravel, crie um serviço `nginx` dependente do `app` (PHP-FPM) e configure os volumes para compartilhar a pasta `/var/www/html`.
15
- - **Serviço Banco de Dados:** Adicione o banco de dados (ex: `postgres:16-alpine` ou `mysql:8.0`). Defina variáveis de ambiente para usuário, senha e database (`POSTGRES_DB`, `POSTGRES_USER`). Adicione um `healthcheck` para testar a conexão (`pg_isready -U user`). Crie um volume nomeado para os dados (`db_data:/var/lib/postgresql/data`).
16
- - **Serviço Cache (Opcional):** Se o projeto usar Redis, adicione o serviço `redis:7-alpine`.
17
- - **Redes e Volumes:** Defina as redes customizadas (ex: `app-network`) e volumes (`db_data`, `redis_data`) no final do arquivo.
18
- 5. **Mensagem Final:** Informe ao usuário: "Arquivo docker-compose.yml gerado com sucesso. Todos os serviços (App, [DB], [Cache]) foram configurados com healthchecks, volumes persistentes e redes isoladas. Revise as portas e variáveis de ambiente no .env antes de executar `docker-compose up -d`."
1
+ # Comando: /dare-docker-compose
2
+
3
+ ## Descrição
4
+ Este comando analisa a arquitetura definida no BLUEPRINT.md e gera um `docker-compose.yml` completo com todos os serviços necessários (App, DB, Cache, etc).
5
+
6
+ ## Instruções para o Cursor Composer
7
+
8
+ 1. **Leia o Documento Blueprint:** Acesse o `DARE/BLUEPRINT.md` (se existir) para identificar as dependências do sistema (ex: PostgreSQL, Redis, Mailhog).
9
+ 2. **Leia o Contexto Global:** Leia o `.cursorrules` para confirmar as versões do banco de dados e outras ferramentas.
10
+ 3. **Leia a Skill Docker:** Leia `.cursor/rules/skill-docker.mdc` para aplicar boas práticas (Healthchecks, Redes, Volumes).
11
+ 4. **Gere o docker-compose.yml:**
12
+ - Crie um arquivo `docker-compose.yml` na raiz do projeto.
13
+ - **Serviço App:** Use o `build: .` (Dockerfile gerado). Exponha a porta correta. Defina variáveis de ambiente ou carregue do `.env`. Configure `depends_on` para DB/Cache.
14
+ - **Serviço Webserver (Laravel):** Se for Laravel, crie um serviço `nginx` dependente do `app` (PHP-FPM) e configure os volumes para compartilhar a pasta `/var/www/html`.
15
+ - **Serviço Banco de Dados:** Adicione o banco de dados (ex: `postgres:16-alpine` ou `mysql:8.0`). Defina variáveis de ambiente para usuário, senha e database (`POSTGRES_DB`, `POSTGRES_USER`). Adicione um `healthcheck` para testar a conexão (`pg_isready -U user`). Crie um volume nomeado para os dados (`db_data:/var/lib/postgresql/data`).
16
+ - **Serviço Cache (Opcional):** Se o projeto usar Redis, adicione o serviço `redis:7-alpine`.
17
+ - **Redes e Volumes:** Defina as redes customizadas (ex: `app-network`) e volumes (`db_data`, `redis_data`) no final do arquivo.
18
+ 5. **Mensagem Final:** Informe ao usuário: "Arquivo docker-compose.yml gerado com sucesso. Todos os serviços (App, [DB], [Cache]) foram configurados com healthchecks, volumes persistentes e redes isoladas. Revise as portas e variáveis de ambiente no .env antes de executar `docker-compose up -d`."
@@ -1,17 +1,17 @@
1
- # Comando: /dare-dockerfile
2
-
3
- ## Descrição
4
- Este comando analisa a stack do projeto (definida no DESIGN.md ou .cursorrules) e gera um `Dockerfile` otimizado para produção e desenvolvimento.
5
-
6
- ## Instruções para o Cursor Composer
7
-
8
- 1. **Analise o Contexto:** Leia o arquivo `.cursorrules` e o `DARE/DESIGN.md` (se existir) para identificar a stack tecnológica principal (Linguagem, Framework, Versões).
9
- 2. **Leia a Skill Docker:** Leia as regras em `.cursor/rules/skill-docker.mdc` para aplicar as melhores práticas de containerização.
10
- 3. **Gere o Dockerfile:**
11
- - Crie um Dockerfile na raiz do projeto (`./Dockerfile`).
12
- - **Para PHP/Laravel:** Use multi-stage build. Instale extensões necessárias (pdo_mysql/pgsql, mbstring, exif, pcntl, bcmath, gd). Configure o `www-data` e ajuste permissões de `/var/www/html/storage` e `bootstrap/cache`.
13
- - **Para Python:** Use `python:slim`. Crie um usuário não-root. Copie `requirements.txt` primeiro, instale dependências e depois copie o código.
14
- - **Para Go:** Use multi-stage. Estágio 1: `golang:alpine` para build (`go build -o app`). Estágio 2: `alpine` ou `scratch` rodando apenas o binário.
15
- - **Para Node/Vue:** Estágio 1: `node:alpine` para build (`npm run build`). Estágio 2: `nginx:alpine` para servir a pasta `dist`.
16
- 4. **Gere o .dockerignore:** Crie um arquivo `.dockerignore` na raiz do projeto ignorando pastas desnecessárias (`node_modules`, `vendor`, `.git`, `.env`, `tests`, `DARE`).
17
- 5. **Mensagem Final:** Informe ao usuário: "Dockerfile e .dockerignore gerados com sucesso e otimizados para a stack [NOME_DA_STACK]. Revise os arquivos gerados. Para criar a orquestração de serviços, execute `/generate-docker-compose`."
1
+ # Comando: /dare-dockerfile
2
+
3
+ ## Descrição
4
+ Este comando analisa a stack do projeto (definida no DESIGN.md ou .cursorrules) e gera um `Dockerfile` otimizado para produção e desenvolvimento.
5
+
6
+ ## Instruções para o Cursor Composer
7
+
8
+ 1. **Analise o Contexto:** Leia o arquivo `.cursorrules` e o `DARE/DESIGN.md` (se existir) para identificar a stack tecnológica principal (Linguagem, Framework, Versões).
9
+ 2. **Leia a Skill Docker:** Leia as regras em `.cursor/rules/skill-docker.mdc` para aplicar as melhores práticas de containerização.
10
+ 3. **Gere o Dockerfile:**
11
+ - Crie um Dockerfile na raiz do projeto (`./Dockerfile`).
12
+ - **Para PHP/Laravel:** Use multi-stage build. Instale extensões necessárias (pdo_mysql/pgsql, mbstring, exif, pcntl, bcmath, gd). Configure o `www-data` e ajuste permissões de `/var/www/html/storage` e `bootstrap/cache`.
13
+ - **Para Python:** Use `python:slim`. Crie um usuário não-root. Copie `requirements.txt` primeiro, instale dependências e depois copie o código.
14
+ - **Para Go:** Use multi-stage. Estágio 1: `golang:alpine` para build (`go build -o app`). Estágio 2: `alpine` ou `scratch` rodando apenas o binário.
15
+ - **Para Node/Vue:** Estágio 1: `node:alpine` para build (`npm run build`). Estágio 2: `nginx:alpine` para servir a pasta `dist`.
16
+ 4. **Gere o .dockerignore:** Crie um arquivo `.dockerignore` na raiz do projeto ignorando pastas desnecessárias (`node_modules`, `vendor`, `.git`, `.env`, `tests`, `DARE`).
17
+ 5. **Mensagem Final:** Informe ao usuário: "Dockerfile e .dockerignore gerados com sucesso e otimizados para a stack [NOME_DA_STACK]. Revise os arquivos gerados. Para criar a orquestração de serviços, execute `/generate-docker-compose`."
@@ -1,19 +1,19 @@
1
- # Comando: /dare-execute
2
-
3
- ## Descrição
4
- Este comando finaliza o Método DARE (Execute) implementando o código e validando os testes de uma tarefa específica isolada.
5
-
6
- ## Instruções para o Cursor Composer
7
-
8
- 1. **Identifique a Tarefa:** Leia o `$ARGUMENTS` (ID da tarefa ou caminho do arquivo, ex: `task-001` ou `DARE/EXECUTION/task-001.md`).
9
- 2. **Leia a Especificação da Tarefa:** Abra e leia a especificação detalhada da tarefa em `DARE/EXECUTION/[id].md`.
10
- 3. **Analise o Contexto Global:** Leia o arquivo `.cursorrules` (ou equivalente) e a arquitetura geral em `DARE/BLUEPRINT.md` para garantir que o código será gerado dentro dos padrões do projeto.
11
- 4. **Implemente o Código:**
12
- - Execute passo a passo as instruções da seção "ESPECIFICAÇÃO DE IMPLEMENTAÇÃO".
13
- - Crie ou modifique os arquivos necessários.
14
- - Siga rigorosamente os padrões de código, tratamento de erros e convenções definidos nas regras globais e exemplos fornecidos.
15
- 5. **O Loop de Validação (Ralph Loop):**
16
- - Após a implementação, execute OBRIGATORIAMENTE os comandos definidos na seção "CRITÉRIOS DE SUCESSO (VALIDATION GATES)".
17
- - Exemplo: `php artisan test --filter=NomeDoTeste` ou `./vendor/bin/pint`.
18
- - Se algum comando falhar, LEIA O ERRO, CORRIJA O CÓDIGO e RODE O COMANDO NOVAMENTE até que todos passem com sucesso.
19
- 6. **Mensagem Final:** Após o sucesso dos testes, atualize o status da tarefa no arquivo `DARE/TASKS.md` (marque com um `[x]`) e informe ao usuário: "Tarefa [ID] implementada e validada com sucesso. Os testes passaram."
1
+ # Comando: /dare-execute
2
+
3
+ ## Descrição
4
+ Este comando finaliza o Método DARE (Execute) implementando o código e validando os testes de uma tarefa específica isolada.
5
+
6
+ ## Instruções para o Cursor Composer
7
+
8
+ 1. **Identifique a Tarefa:** Leia o `$ARGUMENTS` (ID da tarefa ou caminho do arquivo, ex: `task-001` ou `DARE/EXECUTION/task-001.md`).
9
+ 2. **Leia a Especificação da Tarefa:** Abra e leia a especificação detalhada da tarefa em `DARE/EXECUTION/[id].md`.
10
+ 3. **Analise o Contexto Global:** Leia o arquivo `.cursorrules` (ou equivalente) e a arquitetura geral em `DARE/BLUEPRINT.md` para garantir que o código será gerado dentro dos padrões do projeto.
11
+ 4. **Implemente o Código:**
12
+ - Execute passo a passo as instruções da seção "ESPECIFICAÇÃO DE IMPLEMENTAÇÃO".
13
+ - Crie ou modifique os arquivos necessários.
14
+ - Siga rigorosamente os padrões de código, tratamento de erros e convenções definidos nas regras globais e exemplos fornecidos.
15
+ 5. **O Loop de Validação (Ralph Loop):**
16
+ - Após a implementação, execute OBRIGATORIAMENTE os comandos definidos na seção "CRITÉRIOS DE SUCESSO (VALIDATION GATES)".
17
+ - Exemplo: `php artisan test --filter=NomeDoTeste` ou `./vendor/bin/pint`.
18
+ - Se algum comando falhar, LEIA O ERRO, CORRIJA O CÓDIGO e RODE O COMANDO NOVAMENTE até que todos passem com sucesso.
19
+ 6. **Mensagem Final:** Após o sucesso dos testes, atualize o status da tarefa no arquivo `DARE/TASKS.md` (marque com um `[x]`) e informe ao usuário: "Tarefa [ID] implementada e validada com sucesso. Os testes passaram."
@@ -1,64 +1,64 @@
1
- ---
2
- description: Analisa o projeto existente e gera um Design DARE focado na adicao de uma nova feature. Use quando precisar adicionar uma funcionalidade nova sem reescrever o Design de todo o sistema.
3
- globs: *
4
- ---
5
-
6
- # Generate Feature Design
7
-
8
- ## Objetivo
9
- Analisar a base de código atual e gerar um documento de Design (`DARE/DESIGN-Feature-[Nome].md`) focado especificamente na **adição de uma nova feature**, respeitando a arquitetura existente do projeto.
10
-
11
- ## Contexto
12
- Este comando é para **projetos legados** onde você quer adicionar uma funcionalidade nova. O foco aqui é **expansão**: novos endpoints, novas tabelas, novas integrações.
13
-
14
- ## Passos que a IA deve seguir:
15
-
16
- 1. **Análise de Contexto:**
17
- - Identificar a stack e arquitetura (MVC, Hexagonal, etc.)
18
- - Identificar padrões de projeto existentes para seguir o mesmo estilo
19
- - Identificar banco de dados e dependências chave
20
-
21
- 2. **Entendimento da Feature:**
22
- - Qual é o objetivo da nova funcionalidade?
23
- - Como ela se conecta com o que já existe?
24
-
25
- 3. **Geração do Documento:**
26
- - Criar o arquivo `DARE/DESIGN-Feature-[Nome-da-Feature].md`
27
-
28
- ## Estrutura do Documento Gerado:
29
-
30
- ```markdown
31
- # Feature Design: [Nome da Feature]
32
-
33
- ## Contexto no Projeto
34
- Como esta feature se encaixa no ecossistema atual.
35
-
36
- ## Objetivos da Feature
37
- - [Objetivo 1]
38
- - [Objetivo 2]
39
-
40
- ## Análise de Impacto (O que muda)
41
- - **Novos Arquivos:** [Controllers, Models, etc. a serem criados]
42
- - **Arquivos Modificados:** [Arquivos existentes que sofrerão alteração]
43
- - **Banco de Dados:** [Novas tabelas ou colunas]
44
-
45
- ## Requisitos Técnicos
46
- ### Funcionalidades
47
- - [Funcionalidade 1]
48
- - [Funcionalidade 2]
49
-
50
- ### Segurança (OWASP)
51
- - [Validações e controles de acesso específicos para esta feature]
52
-
53
- ## Restrições
54
- - O que NÃO deve ser alterado no sistema legado.
55
-
56
- ## Próximas Etapas
57
- 1. Revisar e aprovar este Design
58
- 2. Executar `/generate-blueprint DARE/DESIGN-Feature-[Nome].md`
59
- ```
60
-
61
- ## Regras de Ouro:
62
- - **Siga o Padrão Local:** Se o projeto usa um padrão específico, a feature deve segui-lo.
63
- - **Isolamento:** Tente isolar o código novo do legado.
64
- - **Segurança:** Aplique regras OWASP na nova feature.
1
+ ---
2
+ description: Analisa o projeto existente e gera um Design DARE focado na adicao de uma nova feature. Use quando precisar adicionar uma funcionalidade nova sem reescrever o Design de todo o sistema.
3
+ globs: *
4
+ ---
5
+
6
+ # Generate Feature Design
7
+
8
+ ## Objetivo
9
+ Analisar a base de código atual e gerar um documento de Design (`DARE/DESIGN-Feature-[Nome].md`) focado especificamente na **adição de uma nova feature**, respeitando a arquitetura existente do projeto.
10
+
11
+ ## Contexto
12
+ Este comando é para **projetos legados** onde você quer adicionar uma funcionalidade nova. O foco aqui é **expansão**: novos endpoints, novas tabelas, novas integrações.
13
+
14
+ ## Passos que a IA deve seguir:
15
+
16
+ 1. **Análise de Contexto:**
17
+ - Identificar a stack e arquitetura (MVC, Hexagonal, etc.)
18
+ - Identificar padrões de projeto existentes para seguir o mesmo estilo
19
+ - Identificar banco de dados e dependências chave
20
+
21
+ 2. **Entendimento da Feature:**
22
+ - Qual é o objetivo da nova funcionalidade?
23
+ - Como ela se conecta com o que já existe?
24
+
25
+ 3. **Geração do Documento:**
26
+ - Criar o arquivo `DARE/DESIGN-Feature-[Nome-da-Feature].md`
27
+
28
+ ## Estrutura do Documento Gerado:
29
+
30
+ ```markdown
31
+ # Feature Design: [Nome da Feature]
32
+
33
+ ## Contexto no Projeto
34
+ Como esta feature se encaixa no ecossistema atual.
35
+
36
+ ## Objetivos da Feature
37
+ - [Objetivo 1]
38
+ - [Objetivo 2]
39
+
40
+ ## Análise de Impacto (O que muda)
41
+ - **Novos Arquivos:** [Controllers, Models, etc. a serem criados]
42
+ - **Arquivos Modificados:** [Arquivos existentes que sofrerão alteração]
43
+ - **Banco de Dados:** [Novas tabelas ou colunas]
44
+
45
+ ## Requisitos Técnicos
46
+ ### Funcionalidades
47
+ - [Funcionalidade 1]
48
+ - [Funcionalidade 2]
49
+
50
+ ### Segurança (OWASP)
51
+ - [Validações e controles de acesso específicos para esta feature]
52
+
53
+ ## Restrições
54
+ - O que NÃO deve ser alterado no sistema legado.
55
+
56
+ ## Próximas Etapas
57
+ 1. Revisar e aprovar este Design
58
+ 2. Executar `/generate-blueprint DARE/DESIGN-Feature-[Nome].md`
59
+ ```
60
+
61
+ ## Regras de Ouro:
62
+ - **Siga o Padrão Local:** Se o projeto usa um padrão específico, a feature deve segui-lo.
63
+ - **Isolamento:** Tente isolar o código novo do legado.
64
+ - **Segurança:** Aplique regras OWASP na nova feature.
@@ -1,30 +1,30 @@
1
- # Comando: /dare-graph
2
-
3
- Consulta e visualiza o grafo de conhecimento do projeto (tasks, arquivos, schemas, endpoints, componentes, entidades e suas relações).
4
-
5
- > Este comando expõe o CLI `dare graph` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
-
7
- ## Quando usar
8
-
9
- - Você quer entender dependências entre tasks/arquivos/entidades.
10
- - Precisa achar nós relacionados a um termo, ou exportar um diagrama do grafo.
11
-
12
- ## Como rodar
13
-
14
- ```bash
15
- dare graph stats # contagem de nós/arestas por tipo
16
- dare graph query <termo> --limit 10 # busca nós por label/descrição
17
- dare graph query auth --type endpoint
18
- dare graph viz --format mermaid -o graph.mmd
19
- dare graph ingest # re-sincroniza o grafo do dare-dag.yaml
20
- ```
21
-
22
- ## O que fazer
23
-
24
- 1. Escolha o subcomando conforme a intenção: `stats`, `query <termo>`, `viz`, `ingest`.
25
- 2. Rode o comando e interprete a saída (para `viz`, abra/renderize o diagrama gerado).
26
- 3. Se o grafo parecer desatualizado, rode `dare graph ingest` para re-sincronizar.
27
-
28
- ## Comandos relacionados
29
-
30
- `/dare-dag` · `/dare-execute`
1
+ # Comando: /dare-graph
2
+
3
+ Consulta e visualiza o grafo de conhecimento do projeto (tasks, arquivos, schemas, endpoints, componentes, entidades e suas relações).
4
+
5
+ > Este comando expõe o CLI `dare graph` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
+
7
+ ## Quando usar
8
+
9
+ - Você quer entender dependências entre tasks/arquivos/entidades.
10
+ - Precisa achar nós relacionados a um termo, ou exportar um diagrama do grafo.
11
+
12
+ ## Como rodar
13
+
14
+ ```bash
15
+ dare graph stats # contagem de nós/arestas por tipo
16
+ dare graph query <termo> --limit 10 # busca nós por label/descrição
17
+ dare graph query auth --type endpoint
18
+ dare graph viz --format mermaid -o graph.mmd
19
+ dare graph ingest # re-sincroniza o grafo do dare-dag.yaml
20
+ ```
21
+
22
+ ## O que fazer
23
+
24
+ 1. Escolha o subcomando conforme a intenção: `stats`, `query <termo>`, `viz`, `ingest`.
25
+ 2. Rode o comando e interprete a saída (para `viz`, abra/renderize o diagrama gerado).
26
+ 3. Se o grafo parecer desatualizado, rode `dare graph ingest` para re-sincronizar.
27
+
28
+ ## Comandos relacionados
29
+
30
+ `/dare-dag` · `/dare-execute`
@@ -1,26 +1,26 @@
1
- # Comando: /dare-info
2
-
3
- Mostra versão do CLI, caminhos relevantes e a integridade da instalação DARE no projeto atual.
4
-
5
- > Este comando expõe o CLI `dare info` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
-
7
- ## Quando usar
8
-
9
- - Algo parece errado no setup e você quer um diagnóstico rápido.
10
- - Para confirmar a versão do CLI e os artefatos DARE presentes.
11
-
12
- ## Como rodar
13
-
14
- ```bash
15
- dare info
16
- ```
17
-
18
- ## O que fazer
19
-
20
- 1. Rode `dare info`.
21
- 2. Revise versão, caminhos e a checagem de integridade.
22
- 3. Se houver artefatos faltando/desatualizados, rode `/dare-update`.
23
-
24
- ## Comandos relacionados
25
-
26
- `/dare-update` · `/dare-welcome`
1
+ # Comando: /dare-info
2
+
3
+ Mostra versão do CLI, caminhos relevantes e a integridade da instalação DARE no projeto atual.
4
+
5
+ > Este comando expõe o CLI `dare info` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
+
7
+ ## Quando usar
8
+
9
+ - Algo parece errado no setup e você quer um diagnóstico rápido.
10
+ - Para confirmar a versão do CLI e os artefatos DARE presentes.
11
+
12
+ ## Como rodar
13
+
14
+ ```bash
15
+ dare info
16
+ ```
17
+
18
+ ## O que fazer
19
+
20
+ 1. Rode `dare info`.
21
+ 2. Revise versão, caminhos e a checagem de integridade.
22
+ 3. Se houver artefatos faltando/desatualizados, rode `/dare-update`.
23
+
24
+ ## Comandos relacionados
25
+
26
+ `/dare-update` · `/dare-welcome`
@@ -1,30 +1,30 @@
1
- # Comando: /dare-init
2
-
3
- Cria um projeto DARE do zero (greenfield) com setup interativo: escolhe stack backend/frontend, knowledge graph, IDE e gera o scaffolder completo + DNA DARE.
4
-
5
- > Este comando expõe o CLI `dare init` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
-
7
- ## Quando usar
8
-
9
- - O usuário quer começar um projeto **novo** do zero.
10
- - Não existe código ainda — é greenfield. Para projeto legado, use `/dare-discover`.
11
-
12
- ## Como rodar
13
-
14
- ```bash
15
- dare init # fluxo interativo completo
16
- dare init minha-api --stack node-nestjs
17
- dare init meu-mcp --mcp node-ts --transport http
18
- dare init api --stack go-gin --toolchain docker --non-interactive
19
- ```
20
-
21
- ## O que fazer
22
-
23
- 1. Rode `dare init` (ou com `--stack`/`--mcp` se o usuário já decidiu a stack).
24
- 2. Responda aos prompts: nome, stack backend, frontend opcional, knowledge graph (json/sqlite/neo4j), IDE(s).
25
- 3. Ao final, o projeto tem scaffolder + os 7 artefatos de DNA + comandos/skills de IDE instalados.
26
- 4. Próximo passo: descreva a ideia com `/dare-design`.
27
-
28
- ## Comandos relacionados
29
-
30
- `/dare-design` · `/dare-discover` · `/dare-bootstrap`
1
+ # Comando: /dare-init
2
+
3
+ Cria um projeto DARE do zero (greenfield) com setup interativo: escolhe stack backend/frontend, knowledge graph, IDE e gera o scaffolder completo + DNA DARE.
4
+
5
+ > Este comando expõe o CLI `dare init` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
6
+
7
+ ## Quando usar
8
+
9
+ - O usuário quer começar um projeto **novo** do zero.
10
+ - Não existe código ainda — é greenfield. Para projeto legado, use `/dare-discover`.
11
+
12
+ ## Como rodar
13
+
14
+ ```bash
15
+ dare init # fluxo interativo completo
16
+ dare init minha-api --stack node-nestjs
17
+ dare init meu-mcp --mcp node-ts --transport http
18
+ dare init api --stack go-gin --toolchain docker --non-interactive
19
+ ```
20
+
21
+ ## O que fazer
22
+
23
+ 1. Rode `dare init` (ou com `--stack`/`--mcp` se o usuário já decidiu a stack).
24
+ 2. Responda aos prompts: nome, stack backend, frontend opcional, knowledge graph (json/sqlite/neo4j), IDE(s).
25
+ 3. Ao final, o projeto tem scaffolder + os 7 artefatos de DNA + comandos/skills de IDE instalados.
26
+ 4. Próximo passo: descreva a ideia com `/dare-design`.
27
+
28
+ ## Comandos relacionados
29
+
30
+ `/dare-design` · `/dare-discover` · `/dare-bootstrap`
@@ -1,72 +1,72 @@
1
- # Comando: /dare-migrate
2
-
3
- Camada semântica da migração (Fase 2 brownfield). Roda **depois** de `dare migrate`, que já leu os
4
- artefatos do `reverse`/`dna` e gerou os esqueletos. Sua função é **escrever a estratégia de migração
5
- e os cenários Gherkin de paridade reais** — o contrato comportamental que garante uma reimplementação
6
- fiel ao legado.
7
-
8
- ## Como usar
9
-
10
- ```
11
- /dare-migrate
12
- ```
13
-
14
- > Pré-requisito: rodar `dare migrate --to <stack>` antes (gera `DARE/MIGRATION/MIGRATION.md`,
15
- > `migration-facts.json` e `parity/*.feature`). Isso por sua vez exige `dare reverse` já executado.
16
-
17
- ## Quando usar
18
-
19
- - Projeto legado entendido (`reverse` + `dna` feitos) que será **reimplementado** em outra stack.
20
- - Acabou de rodar `dare migrate` e o `MIGRATION.md`/`.feature` têm seções `<!-- AGENT -->`/`# AGENT`.
21
-
22
- ## O que fazer
23
-
24
- ### 1. Carregar contexto (não re-varrer)
25
- - Leia `DARE/MIGRATION/migration-facts.json` (origem, alvo, módulos, blocking gaps).
26
- - Leia `DARE/IDEIA.md` + `DARE/REVERSE/module-*.md` (o que cada módulo faz) e `DARE/PROJECT-DNA.md`
27
- (convenções). Abra arquivos-chave do legado só o necessário para inferir comportamento.
28
-
29
- ### 2. Preencher `DARE/MIGRATION/MIGRATION.md`
30
- - **Decisão de Paradigma** — origem e alvo mudam de paradigma (procedural→OO, monólito→serviços)?
31
- Registre decisão + justificativa; se preservado, diga.
32
- - **Estratégia de Migração** — big-bang vs. **strangler/parallel-run**; ordem dos módulos; feature flags.
33
- - **Registro de Risco** — para cada **blocking gap** (🔴) pré-listado, escreva o tratamento; some os
34
- riscos de regressão/dados/performance + mitigações.
35
- - **Arquitetura-alvo** — desenhe na stack-alvo, **alinhada ao DNA** (camadas/convenções) quando o
36
- paradigma for preservado; senão justifique a nova organização.
37
- - **Plano de Cutover & Rollback** — passos de corte, validação de paridade (rodar os `.feature`),
38
- critério de go/no-go e rollback.
39
-
40
- ### 3. Escrever os Gherkin de paridade (`parity/<módulo>.feature`)
41
- - Um `Scenario` por **fluxo observável** do módulo, derivado do **comportamento legado real**
42
- (não invente). `Given` estado inicial → `When` ação → `Then` resultado **idêntico ao legado**.
43
- - Inclua casos de borda e formatação que o legado garante (ex.: arredondamento monetário, máscaras).
44
- - Esses `.feature` são o **contrato de aceite** da reimplementação na stack-alvo.
45
-
46
- ### 4. Apresentar ao usuário
47
- Resumo: decisão de paradigma, estratégia, nº de cenários de paridade, blocking gaps a resolver.
48
- Reforce que cenários de paridade só valem se vierem do comportamento legado observado.
49
-
50
- ## Regras de ouro
51
-
52
- 1. **Paridade primeiro** — o objetivo é não quebrar comportamento; todo fluxo crítico vira `Scenario`.
53
- 2. **Blocking gaps são bloqueantes** — um 🔴 não resolvido é risco de reimplementação; trate ou registre.
54
- 3. **Respeite o DNA** — a arquitetura-alvo segue as convenções da casa quando faz sentido.
55
- 4. **Não invente comportamento** — cenário sem base no legado é fonte de regressão silenciosa.
56
- 5. **Strangler quando possível** — migração incremental com parallel-run reduz risco vs. big-bang.
57
-
58
- ## Antipatterns
59
-
60
- | AP | Antipattern | Por quê |
61
- |---|---|---|
62
- | AP-01 | Gherkin genérico sem base no legado | Não garante paridade — vira regressão |
63
- | AP-02 | Ignorar blocking gaps (🔴) | Reimplementa em cima de incerteza |
64
- | AP-03 | Big-bang sem necessidade | Maximiza risco e dificulta rollback |
65
- | AP-04 | Arquitetura-alvo desalinhada do DNA | Código novo vira ilha inconsistente |
66
- | AP-05 | Reescrever os fatos determinísticos do CLI | Quebra a fonte de verdade |
67
-
68
- $ARGUMENTS
69
-
70
- ---
71
-
72
- Skill MIT — parte do DARE Method. Fase 2 (brownfield). Pareia com o comando `dare migrate`.
1
+ # Comando: /dare-migrate
2
+
3
+ Camada semântica da migração (Fase 2 brownfield). Roda **depois** de `dare migrate`, que já leu os
4
+ artefatos do `reverse`/`dna` e gerou os esqueletos. Sua função é **escrever a estratégia de migração
5
+ e os cenários Gherkin de paridade reais** — o contrato comportamental que garante uma reimplementação
6
+ fiel ao legado.
7
+
8
+ ## Como usar
9
+
10
+ ```
11
+ /dare-migrate
12
+ ```
13
+
14
+ > Pré-requisito: rodar `dare migrate --to <stack>` antes (gera `DARE/MIGRATION/MIGRATION.md`,
15
+ > `migration-facts.json` e `parity/*.feature`). Isso por sua vez exige `dare reverse` já executado.
16
+
17
+ ## Quando usar
18
+
19
+ - Projeto legado entendido (`reverse` + `dna` feitos) que será **reimplementado** em outra stack.
20
+ - Acabou de rodar `dare migrate` e o `MIGRATION.md`/`.feature` têm seções `<!-- AGENT -->`/`# AGENT`.
21
+
22
+ ## O que fazer
23
+
24
+ ### 1. Carregar contexto (não re-varrer)
25
+ - Leia `DARE/MIGRATION/migration-facts.json` (origem, alvo, módulos, blocking gaps).
26
+ - Leia `DARE/IDEIA.md` + `DARE/REVERSE/module-*.md` (o que cada módulo faz) e `DARE/PROJECT-DNA.md`
27
+ (convenções). Abra arquivos-chave do legado só o necessário para inferir comportamento.
28
+
29
+ ### 2. Preencher `DARE/MIGRATION/MIGRATION.md`
30
+ - **Decisão de Paradigma** — origem e alvo mudam de paradigma (procedural→OO, monólito→serviços)?
31
+ Registre decisão + justificativa; se preservado, diga.
32
+ - **Estratégia de Migração** — big-bang vs. **strangler/parallel-run**; ordem dos módulos; feature flags.
33
+ - **Registro de Risco** — para cada **blocking gap** (🔴) pré-listado, escreva o tratamento; some os
34
+ riscos de regressão/dados/performance + mitigações.
35
+ - **Arquitetura-alvo** — desenhe na stack-alvo, **alinhada ao DNA** (camadas/convenções) quando o
36
+ paradigma for preservado; senão justifique a nova organização.
37
+ - **Plano de Cutover & Rollback** — passos de corte, validação de paridade (rodar os `.feature`),
38
+ critério de go/no-go e rollback.
39
+
40
+ ### 3. Escrever os Gherkin de paridade (`parity/<módulo>.feature`)
41
+ - Um `Scenario` por **fluxo observável** do módulo, derivado do **comportamento legado real**
42
+ (não invente). `Given` estado inicial → `When` ação → `Then` resultado **idêntico ao legado**.
43
+ - Inclua casos de borda e formatação que o legado garante (ex.: arredondamento monetário, máscaras).
44
+ - Esses `.feature` são o **contrato de aceite** da reimplementação na stack-alvo.
45
+
46
+ ### 4. Apresentar ao usuário
47
+ Resumo: decisão de paradigma, estratégia, nº de cenários de paridade, blocking gaps a resolver.
48
+ Reforce que cenários de paridade só valem se vierem do comportamento legado observado.
49
+
50
+ ## Regras de ouro
51
+
52
+ 1. **Paridade primeiro** — o objetivo é não quebrar comportamento; todo fluxo crítico vira `Scenario`.
53
+ 2. **Blocking gaps são bloqueantes** — um 🔴 não resolvido é risco de reimplementação; trate ou registre.
54
+ 3. **Respeite o DNA** — a arquitetura-alvo segue as convenções da casa quando faz sentido.
55
+ 4. **Não invente comportamento** — cenário sem base no legado é fonte de regressão silenciosa.
56
+ 5. **Strangler quando possível** — migração incremental com parallel-run reduz risco vs. big-bang.
57
+
58
+ ## Antipatterns
59
+
60
+ | AP | Antipattern | Por quê |
61
+ |---|---|---|
62
+ | AP-01 | Gherkin genérico sem base no legado | Não garante paridade — vira regressão |
63
+ | AP-02 | Ignorar blocking gaps (🔴) | Reimplementa em cima de incerteza |
64
+ | AP-03 | Big-bang sem necessidade | Maximiza risco e dificulta rollback |
65
+ | AP-04 | Arquitetura-alvo desalinhada do DNA | Código novo vira ilha inconsistente |
66
+ | AP-05 | Reescrever os fatos determinísticos do CLI | Quebra a fonte de verdade |
67
+
68
+ $ARGUMENTS
69
+
70
+ ---
71
+
72
+ Skill MIT — parte do DARE Method. Fase 2 (brownfield). Pareia com o comando `dare migrate`.