@dewtech/dare-cli 3.3.0 → 3.5.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.
- package/LICENSE +21 -0
- package/README.md +764 -764
- package/dist/__tests__/confidence.test.js +13 -13
- package/dist/__tests__/dag-converter.test.js +56 -56
- package/dist/__tests__/dag-runner/buildLocateContext.test.d.ts +2 -0
- package/dist/__tests__/dag-runner/buildLocateContext.test.d.ts.map +1 -0
- package/dist/__tests__/dag-runner/buildLocateContext.test.js +53 -0
- package/dist/__tests__/dag-runner/buildLocateContext.test.js.map +1 -0
- package/dist/__tests__/dual-graph.test.d.ts +2 -0
- package/dist/__tests__/dual-graph.test.d.ts.map +1 -0
- package/dist/__tests__/dual-graph.test.js +141 -0
- package/dist/__tests__/dual-graph.test.js.map +1 -0
- package/dist/__tests__/graphrag/contract/traverse.contract.d.ts +9 -0
- package/dist/__tests__/graphrag/contract/traverse.contract.d.ts.map +1 -0
- package/dist/__tests__/graphrag/contract/traverse.contract.js +58 -0
- package/dist/__tests__/graphrag/contract/traverse.contract.js.map +1 -0
- package/dist/__tests__/graphrag/contract/traverse.contract.test.d.ts +2 -0
- package/dist/__tests__/graphrag/contract/traverse.contract.test.d.ts.map +1 -0
- package/dist/__tests__/graphrag/contract/traverse.contract.test.js +100 -0
- package/dist/__tests__/graphrag/contract/traverse.contract.test.js.map +1 -0
- package/dist/__tests__/graphrag/factory.test.js +10 -1
- package/dist/__tests__/graphrag/factory.test.js.map +1 -1
- package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.d.ts +11 -0
- package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.d.ts.map +1 -0
- package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js +34 -0
- package/dist/__tests__/graphrag/fixtures/dual-graph/build-fixture-graph.js.map +1 -0
- package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.d.ts +2 -0
- package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.d.ts.map +1 -0
- package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.js +46 -0
- package/dist/__tests__/graphrag/fixtures/dual-graph/fixtures.test.js.map +1 -0
- package/dist/__tests__/graphrag/graph-rag.test.js +31 -0
- package/dist/__tests__/graphrag/graph-rag.test.js.map +1 -1
- package/dist/__tests__/graphrag/json-graph.test.js +57 -0
- package/dist/__tests__/graphrag/json-graph.test.js.map +1 -1
- package/dist/__tests__/graphrag/neo4j-graph.test.d.ts +2 -0
- package/dist/__tests__/graphrag/neo4j-graph.test.d.ts.map +1 -0
- package/dist/__tests__/graphrag/neo4j-graph.test.js +104 -0
- package/dist/__tests__/graphrag/neo4j-graph.test.js.map +1 -0
- package/dist/__tests__/graphrag/neo4j-persistence.test.d.ts +2 -0
- package/dist/__tests__/graphrag/neo4j-persistence.test.d.ts.map +1 -0
- package/dist/__tests__/graphrag/neo4j-persistence.test.js +110 -0
- package/dist/__tests__/graphrag/neo4j-persistence.test.js.map +1 -0
- package/dist/__tests__/mcp-server/server.test.js +3 -16
- package/dist/__tests__/mcp-server/server.test.js.map +1 -1
- package/dist/__tests__/project-generator.test.js +2 -2
- package/dist/__tests__/project-generator.test.js.map +1 -1
- package/dist/__tests__/refine.test.js +49 -49
- package/dist/__tests__/reverse-collection.test.js +6 -6
- package/dist/__tests__/review.test.js +38 -38
- package/dist/__tests__/security-hardening.test.d.ts +2 -0
- package/dist/__tests__/security-hardening.test.d.ts.map +1 -0
- package/dist/__tests__/security-hardening.test.js +101 -0
- package/dist/__tests__/security-hardening.test.js.map +1 -0
- package/dist/__tests__/validate.test.js +65 -65
- package/dist/bin/dare.js +0 -0
- package/dist/commands/__tests__/execute.telemetry.spec.js +9 -0
- package/dist/commands/__tests__/execute.telemetry.spec.js.map +1 -1
- package/dist/commands/__tests__/graph-viz-layers.test.d.ts +2 -0
- package/dist/commands/__tests__/graph-viz-layers.test.d.ts.map +1 -0
- package/dist/commands/__tests__/graph-viz-layers.test.js +36 -0
- package/dist/commands/__tests__/graph-viz-layers.test.js.map +1 -0
- package/dist/commands/__tests__/impact.test.d.ts +2 -0
- package/dist/commands/__tests__/impact.test.d.ts.map +1 -0
- package/dist/commands/__tests__/impact.test.js +26 -0
- package/dist/commands/__tests__/impact.test.js.map +1 -0
- package/dist/commands/__tests__/init-validation.test.d.ts +2 -0
- package/dist/commands/__tests__/init-validation.test.d.ts.map +1 -0
- package/dist/commands/__tests__/init-validation.test.js +81 -0
- package/dist/commands/__tests__/init-validation.test.js.map +1 -0
- package/dist/commands/__tests__/init.integration.spec.js +6 -4
- package/dist/commands/__tests__/init.integration.spec.js.map +1 -1
- package/dist/commands/__tests__/init.spec.d.ts +2 -0
- package/dist/commands/__tests__/init.spec.d.ts.map +1 -0
- package/dist/commands/__tests__/init.spec.js +88 -0
- package/dist/commands/__tests__/init.spec.js.map +1 -0
- package/dist/commands/__tests__/locate.test.d.ts +2 -0
- package/dist/commands/__tests__/locate.test.d.ts.map +1 -0
- package/dist/commands/__tests__/locate.test.js +35 -0
- package/dist/commands/__tests__/locate.test.js.map +1 -0
- package/dist/commands/__tests__/owners.test.d.ts +2 -0
- package/dist/commands/__tests__/owners.test.d.ts.map +1 -0
- package/dist/commands/__tests__/owners.test.js +34 -0
- package/dist/commands/__tests__/owners.test.js.map +1 -0
- package/dist/commands/__tests__/trace.test.d.ts +2 -0
- package/dist/commands/__tests__/trace.test.d.ts.map +1 -0
- package/dist/commands/__tests__/trace.test.js +29 -0
- package/dist/commands/__tests__/trace.test.js.map +1 -0
- package/dist/commands/blueprint.js +122 -122
- package/dist/commands/design.js +20 -20
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +11 -6
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/graph-queries.d.ts +48 -0
- package/dist/commands/graph-queries.d.ts.map +1 -0
- package/dist/commands/graph-queries.js +204 -0
- package/dist/commands/graph-queries.js.map +1 -0
- package/dist/commands/graph.d.ts +13 -0
- package/dist/commands/graph.d.ts.map +1 -1
- package/dist/commands/graph.js +212 -8
- package/dist/commands/graph.js.map +1 -1
- package/dist/commands/init-validation.d.ts +22 -0
- package/dist/commands/init-validation.d.ts.map +1 -0
- package/dist/commands/init-validation.js +54 -0
- package/dist/commands/init-validation.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +26 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/dag-runner/__tests__/fixtures/src/math.d.ts +3 -0
- package/dist/dag-runner/__tests__/fixtures/src/math.d.ts.map +1 -0
- package/dist/dag-runner/__tests__/fixtures/src/math.js +7 -0
- package/dist/dag-runner/__tests__/fixtures/src/math.js.map +1 -0
- package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts +2 -0
- package/dist/dag-runner/__tests__/graph-ingest-symbols.test.d.ts.map +1 -0
- package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js +81 -0
- package/dist/dag-runner/__tests__/graph-ingest-symbols.test.js.map +1 -0
- package/dist/dag-runner/graph-ingest.d.ts.map +1 -1
- package/dist/dag-runner/graph-ingest.js +46 -0
- package/dist/dag-runner/graph-ingest.js.map +1 -1
- package/dist/dag-runner/graph-locate.d.ts +11 -0
- package/dist/dag-runner/graph-locate.d.ts.map +1 -0
- package/dist/dag-runner/graph-locate.js +74 -0
- package/dist/dag-runner/graph-locate.js.map +1 -0
- package/dist/dag-runner/run_dag.d.ts +3 -1
- package/dist/dag-runner/run_dag.d.ts.map +1 -1
- package/dist/dag-runner/run_dag.js +2 -1
- package/dist/dag-runner/run_dag.js.map +1 -1
- package/dist/dag-runner/utils/stitch-context.d.ts +3 -1
- package/dist/dag-runner/utils/stitch-context.d.ts.map +1 -1
- package/dist/dag-runner/utils/stitch-context.js +8 -2
- package/dist/dag-runner/utils/stitch-context.js.map +1 -1
- package/dist/graphrag/__tests__/code-index.test.d.ts +2 -0
- package/dist/graphrag/__tests__/code-index.test.d.ts.map +1 -0
- package/dist/graphrag/__tests__/code-index.test.js +75 -0
- package/dist/graphrag/__tests__/code-index.test.js.map +1 -0
- package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts +5 -0
- package/dist/graphrag/__tests__/fixtures/code-index/sample.d.ts.map +1 -0
- package/dist/graphrag/__tests__/fixtures/code-index/sample.js +10 -0
- package/dist/graphrag/__tests__/fixtures/code-index/sample.js.map +1 -0
- package/dist/graphrag/__tests__/locate.test.d.ts +2 -0
- package/dist/graphrag/__tests__/locate.test.d.ts.map +1 -0
- package/dist/graphrag/__tests__/locate.test.js +43 -0
- package/dist/graphrag/__tests__/locate.test.js.map +1 -0
- package/dist/graphrag/__tests__/requirement-ingest.test.d.ts +2 -0
- package/dist/graphrag/__tests__/requirement-ingest.test.d.ts.map +1 -0
- package/dist/graphrag/__tests__/requirement-ingest.test.js +66 -0
- package/dist/graphrag/__tests__/requirement-ingest.test.js.map +1 -0
- package/dist/graphrag/__tests__/traverse.test.d.ts +2 -0
- package/dist/graphrag/__tests__/traverse.test.d.ts.map +1 -0
- package/dist/graphrag/__tests__/traverse.test.js +71 -0
- package/dist/graphrag/__tests__/traverse.test.js.map +1 -0
- package/dist/graphrag/__tests__/types.test.d.ts +2 -0
- package/dist/graphrag/__tests__/types.test.d.ts.map +1 -0
- package/dist/graphrag/__tests__/types.test.js +52 -0
- package/dist/graphrag/__tests__/types.test.js.map +1 -0
- package/dist/graphrag/code-index.d.ts +15 -0
- package/dist/graphrag/code-index.d.ts.map +1 -0
- package/dist/graphrag/code-index.js +205 -0
- package/dist/graphrag/code-index.js.map +1 -0
- package/dist/graphrag/factory.d.ts.map +1 -1
- package/dist/graphrag/factory.js +5 -0
- package/dist/graphrag/factory.js.map +1 -1
- package/dist/graphrag/graph-rag.d.ts +6 -2
- package/dist/graphrag/graph-rag.d.ts.map +1 -1
- package/dist/graphrag/graph-rag.js +64 -26
- package/dist/graphrag/graph-rag.js.map +1 -1
- package/dist/graphrag/index.d.ts +8 -2
- package/dist/graphrag/index.d.ts.map +1 -1
- package/dist/graphrag/index.js +5 -1
- package/dist/graphrag/index.js.map +1 -1
- package/dist/graphrag/json-graph.d.ts +8 -0
- package/dist/graphrag/json-graph.d.ts.map +1 -1
- package/dist/graphrag/json-graph.js +50 -4
- package/dist/graphrag/json-graph.js.map +1 -1
- package/dist/graphrag/knowledge-graph.d.ts +8 -3
- package/dist/graphrag/knowledge-graph.d.ts.map +1 -1
- package/dist/graphrag/neo4j-graph.d.ts +19 -18
- package/dist/graphrag/neo4j-graph.d.ts.map +1 -1
- package/dist/graphrag/neo4j-graph.js +164 -38
- package/dist/graphrag/neo4j-graph.js.map +1 -1
- package/dist/graphrag/requirement-ingest.d.ts +15 -0
- package/dist/graphrag/requirement-ingest.d.ts.map +1 -0
- package/dist/graphrag/requirement-ingest.js +158 -0
- package/dist/graphrag/requirement-ingest.js.map +1 -0
- package/dist/graphrag/traverse.d.ts +5 -0
- package/dist/graphrag/traverse.d.ts.map +1 -0
- package/dist/graphrag/traverse.js +139 -0
- package/dist/graphrag/traverse.js.map +1 -0
- package/dist/graphrag/types.d.ts +60 -2
- package/dist/graphrag/types.d.ts.map +1 -1
- package/dist/graphrag/types.js +34 -1
- package/dist/graphrag/types.js.map +1 -1
- package/dist/mcp-server/__tests__/auth.test.d.ts +2 -0
- package/dist/mcp-server/__tests__/auth.test.d.ts.map +1 -0
- package/dist/mcp-server/__tests__/auth.test.js +72 -0
- package/dist/mcp-server/__tests__/auth.test.js.map +1 -0
- package/dist/mcp-server/__tests__/boot-config.test.d.ts +2 -0
- package/dist/mcp-server/__tests__/boot-config.test.d.ts.map +1 -0
- package/dist/mcp-server/__tests__/boot-config.test.js +29 -0
- package/dist/mcp-server/__tests__/boot-config.test.js.map +1 -0
- package/dist/mcp-server/__tests__/error-sanitize.test.d.ts +2 -0
- package/dist/mcp-server/__tests__/error-sanitize.test.d.ts.map +1 -0
- package/dist/mcp-server/__tests__/error-sanitize.test.js +66 -0
- package/dist/mcp-server/__tests__/error-sanitize.test.js.map +1 -0
- package/dist/mcp-server/__tests__/mcp-graph.test.d.ts +2 -0
- package/dist/mcp-server/__tests__/mcp-graph.test.d.ts.map +1 -0
- package/dist/mcp-server/__tests__/mcp-graph.test.js +85 -0
- package/dist/mcp-server/__tests__/mcp-graph.test.js.map +1 -0
- package/dist/mcp-server/__tests__/path-confinement.test.d.ts +2 -0
- package/dist/mcp-server/__tests__/path-confinement.test.d.ts.map +1 -0
- package/dist/mcp-server/__tests__/path-confinement.test.js +135 -0
- package/dist/mcp-server/__tests__/path-confinement.test.js.map +1 -0
- package/dist/mcp-server/bin/server.js +18 -6
- package/dist/mcp-server/bin/server.js.map +1 -1
- package/dist/mcp-server/boot-config.d.ts +6 -0
- package/dist/mcp-server/boot-config.d.ts.map +1 -0
- package/dist/mcp-server/boot-config.js +17 -0
- package/dist/mcp-server/boot-config.js.map +1 -0
- package/dist/mcp-server/middleware/auth.d.ts +10 -0
- package/dist/mcp-server/middleware/auth.d.ts.map +1 -0
- package/dist/mcp-server/middleware/auth.js +44 -0
- package/dist/mcp-server/middleware/auth.js.map +1 -0
- package/dist/mcp-server/middleware/cors.d.ts +6 -0
- package/dist/mcp-server/middleware/cors.d.ts.map +1 -0
- package/dist/mcp-server/middleware/cors.js +30 -0
- package/dist/mcp-server/middleware/cors.js.map +1 -0
- package/dist/mcp-server/middleware/error-handler.d.ts +11 -0
- package/dist/mcp-server/middleware/error-handler.d.ts.map +1 -0
- package/dist/mcp-server/middleware/error-handler.js +14 -0
- package/dist/mcp-server/middleware/error-handler.js.map +1 -0
- package/dist/mcp-server/server.d.ts +7 -2
- package/dist/mcp-server/server.d.ts.map +1 -1
- package/dist/mcp-server/server.js +290 -105
- package/dist/mcp-server/server.js.map +1 -1
- package/dist/skills/registry-mock.json +109 -109
- package/dist/skills/tests/manifest.spec.js +20 -20
- package/dist/stacks/__tests__/dna-emitter.spec.js +6 -6
- package/dist/stacks/dna-emitter.js +69 -69
- package/dist/stacks/ruby-rails-8/scaffold.js +15 -15
- package/dist/utils/__tests__/static-analyzer-exports.test.d.ts +2 -0
- package/dist/utils/__tests__/static-analyzer-exports.test.d.ts.map +1 -0
- package/dist/utils/__tests__/static-analyzer-exports.test.js +21 -0
- package/dist/utils/__tests__/static-analyzer-exports.test.js.map +1 -0
- package/dist/utils/project-generator.d.ts.map +1 -1
- package/dist/utils/project-generator.js +266 -252
- package/dist/utils/project-generator.js.map +1 -1
- package/dist/utils/stack-bootstrap.js +371 -371
- package/dist/utils/static-analyzer.d.ts +9 -0
- package/dist/utils/static-analyzer.d.ts.map +1 -1
- package/dist/utils/static-analyzer.js +2 -2
- package/dist/utils/static-analyzer.js.map +1 -1
- package/dist/utils/templates.js +394 -394
- package/dist/verification/__tests__/anti-tamper.test.js +13 -13
- package/dist/verification/__tests__/telemetry.test.js +9 -0
- package/dist/verification/__tests__/telemetry.test.js.map +1 -1
- package/package.json +96 -93
- package/templates/DARE-dag-example.yaml +280 -280
- package/templates/UPDATE-MANIFEST.json +68 -68
- package/templates/backend/node-nestjs/.env.example +9 -9
- package/templates/backend/node-nestjs/nest-cli.json +8 -8
- package/templates/backend/node-nestjs/package.json +50 -50
- package/templates/backend/node-nestjs/src/app.controller.ts +12 -12
- package/templates/backend/node-nestjs/src/app.module.ts +15 -15
- package/templates/backend/node-nestjs/src/app.service.ts +8 -8
- package/templates/backend/node-nestjs/src/main.ts +24 -24
- package/templates/backend/node-nestjs/tsconfig.json +21 -21
- package/templates/backend/php-laravel/.env.example +22 -22
- package/templates/backend/php-laravel/app/Http/Controllers/HealthController.php +15 -15
- package/templates/backend/php-laravel/composer.json +40 -40
- package/templates/backend/python-fastapi/.env.example +4 -4
- package/templates/backend/python-fastapi/app/api/router.py +8 -8
- package/templates/backend/python-fastapi/app/core/config.py +20 -20
- package/templates/backend/python-fastapi/main.py +35 -35
- package/templates/backend/python-fastapi/requirements.txt +13 -13
- package/templates/backend/rust-axum/.env.example +3 -3
- package/templates/backend/rust-axum/Cargo.toml +23 -23
- package/templates/backend/rust-axum/src/errors.rs +30 -30
- package/templates/backend/rust-axum/src/main.rs +32 -32
- package/templates/backend/rust-axum/src/routes.rs +6 -6
- package/templates/frontend/leptos-csr/.cargo/config.toml +2 -2
- package/templates/frontend/leptos-csr/Cargo.toml +16 -16
- package/templates/frontend/leptos-csr/Trunk.toml +10 -10
- package/templates/frontend/leptos-csr/index.html +11 -11
- package/templates/frontend/leptos-csr/src/lib.rs +20 -20
- package/templates/frontend/leptos-csr/style/main.scss +19 -19
- package/templates/frontend/leptos-fullstack/.cargo/config.toml +4 -4
- package/templates/frontend/leptos-fullstack/Cargo.toml +56 -56
- package/templates/frontend/leptos-fullstack/src/app.rs +49 -49
- package/templates/frontend/leptos-fullstack/src/lib.rs +9 -9
- package/templates/frontend/leptos-fullstack/src/main.rs +29 -29
- package/templates/frontend/leptos-fullstack/style/main.scss +19 -19
- package/templates/frontend/react/index.html +12 -12
- package/templates/frontend/react/package.json +35 -35
- package/templates/frontend/react/src/App.tsx +25 -25
- package/templates/frontend/react/src/main.tsx +9 -9
- package/templates/frontend/vue/package.json +32 -32
- package/templates/frontend/vue/src/App.vue +7 -7
- package/templates/frontend/vue/src/main.ts +10 -10
- package/templates/frontend/vue/src/router/index.ts +14 -14
- package/templates/frontend/vue/src/views/HomeView.vue +6 -6
- package/templates/hooks/pre-commit-dare-validate +24 -24
- package/templates/ide/antigravity/.agents/skills/dare-ax/SKILL.md +152 -152
- package/templates/ide/antigravity/.agents/skills/dare-bench/SKILL.md +21 -21
- package/templates/ide/antigravity/.agents/skills/dare-blueprint/SKILL.md +368 -368
- package/templates/ide/antigravity/.agents/skills/dare-bootstrap/SKILL.md +32 -32
- package/templates/ide/antigravity/.agents/skills/dare-bugfix-design/SKILL.md +76 -76
- package/templates/ide/antigravity/.agents/skills/dare-dag/SKILL.md +32 -32
- package/templates/ide/antigravity/.agents/skills/dare-dag-build/SKILL.md +154 -154
- package/templates/ide/antigravity/.agents/skills/dare-dag-run/SKILL.md +130 -130
- package/templates/ide/antigravity/.agents/skills/dare-dag-runner/SKILL.md +203 -203
- package/templates/ide/antigravity/.agents/skills/dare-design/SKILL.md +180 -180
- package/templates/ide/antigravity/.agents/skills/dare-discover/SKILL.md +33 -33
- package/templates/ide/antigravity/.agents/skills/dare-dna/SKILL.md +63 -63
- package/templates/ide/antigravity/.agents/skills/dare-docker/SKILL.md +315 -315
- package/templates/ide/antigravity/.agents/skills/dare-execute/SKILL.md +264 -264
- package/templates/ide/antigravity/.agents/skills/dare-feature-design/SKILL.md +74 -74
- package/templates/ide/antigravity/.agents/skills/dare-frontend-design/SKILL.md +192 -192
- package/templates/ide/antigravity/.agents/skills/dare-graph/SKILL.md +35 -35
- package/templates/ide/antigravity/.agents/skills/dare-info/SKILL.md +31 -31
- package/templates/ide/antigravity/.agents/skills/dare-init/SKILL.md +35 -35
- package/templates/ide/antigravity/.agents/skills/dare-laravel-api/SKILL.md +337 -337
- package/templates/ide/antigravity/.agents/skills/dare-layered-design/SKILL.md +166 -166
- package/templates/ide/antigravity/.agents/skills/dare-llm-integration/SKILL.md +217 -217
- package/templates/ide/antigravity/.agents/skills/dare-migrate/SKILL.md +61 -61
- package/templates/ide/antigravity/.agents/skills/dare-quality-telemetry/SKILL.md +187 -187
- package/templates/ide/antigravity/.agents/skills/dare-realtime/SKILL.md +217 -217
- package/templates/ide/antigravity/.agents/skills/dare-refine/SKILL.md +114 -114
- package/templates/ide/antigravity/.agents/skills/dare-reverse/SKILL.md +108 -108
- package/templates/ide/antigravity/.agents/skills/dare-review/SKILL.md +111 -111
- package/templates/ide/antigravity/.agents/skills/dare-rust-leptos/SKILL.md +263 -263
- package/templates/ide/antigravity/.agents/skills/dare-rust-workspace/SKILL.md +275 -275
- package/templates/ide/antigravity/.agents/skills/dare-security/SKILL.md +274 -274
- package/templates/ide/antigravity/.agents/skills/dare-skill/SKILL.md +35 -35
- package/templates/ide/antigravity/.agents/skills/dare-tasks/SKILL.md +265 -265
- package/templates/ide/antigravity/.agents/skills/dare-telemetry/SKILL.md +188 -188
- package/templates/ide/antigravity/.agents/skills/dare-update/SKILL.md +33 -33
- package/templates/ide/antigravity/.agents/skills/dare-validate/SKILL.md +33 -33
- package/templates/ide/antigravity/.agents/skills/dare-welcome/SKILL.md +30 -30
- package/templates/ide/antigravity/.agents/skills/skill-fastapi-api/SKILL.md +343 -343
- package/templates/ide/antigravity/.agents/skills/skill-go-gin-api/SKILL.md +377 -377
- package/templates/ide/antigravity/.agents/skills/skill-mcp-server/SKILL.md +382 -382
- package/templates/ide/antigravity/.agents/skills/skill-nestjs-api/SKILL.md +326 -326
- package/templates/ide/antigravity/.agents/skills/skill-rails-api/SKILL.md +393 -393
- package/templates/ide/antigravity/templates/BLUEPRINT-template.md +193 -193
- package/templates/ide/antigravity/templates/DESIGN-template.md +129 -129
- package/templates/ide/antigravity/templates/TASK-SPEC-template.md +141 -141
- package/templates/ide/antigravity/templates/TASKS-template.md +26 -26
- package/templates/ide/antigravity/templates/TELEMETRY-template.md +125 -125
- package/templates/ide/claude/.claude/commands/dare-ax.md +131 -131
- package/templates/ide/claude/.claude/commands/dare-bench.md +18 -18
- package/templates/ide/claude/.claude/commands/dare-blueprint.md +134 -134
- package/templates/ide/claude/.claude/commands/dare-bootstrap.md +27 -27
- package/templates/ide/claude/.claude/commands/dare-bugfix-design.md +119 -119
- package/templates/ide/claude/.claude/commands/dare-dag-build.md +151 -151
- package/templates/ide/claude/.claude/commands/dare-dag-run.md +109 -109
- package/templates/ide/claude/.claude/commands/dare-dag-runner.md +117 -117
- package/templates/ide/claude/.claude/commands/dare-dag-viz.md +197 -197
- package/templates/ide/claude/.claude/commands/dare-dag.md +27 -27
- package/templates/ide/claude/.claude/commands/dare-design.md +69 -69
- package/templates/ide/claude/.claude/commands/dare-discover.md +28 -28
- package/templates/ide/claude/.claude/commands/dare-dna.md +75 -75
- package/templates/ide/claude/.claude/commands/dare-docker.md +207 -207
- package/templates/ide/claude/.claude/commands/dare-execute.md +152 -152
- package/templates/ide/claude/.claude/commands/dare-feature-design.md +147 -147
- package/templates/ide/claude/.claude/commands/dare-frontend-design.md +149 -149
- package/templates/ide/claude/.claude/commands/dare-graph.md +30 -30
- package/templates/ide/claude/.claude/commands/dare-info.md +26 -26
- package/templates/ide/claude/.claude/commands/dare-init.md +30 -30
- package/templates/ide/claude/.claude/commands/dare-laravel-api.md +211 -211
- package/templates/ide/claude/.claude/commands/dare-layered-design.md +124 -124
- package/templates/ide/claude/.claude/commands/dare-llm-integration.md +148 -148
- package/templates/ide/claude/.claude/commands/dare-migrate.md +72 -72
- package/templates/ide/claude/.claude/commands/dare-quality-telemetry.md +166 -166
- package/templates/ide/claude/.claude/commands/dare-realtime.md +159 -159
- package/templates/ide/claude/.claude/commands/dare-refine.md +145 -145
- package/templates/ide/claude/.claude/commands/dare-reverse.md +139 -139
- package/templates/ide/claude/.claude/commands/dare-review.md +113 -113
- package/templates/ide/claude/.claude/commands/dare-rust-leptos.md +269 -269
- package/templates/ide/claude/.claude/commands/dare-rust-workspace.md +209 -209
- package/templates/ide/claude/.claude/commands/dare-security.md +232 -232
- package/templates/ide/claude/.claude/commands/dare-skill.md +30 -30
- package/templates/ide/claude/.claude/commands/dare-tasks.md +70 -70
- package/templates/ide/claude/.claude/commands/dare-telemetry.md +132 -132
- package/templates/ide/claude/.claude/commands/dare-update.md +28 -28
- package/templates/ide/claude/.claude/commands/dare-validate.md +28 -28
- package/templates/ide/claude/.claude/commands/dare-welcome.md +25 -25
- package/templates/ide/claude/.claude/commands/skill-fastapi-api.md +205 -205
- package/templates/ide/claude/.claude/commands/skill-go-gin-api.md +232 -232
- package/templates/ide/claude/.claude/commands/skill-mcp-server.md +228 -228
- package/templates/ide/claude/.claude/commands/skill-nestjs-api.md +210 -210
- package/templates/ide/claude/.claude/commands/skill-rails-api.md +236 -236
- package/templates/ide/claude/.claude/settings.example.json +35 -35
- package/templates/ide/claude/CLAUDE.md +146 -146
- package/templates/ide/claude/templates/BLUEPRINT-template.md +193 -193
- package/templates/ide/claude/templates/DESIGN-template.md +129 -129
- package/templates/ide/claude/templates/TASK-SPEC-template.md +141 -141
- package/templates/ide/claude/templates/TASKS-template.md +26 -26
- package/templates/ide/claude/templates/TELEMETRY-template.md +125 -125
- package/templates/ide/cursor/.cursor/commands/dare-bench.md +18 -18
- package/templates/ide/cursor/.cursor/commands/dare-blueprint.md +86 -86
- package/templates/ide/cursor/.cursor/commands/dare-bootstrap.md +27 -27
- package/templates/ide/cursor/.cursor/commands/dare-bugfix-design.md +64 -64
- package/templates/ide/cursor/.cursor/commands/dare-dag-run.md +110 -110
- package/templates/ide/cursor/.cursor/commands/dare-dag-viz.md +139 -139
- package/templates/ide/cursor/.cursor/commands/dare-dag.md +27 -27
- package/templates/ide/cursor/.cursor/commands/dare-design.md +35 -35
- package/templates/ide/cursor/.cursor/commands/dare-discover.md +28 -28
- package/templates/ide/cursor/.cursor/commands/dare-dna.md +75 -75
- package/templates/ide/cursor/.cursor/commands/dare-docker-compose.md +18 -18
- package/templates/ide/cursor/.cursor/commands/dare-dockerfile.md +17 -17
- package/templates/ide/cursor/.cursor/commands/dare-execute.md +19 -19
- package/templates/ide/cursor/.cursor/commands/dare-feature-design.md +64 -64
- package/templates/ide/cursor/.cursor/commands/dare-graph.md +30 -30
- package/templates/ide/cursor/.cursor/commands/dare-info.md +26 -26
- package/templates/ide/cursor/.cursor/commands/dare-init.md +30 -30
- package/templates/ide/cursor/.cursor/commands/dare-migrate.md +72 -72
- package/templates/ide/cursor/.cursor/commands/dare-refine.md +107 -107
- package/templates/ide/cursor/.cursor/commands/dare-reverse.md +139 -139
- package/templates/ide/cursor/.cursor/commands/dare-review.md +91 -91
- package/templates/ide/cursor/.cursor/commands/dare-skill.md +30 -30
- package/templates/ide/cursor/.cursor/commands/dare-tasks.md +184 -184
- package/templates/ide/cursor/.cursor/commands/dare-telemetry.md +42 -42
- package/templates/ide/cursor/.cursor/commands/dare-update.md +28 -28
- package/templates/ide/cursor/.cursor/commands/dare-validate.md +28 -28
- package/templates/ide/cursor/.cursor/commands/dare-welcome.md +25 -25
- package/templates/ide/cursor/.cursor/rules/skill-ax.mdc +263 -263
- package/templates/ide/cursor/.cursor/rules/skill-bugfix-design.mdc +51 -51
- package/templates/ide/cursor/.cursor/rules/skill-dag-build.mdc +173 -173
- package/templates/ide/cursor/.cursor/rules/skill-dag-run.mdc +134 -134
- package/templates/ide/cursor/.cursor/rules/skill-dag-runner.mdc +221 -221
- package/templates/ide/cursor/.cursor/rules/skill-dna.mdc +63 -63
- package/templates/ide/cursor/.cursor/rules/skill-docker.mdc +33 -33
- package/templates/ide/cursor/.cursor/rules/skill-fastapi-api.mdc +352 -352
- package/templates/ide/cursor/.cursor/rules/skill-feature-design.mdc +43 -43
- package/templates/ide/cursor/.cursor/rules/skill-frontend-design.mdc +244 -244
- package/templates/ide/cursor/.cursor/rules/skill-go-gin-api.mdc +371 -371
- package/templates/ide/cursor/.cursor/rules/skill-laravel-api.mdc +44 -44
- package/templates/ide/cursor/.cursor/rules/skill-layered-design.mdc +266 -266
- package/templates/ide/cursor/.cursor/rules/skill-llm-integration.mdc +295 -295
- package/templates/ide/cursor/.cursor/rules/skill-mcp-server.mdc +367 -367
- package/templates/ide/cursor/.cursor/rules/skill-migrate.mdc +58 -58
- package/templates/ide/cursor/.cursor/rules/skill-nestjs-api.mdc +346 -346
- package/templates/ide/cursor/.cursor/rules/skill-quality-telemetry.mdc +248 -248
- package/templates/ide/cursor/.cursor/rules/skill-rails-api.mdc +400 -400
- package/templates/ide/cursor/.cursor/rules/skill-realtime.mdc +262 -262
- package/templates/ide/cursor/.cursor/rules/skill-reverse.mdc +107 -107
- package/templates/ide/cursor/.cursor/rules/skill-rust-leptos.mdc +281 -281
- package/templates/ide/cursor/.cursor/rules/skill-rust-workspace.mdc +312 -312
- package/templates/ide/cursor/.cursor/rules/skill-security.mdc +245 -245
- package/templates/ide/cursor/.cursor/rules/skill-telemetry.mdc +156 -156
- package/templates/ide/cursor/templates/BLUEPRINT-template.md +193 -193
- package/templates/ide/cursor/templates/DESIGN-template.md +129 -129
- package/templates/ide/cursor/templates/TASK-SPEC-template.md +141 -141
- package/templates/ide/cursor/templates/TASKS-template.md +26 -26
- package/templates/ide/cursor/templates/TELEMETRY-template.md +125 -125
- package/templates/shared/docker-compose.yml +41 -41
- package/templates/stacks/go-gin/.dare/skills.yml +11 -11
- package/templates/stacks/go-gin/.env.example +24 -24
- package/templates/stacks/go-gin/.github/workflows/dare-ci.yml +42 -42
- package/templates/stacks/go-gin/README.md.tpl +38 -38
- package/templates/stacks/go-gin/cmd/server/main.go.tpl +78 -78
- package/templates/stacks/go-gin/db/migrations/0001_create_users.down.sql +2 -2
- package/templates/stacks/go-gin/db/migrations/0001_create_users.up.sql +12 -12
- package/templates/stacks/go-gin/db/queries/users.sql +23 -23
- package/templates/stacks/go-gin/gitignore +7 -7
- package/templates/stacks/go-gin/go.mod.tpl +17 -17
- package/templates/stacks/go-gin/internal/config/config.go +41 -41
- package/templates/stacks/go-gin/internal/db/postgres.go.tpl +25 -25
- package/templates/stacks/go-gin/internal/handler/auth_handler.go.tpl +72 -72
- package/templates/stacks/go-gin/internal/handler/users_handler.go.tpl +72 -72
- package/templates/stacks/go-gin/internal/handler/ws_handler.go +37 -37
- package/templates/stacks/go-gin/internal/llm/dummy.go +14 -14
- package/templates/stacks/go-gin/internal/llm/provider.go +8 -8
- package/templates/stacks/go-gin/internal/middleware/jwt.go.tpl +58 -58
- package/templates/stacks/go-gin/internal/middleware/rate_limit.go +55 -55
- package/templates/stacks/go-gin/internal/model/user.go +17 -17
- package/templates/stacks/go-gin/internal/repository/users_repository.go.tpl +79 -79
- package/templates/stacks/go-gin/internal/service/auth_service.go.tpl +55 -55
- package/templates/stacks/go-gin/internal/service/users_service.go.tpl +53 -53
- package/templates/stacks/go-gin/llms.txt.tpl +54 -54
- package/templates/stacks/go-gin/openapi.json.tpl +46 -46
- package/templates/stacks/go-gin/sqlc.yaml +14 -14
- package/templates/stacks/go-gin/tests/smoke_test.go.tpl +22 -22
- package/templates/stacks/go-stdlib/.dare/skills.yml +11 -11
- package/templates/stacks/go-stdlib/.env.example +24 -24
- package/templates/stacks/go-stdlib/.github/workflows/dare-ci.yml +42 -42
- package/templates/stacks/go-stdlib/README.md.tpl +41 -41
- package/templates/stacks/go-stdlib/cmd/server/main.go.tpl +82 -82
- package/templates/stacks/go-stdlib/db/migrations/0001_create_users.down.sql +2 -2
- package/templates/stacks/go-stdlib/db/migrations/0001_create_users.up.sql +12 -12
- package/templates/stacks/go-stdlib/db/queries/users.sql +23 -23
- package/templates/stacks/go-stdlib/gitignore +6 -6
- package/templates/stacks/go-stdlib/go.mod.tpl +15 -15
- package/templates/stacks/go-stdlib/internal/config/config.go +41 -41
- package/templates/stacks/go-stdlib/internal/db/postgres.go.tpl +24 -24
- package/templates/stacks/go-stdlib/internal/handler/auth_handler.go.tpl +71 -71
- package/templates/stacks/go-stdlib/internal/handler/users_handler.go.tpl +84 -84
- package/templates/stacks/go-stdlib/internal/handler/ws_handler.go +36 -36
- package/templates/stacks/go-stdlib/internal/httpx/json.go +32 -32
- package/templates/stacks/go-stdlib/internal/llm/dummy.go +14 -14
- package/templates/stacks/go-stdlib/internal/llm/provider.go +8 -8
- package/templates/stacks/go-stdlib/internal/middleware/chain.go +21 -21
- package/templates/stacks/go-stdlib/internal/middleware/cors.go +27 -27
- package/templates/stacks/go-stdlib/internal/middleware/jwt.go.tpl +51 -51
- package/templates/stacks/go-stdlib/internal/middleware/rate_limit.go +81 -81
- package/templates/stacks/go-stdlib/internal/model/user.go +17 -17
- package/templates/stacks/go-stdlib/internal/repository/users_repository.go.tpl +75 -75
- package/templates/stacks/go-stdlib/internal/service/auth_service.go.tpl +55 -55
- package/templates/stacks/go-stdlib/internal/service/users_service.go.tpl +53 -53
- package/templates/stacks/go-stdlib/llms.txt.tpl +60 -60
- package/templates/stacks/go-stdlib/openapi.json.tpl +46 -46
- package/templates/stacks/go-stdlib/sqlc.yaml +14 -14
- package/templates/stacks/go-stdlib/tests/smoke_test.go.tpl +45 -45
- package/templates/stacks/mcp-go/.dare/skills.yml +8 -8
- package/templates/stacks/mcp-go/.env.example +14 -14
- package/templates/stacks/mcp-go/.github/workflows/dare-ci.yml +42 -42
- package/templates/stacks/mcp-go/README.md.tpl +50 -50
- package/templates/stacks/mcp-go/cmd/server/main.go.tpl +62 -62
- package/templates/stacks/mcp-go/gitignore +6 -6
- package/templates/stacks/mcp-go/go.mod.tpl +9 -9
- package/templates/stacks/mcp-go/internal/prompts/summarize.go +9 -9
- package/templates/stacks/mcp-go/internal/server/server.go.tpl +80 -80
- package/templates/stacks/mcp-go/internal/tools/echo.go +15 -15
- package/templates/stacks/mcp-go/internal/transports/http.go.tpl +21 -21
- package/templates/stacks/mcp-go/internal/transports/sse.go.tpl +17 -17
- package/templates/stacks/mcp-go/internal/transports/stdio.go.tpl +14 -14
- package/templates/stacks/mcp-go/llms.txt.tpl +60 -60
- package/templates/stacks/mcp-go/openapi.json.tpl +31 -31
- package/templates/stacks/mcp-go/tests/echo_test.go.tpl +37 -37
- package/templates/stacks/mcp-node-ts/.dare/skills.yml +8 -8
- package/templates/stacks/mcp-node-ts/.env.example +16 -16
- package/templates/stacks/mcp-node-ts/.github/workflows/dare-ci.yml +54 -54
- package/templates/stacks/mcp-node-ts/README.md.hbs +49 -49
- package/templates/stacks/mcp-node-ts/gitignore +7 -7
- package/templates/stacks/mcp-node-ts/llms.txt.hbs +61 -61
- package/templates/stacks/mcp-node-ts/openapi.json.hbs +39 -39
- package/templates/stacks/mcp-node-ts/package.json.hbs +35 -35
- package/templates/stacks/mcp-node-ts/src/cli.ts.hbs +71 -71
- package/templates/stacks/mcp-node-ts/src/prompts/index.ts +36 -36
- package/templates/stacks/mcp-node-ts/src/server.ts.hbs +45 -45
- package/templates/stacks/mcp-node-ts/src/tools/echo.ts +23 -23
- package/templates/stacks/mcp-node-ts/src/tools/index.ts +18 -18
- package/templates/stacks/mcp-node-ts/src/transports/http.ts +68 -68
- package/templates/stacks/mcp-node-ts/src/transports/sse.ts +58 -58
- package/templates/stacks/mcp-node-ts/src/transports/stdio.ts +5 -5
- package/templates/stacks/mcp-node-ts/tests/echo.test.ts +50 -50
- package/templates/stacks/mcp-node-ts/tsconfig.json +17 -17
- package/templates/stacks/mcp-python/.dare/skills.yml +8 -8
- package/templates/stacks/mcp-python/.env.example +14 -14
- package/templates/stacks/mcp-python/.github/workflows/dare-ci.yml +42 -42
- package/templates/stacks/mcp-python/README.md.j2 +49 -49
- package/templates/stacks/mcp-python/gitignore +12 -12
- package/templates/stacks/mcp-python/llms.txt.j2 +56 -56
- package/templates/stacks/mcp-python/openapi.json.j2 +33 -33
- package/templates/stacks/mcp-python/pyproject.toml.j2 +37 -37
- package/templates/stacks/mcp-python/src/cli.py.j2 +68 -68
- package/templates/stacks/mcp-python/src/prompts/summarize.py +10 -10
- package/templates/stacks/mcp-python/src/server.py.j2 +28 -28
- package/templates/stacks/mcp-python/src/tools/echo.py +12 -12
- package/templates/stacks/mcp-python/src/transports/http.py +12 -12
- package/templates/stacks/mcp-python/src/transports/sse.py +13 -13
- package/templates/stacks/mcp-python/src/transports/stdio.py +6 -6
- package/templates/stacks/mcp-python/tests/test_echo.py +28 -28
- package/templates/stacks/mcp-rust/.dare/skills.yml +8 -8
- package/templates/stacks/mcp-rust/.env.example +14 -14
- package/templates/stacks/mcp-rust/.github/workflows/dare-ci.yml +38 -38
- package/templates/stacks/mcp-rust/Cargo.toml.tera +35 -35
- package/templates/stacks/mcp-rust/README.md.tera +50 -50
- package/templates/stacks/mcp-rust/gitignore +5 -5
- package/templates/stacks/mcp-rust/llms.txt.tera +60 -60
- package/templates/stacks/mcp-rust/openapi.json.tera +31 -31
- package/templates/stacks/mcp-rust/src/cli.rs.tera +33 -33
- package/templates/stacks/mcp-rust/src/lib.rs +6 -6
- package/templates/stacks/mcp-rust/src/main.rs.tera +30 -30
- package/templates/stacks/mcp-rust/src/prompts/mod.rs +1 -1
- package/templates/stacks/mcp-rust/src/prompts/summarize.rs +5 -5
- package/templates/stacks/mcp-rust/src/server.rs.tera +38 -38
- package/templates/stacks/mcp-rust/src/tools/echo.rs +18 -18
- package/templates/stacks/mcp-rust/src/tools/mod.rs +22 -22
- package/templates/stacks/mcp-rust/src/transports/http.rs +27 -27
- package/templates/stacks/mcp-rust/src/transports/mod.rs +3 -3
- package/templates/stacks/mcp-rust/src/transports/sse.rs +33 -33
- package/templates/stacks/mcp-rust/src/transports/stdio.rs +14 -14
- package/templates/stacks/mcp-rust/tests/echo_test.rs.tera +27 -27
- package/templates/stacks/node-nestjs/.dare/skills.yml +11 -11
- package/templates/stacks/node-nestjs/.env.example +21 -21
- package/templates/stacks/node-nestjs/.github/workflows/dare-ci.yml +54 -54
- package/templates/stacks/node-nestjs/README.md.hbs +35 -35
- package/templates/stacks/node-nestjs/gitignore +7 -7
- package/templates/stacks/node-nestjs/llms.txt.hbs +47 -47
- package/templates/stacks/node-nestjs/nest-cli.json +16 -16
- package/templates/stacks/node-nestjs/openapi.json.hbs +75 -75
- package/templates/stacks/node-nestjs/package.json.hbs +57 -57
- package/templates/stacks/node-nestjs/prisma/schema.prisma +25 -25
- package/templates/stacks/node-nestjs/prisma/seed.ts.hbs +25 -25
- package/templates/stacks/node-nestjs/src/app.module.ts +39 -39
- package/templates/stacks/node-nestjs/src/auth/auth.controller.ts +29 -29
- package/templates/stacks/node-nestjs/src/auth/auth.module.ts +25 -25
- package/templates/stacks/node-nestjs/src/auth/auth.service.ts +36 -36
- package/templates/stacks/node-nestjs/src/auth/dto/login-response.dto.ts +9 -9
- package/templates/stacks/node-nestjs/src/auth/dto/login.dto.ts +17 -17
- package/templates/stacks/node-nestjs/src/auth/jwt.strategy.ts +25 -25
- package/templates/stacks/node-nestjs/src/common/filters/problem-details.filter.ts +38 -38
- package/templates/stacks/node-nestjs/src/common/interceptors/json-response.interceptor.ts +13 -13
- package/templates/stacks/node-nestjs/src/main.ts.hbs +44 -44
- package/templates/stacks/node-nestjs/src/prisma/prisma.module.ts +9 -9
- package/templates/stacks/node-nestjs/src/prisma/prisma.service.ts +9 -9
- package/templates/stacks/node-nestjs/src/users/dto/create-user.dto.ts +22 -22
- package/templates/stacks/node-nestjs/src/users/dto/user.dto.ts +15 -15
- package/templates/stacks/node-nestjs/src/users/users.controller.ts +41 -41
- package/templates/stacks/node-nestjs/src/users/users.module.ts +11 -11
- package/templates/stacks/node-nestjs/src/users/users.repository.ts +38 -38
- package/templates/stacks/node-nestjs/src/users/users.service.ts +38 -38
- package/templates/stacks/node-nestjs/tsconfig.build.json +4 -4
- package/templates/stacks/node-nestjs/tsconfig.json +28 -28
- package/templates/stacks/php-laravel/.dare/skills.yml +11 -11
- package/templates/stacks/php-laravel/.env.example +41 -41
- package/templates/stacks/php-laravel/.github/workflows/dare-ci.yml +43 -43
- package/templates/stacks/php-laravel/README.md.hbs +36 -36
- package/templates/stacks/php-laravel/app/Http/Controllers/Api/AuthController.php +36 -36
- package/templates/stacks/php-laravel/app/Http/Controllers/Api/UsersController.php +33 -33
- package/templates/stacks/php-laravel/app/Http/Requests/CreateUserRequest.php +26 -26
- package/templates/stacks/php-laravel/app/Http/Requests/LoginRequest.php +34 -34
- package/templates/stacks/php-laravel/app/Llm/Contracts/LlmProvider.php +12 -12
- package/templates/stacks/php-laravel/app/Llm/Providers/DummyProvider.php +13 -13
- package/templates/stacks/php-laravel/app/Llm/Providers/OpenAiProvider.php +33 -33
- package/templates/stacks/php-laravel/app/Models/User.php +44 -44
- package/templates/stacks/php-laravel/app/Repositories/UsersRepository.php +32 -32
- package/templates/stacks/php-laravel/app/Services/AuthService.php +37 -37
- package/templates/stacks/php-laravel/app/Services/UsersService.php +57 -57
- package/templates/stacks/php-laravel/artisan +12 -12
- package/templates/stacks/php-laravel/bootstrap/app.php +29 -29
- package/templates/stacks/php-laravel/bootstrap/providers.php +5 -5
- package/templates/stacks/php-laravel/composer.json.hbs +58 -58
- package/templates/stacks/php-laravel/config/l5-swagger.php +41 -41
- package/templates/stacks/php-laravel/config/reverb.php +34 -34
- package/templates/stacks/php-laravel/config/sanctum.php +15 -15
- package/templates/stacks/php-laravel/database/migrations/2026_06_01_000001_create_users_table.php +27 -27
- package/templates/stacks/php-laravel/database/seeders/DatabaseSeeder.php +21 -21
- package/templates/stacks/php-laravel/gitignore +23 -23
- package/templates/stacks/php-laravel/llms.txt.hbs +53 -53
- package/templates/stacks/php-laravel/openapi.json.hbs +43 -43
- package/templates/stacks/php-laravel/phpstan.neon +9 -9
- package/templates/stacks/php-laravel/routes/api.php +13 -13
- package/templates/stacks/php-laravel/routes/channels.php +7 -7
- package/templates/stacks/php-laravel/tests/Feature/AuthTest.php +35 -35
- package/templates/stacks/php-laravel/tests/Feature/UsersTest.php +30 -30
- package/templates/stacks/php-laravel/tests/Pest.php +5 -5
- package/templates/stacks/python-fastapi/.dare/skills.yml +11 -11
- package/templates/stacks/python-fastapi/.env.example +21 -21
- package/templates/stacks/python-fastapi/.github/workflows/dare-ci.yml +43 -43
- package/templates/stacks/python-fastapi/README.md.j2 +35 -35
- package/templates/stacks/python-fastapi/alembic/env.py +46 -46
- package/templates/stacks/python-fastapi/alembic/script.py.mako +26 -26
- package/templates/stacks/python-fastapi/alembic/versions/0001_create_users.py.j2 +37 -37
- package/templates/stacks/python-fastapi/alembic.ini.j2 +39 -39
- package/templates/stacks/python-fastapi/app/core/config.py +24 -24
- package/templates/stacks/python-fastapi/app/core/security.py +34 -34
- package/templates/stacks/python-fastapi/app/db/session.py +22 -22
- package/templates/stacks/python-fastapi/app/main.py.j2 +36 -36
- package/templates/stacks/python-fastapi/app/models/__init__.py +3 -3
- package/templates/stacks/python-fastapi/app/models/user.py +30 -30
- package/templates/stacks/python-fastapi/app/repositories/user_repository.py +34 -34
- package/templates/stacks/python-fastapi/app/routers/auth.py +37 -37
- package/templates/stacks/python-fastapi/app/routers/users.py +46 -46
- package/templates/stacks/python-fastapi/app/schemas/user.py +56 -56
- package/templates/stacks/python-fastapi/app/services/auth_service.py +22 -22
- package/templates/stacks/python-fastapi/app/services/user_service.py +31 -31
- package/templates/stacks/python-fastapi/gitignore +12 -12
- package/templates/stacks/python-fastapi/llms.txt.j2 +53 -53
- package/templates/stacks/python-fastapi/openapi.json.j2 +43 -43
- package/templates/stacks/python-fastapi/pyproject.toml.j2 +45 -45
- package/templates/stacks/python-fastapi/tests/test_auth.py +22 -22
- package/templates/stacks/ruby-rails-8/.dare/skills.yml +50 -50
- package/templates/stacks/ruby-rails-8/.env.example +20 -20
- package/templates/stacks/ruby-rails-8/.github/workflows/dare-ci.yml +112 -112
- package/templates/stacks/ruby-rails-8/Gemfile.erb +61 -61
- package/templates/stacks/ruby-rails-8/app/channels/application_cable/channel.rb +11 -11
- package/templates/stacks/ruby-rails-8/app/channels/application_cable/connection.rb +34 -34
- package/templates/stacks/ruby-rails-8/app/channels/dare_updates_channel.rb +18 -18
- package/templates/stacks/ruby-rails-8/app/channels/user_updates_channel.rb +23 -23
- package/templates/stacks/ruby-rails-8/app/controllers/application_controller.rb +44 -44
- package/templates/stacks/ruby-rails-8/app/controllers/concerns/problem_details.rb +93 -93
- package/templates/stacks/ruby-rails-8/app/handlers/summarize_handler.rb +33 -33
- package/templates/stacks/ruby-rails-8/app/handlers/users_handler.rb +68 -68
- package/templates/stacks/ruby-rails-8/app/llm/cache/llm_cache.rb +44 -44
- package/templates/stacks/ruby-rails-8/app/llm/prompts/prompt_loader.rb +54 -54
- package/templates/stacks/ruby-rails-8/app/llm/prompts/summarize_v1.jinja2 +12 -12
- package/templates/stacks/ruby-rails-8/app/llm/providers/dummy_provider.rb +35 -35
- package/templates/stacks/ruby-rails-8/app/llm/providers/llm_provider.rb +67 -67
- package/templates/stacks/ruby-rails-8/app/llm/providers/openai_provider.rb +62 -62
- package/templates/stacks/ruby-rails-8/app/llm/rate_limit/token_bucket.rb +82 -82
- package/templates/stacks/ruby-rails-8/app/llm/validators/summarize_output_schema.json +21 -21
- package/templates/stacks/ruby-rails-8/app/llm/validators/validator.rb +52 -52
- package/templates/stacks/ruby-rails-8/app/models/user.rb +36 -36
- package/templates/stacks/ruby-rails-8/app/presenters/user_presenter.rb +48 -48
- package/templates/stacks/ruby-rails-8/app/repositories/document_repository.rb +57 -57
- package/templates/stacks/ruby-rails-8/app/repositories/user_repository.rb +73 -73
- package/templates/stacks/ruby-rails-8/app/services/create_user_service.rb +67 -67
- package/templates/stacks/ruby-rails-8/app/services/realtime_service.rb +53 -53
- package/templates/stacks/ruby-rails-8/app/services/summarize_document_service.rb +57 -57
- package/templates/stacks/ruby-rails-8/config/dare.yml +42 -42
- package/templates/stacks/ruby-rails-8/config/initializers/dare.rb +31 -31
- package/templates/stacks/ruby-rails-8/config/initializers/rack_attack.rb +64 -64
- package/templates/stacks/ruby-rails-8/config/initializers/rswag_api.rb +12 -12
- package/templates/stacks/ruby-rails-8/lib/tasks/dare.rake +159 -159
- package/templates/stacks/ruby-rails-8/llms.txt.erb +69 -69
- package/templates/stacks/ruby-rails-8/spec/api/summarize_spec.rb +56 -56
- package/templates/stacks/ruby-rails-8/spec/api/users_spec.rb +72 -72
- package/templates/stacks/ruby-rails-8/spec/channels/dare_updates_channel_spec.rb +61 -61
- package/templates/stacks/ruby-rails-8/spec/channels/user_updates_channel_spec.rb +56 -56
- package/templates/stacks/ruby-rails-8/spec/factories/users.rb +27 -27
- package/templates/stacks/ruby-rails-8/spec/handlers/users_handler_spec.rb +88 -88
- package/templates/stacks/ruby-rails-8/spec/rails_helper.rb +31 -31
- package/templates/stacks/ruby-rails-8/spec/services/create_user_service_spec.rb +88 -88
- package/templates/stacks/ruby-rails-8/spec/services/summarize_document_service_spec.rb +142 -142
- package/templates/stacks/ruby-rails-8/spec/swagger_helper.rb +73 -73
- package/templates/stacks/rust-axum/.dare/skills.yml +11 -11
- package/templates/stacks/rust-axum/.env.example +26 -26
- package/templates/stacks/rust-axum/.github/workflows/dare-ci.yml +40 -40
- package/templates/stacks/rust-axum/Cargo.toml.tera +53 -53
- package/templates/stacks/rust-axum/README.md.tera +37 -37
- package/templates/stacks/rust-axum/gitignore +5 -5
- package/templates/stacks/rust-axum/llms.txt.tera +54 -54
- package/templates/stacks/rust-axum/migrations/0001_create_users.sql +13 -13
- package/templates/stacks/rust-axum/openapi.json.tera +46 -46
- package/templates/stacks/rust-axum/src/config.rs +45 -45
- package/templates/stacks/rust-axum/src/errors.rs +48 -48
- package/templates/stacks/rust-axum/src/handlers/auth.rs +48 -48
- package/templates/stacks/rust-axum/src/handlers/mod.rs +3 -3
- package/templates/stacks/rust-axum/src/handlers/users.rs +81 -81
- package/templates/stacks/rust-axum/src/handlers/ws.rs +24 -24
- package/templates/stacks/rust-axum/src/lib.rs +19 -19
- package/templates/stacks/rust-axum/src/llm/mod.rs +1 -1
- package/templates/stacks/rust-axum/src/llm/provider.rs +48 -48
- package/templates/stacks/rust-axum/src/main.rs.tera +64 -64
- package/templates/stacks/rust-axum/src/middleware/auth.rs +20 -20
- package/templates/stacks/rust-axum/src/middleware/mod.rs +2 -2
- package/templates/stacks/rust-axum/src/middleware/rate_limit.rs +27 -27
- package/templates/stacks/rust-axum/src/models/mod.rs +1 -1
- package/templates/stacks/rust-axum/src/models/user.rs +13 -13
- package/templates/stacks/rust-axum/src/repositories/mod.rs +1 -1
- package/templates/stacks/rust-axum/src/repositories/user_repository.rs +62 -62
- package/templates/stacks/rust-axum/src/services/auth_service.rs +50 -50
- package/templates/stacks/rust-axum/src/services/mod.rs +2 -2
- package/templates/stacks/rust-axum/src/services/user_service.rs +53 -53
- package/templates/stacks/rust-axum/tests/integration_test.rs.tera +13 -13
- package/dist/commands/new.d.ts +0 -16
- package/dist/commands/new.d.ts.map +0 -1
- package/dist/commands/new.js +0 -104
- package/dist/commands/new.js.map +0 -1
|
@@ -1,145 +1,145 @@
|
|
|
1
|
-
# Comando: /dare-refine
|
|
2
|
-
|
|
3
|
-
## Descrição
|
|
4
|
-
|
|
5
|
-
Analisa a complexidade de uma task e, quando alta, **quebra em sub-tasks menores** com escopo bem delimitado. Pode ser chamada:
|
|
6
|
-
|
|
7
|
-
- Automaticamente pela skill `dare-tasks` logo após gerar o DAG (para cada task ≥ MED)
|
|
8
|
-
- Manualmente pelo dev: `/dare-refine task-034`
|
|
9
|
-
- Após mudança de escopo: quando o BLUEPRINT mudou e uma task ficou grande demais
|
|
10
|
-
|
|
11
|
-
A camada determinística (heurística de complexidade) já é feita pelo CLI: `dare refine <id>`. Este comando adiciona a camada **semântica** — você lê a spec, decide se a quebra é necessária e, se for, produz sub-tasks coerentes.
|
|
12
|
-
|
|
13
|
-
## Quando rodar
|
|
14
|
-
|
|
15
|
-
- Logo após `/dare-tasks` para cada task com complexity HIGH no `dare-dag.yaml`
|
|
16
|
-
- Quando o dev pede explicitamente: `/dare-refine task-034`
|
|
17
|
-
- Quando você gerou uma task e ela "te parece grande" mesmo marcada MED — confie no instinto
|
|
18
|
-
|
|
19
|
-
## Como executar
|
|
20
|
-
|
|
21
|
-
### 1. Validar argumento
|
|
22
|
-
|
|
23
|
-
`$ARGUMENTS` deve ter o `task-id`. Se vazio, peça.
|
|
24
|
-
|
|
25
|
-
### 2. Rodar a camada determinística
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
dare refine $ARGUMENTS --split --format json > .dare/refine-$ARGUMENTS.json
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Esse JSON traz:
|
|
32
|
-
- `report.score` e `report.level` (LOW/MED/HIGH/CRITICAL)
|
|
33
|
-
- `report.signals` — explica por que pontuou alto/baixo
|
|
34
|
-
- `report.recommendsSplit` — true se HIGH ou CRITICAL
|
|
35
|
-
- `proposal.subtasks` — quebra inicial baseada em diretórios (chute coarse)
|
|
36
|
-
|
|
37
|
-
### 3. Decidir se vale quebrar
|
|
38
|
-
|
|
39
|
-
Critérios para **quebrar**:
|
|
40
|
-
|
|
41
|
-
- ✅ `recommendsSplit: true` da heurística (HIGH/CRITICAL)
|
|
42
|
-
- ✅ Mais de 6 arquivos a criar/modificar
|
|
43
|
-
- ✅ Mistura responsabilidades fortes (ex.: cria modelo + escreve controller + escreve teste + faz migration — split por camada)
|
|
44
|
-
- ✅ Toca código que outra task ainda não criou (deveria ser depois)
|
|
45
|
-
- ✅ Inclui refactor + feature nova juntos
|
|
46
|
-
- ✅ Tem keyword "pesada" (refactor, migrate, integrate) E score MED+
|
|
47
|
-
|
|
48
|
-
Critérios para **manter inteira**:
|
|
49
|
-
|
|
50
|
-
- ✅ Score LOW e até MED
|
|
51
|
-
- ✅ Todos os arquivos pertencem ao mesmo módulo/feature
|
|
52
|
-
- ✅ Cabe em uma conversa única do agente (15–60 min de trabalho efetivo)
|
|
53
|
-
|
|
54
|
-
### 4. Se decidir quebrar — produzir sub-tasks coerentes
|
|
55
|
-
|
|
56
|
-
Não use a `proposal.subtasks` da CLI sem revisão — ela agrupa por diretório, o que nem sempre faz sentido semantico. **Reagrupe por responsabilidade**:
|
|
57
|
-
|
|
58
|
-
| Eixo de split | Quando aplicar |
|
|
59
|
-
|---|---|
|
|
60
|
-
| **Por camada** | Modelo / Controller / Service / Test ficam em tasks separadas se cada um é grande |
|
|
61
|
-
| **Por endpoint** | Task original tinha 4 endpoints REST → 4 sub-tasks de 1 endpoint cada |
|
|
62
|
-
| **Por feature** | Auth tinha "register + login + refresh + logout" → split por verbo |
|
|
63
|
-
| **Refactor + feature** | Quebra em "1. refactor X para preparar terreno" + "2. adiciona feature Y em cima" |
|
|
64
|
-
| **Migration + código** | "1. migration + seeds" + "2. código que usa o novo schema" |
|
|
65
|
-
|
|
66
|
-
Cada sub-task deve:
|
|
67
|
-
|
|
68
|
-
- Ter `subtask_prompt` auto-suficiente (assinaturas exatas, validações, edge cases — o Anti-Stub Contract aplica)
|
|
69
|
-
- Ter spec_file própria em `DARE/EXECUTION/<sub-id>.md`
|
|
70
|
-
- Ter `depends_on` mínimo mas correto (sub-tasks da mesma família geralmente dependem em ordem)
|
|
71
|
-
- Ter complexity honesta — se a sub ainda ficar HIGH, quebra de novo
|
|
72
|
-
|
|
73
|
-
### 5. Emitir verdito + plano
|
|
74
|
-
|
|
75
|
-
Salve em `.dare/refine-verdict-$ARGUMENTS.json`:
|
|
76
|
-
|
|
77
|
-
```json
|
|
78
|
-
{
|
|
79
|
-
"manageable": false,
|
|
80
|
-
"reasons": [
|
|
81
|
-
"Score 18 (HIGH) — 7 endpoints + migration + 12 testes no mesmo escopo",
|
|
82
|
-
"Mistura refactor de service layer com novos endpoints"
|
|
83
|
-
],
|
|
84
|
-
"proposedSubtasks": [
|
|
85
|
-
{
|
|
86
|
-
"id": "task-034a",
|
|
87
|
-
"title": "Refactor UserService para suportar profile_settings",
|
|
88
|
-
"files": ["src/services/UserService.ts", "tests/services/UserService.test.ts"],
|
|
89
|
-
"rationale": "Refactor isolado antes da feature — gates passam sem mexer em controllers",
|
|
90
|
-
"estimatedLevel": "MED"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"id": "task-034b",
|
|
94
|
-
"title": "Endpoints GET/PATCH /users/me/profile",
|
|
95
|
-
"files": ["src/controllers/profile.ts", "tests/controllers/profile.test.ts"],
|
|
96
|
-
"rationale": "Endpoints novos consumindo o serviço refatorado",
|
|
97
|
-
"estimatedLevel": "MED"
|
|
98
|
-
}
|
|
99
|
-
]
|
|
100
|
-
}
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
Se a task **é** manuseável (não precisa quebrar):
|
|
104
|
-
|
|
105
|
-
```json
|
|
106
|
-
{
|
|
107
|
-
"manageable": true,
|
|
108
|
-
"reasons": ["Score 7 (MED), 4 arquivos no mesmo módulo, 6 testes — cabe em uma conversa"]
|
|
109
|
-
}
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### 6. Aplicar o split
|
|
113
|
-
|
|
114
|
-
Se quebrou:
|
|
115
|
-
|
|
116
|
-
1. **Edite** `DARE/dare-dag.yaml` substituindo a task original pelas sub-tasks
|
|
117
|
-
2. **Crie** as specs novas em `DARE/EXECUTION/<sub-id>.md` (use `templates/TASK-SPEC-template.md` — seguindo o Anti-Stub Contract!)
|
|
118
|
-
3. **Atualize** `DARE/TASKS.md` (visão humana) refletindo a quebra
|
|
119
|
-
4. **Regenere** o Mermaid: `dare dag viz -o DARE/dag-graph.mmd`
|
|
120
|
-
5. **Marque** a task original como SPLIT (não deletar — preservar histórico) ou remover e referenciar no header das sub-tasks
|
|
121
|
-
|
|
122
|
-
### 7. Mensagem ao usuário
|
|
123
|
-
|
|
124
|
-
Se manteve inteira:
|
|
125
|
-
> ✅ Task `$ARGUMENTS` está bem-dimensionada (score X, level Y). Sem split necessário.
|
|
126
|
-
|
|
127
|
-
Se quebrou:
|
|
128
|
-
> 🪓 Task `$ARGUMENTS` quebrada em N sub-task(s):
|
|
129
|
-
> - `<id>a`: <título>
|
|
130
|
-
> - `<id>b`: <título>
|
|
131
|
-
> ...
|
|
132
|
-
>
|
|
133
|
-
> Specs criadas em `DARE/EXECUTION/`. Revise antes de executar:
|
|
134
|
-
> ```bash
|
|
135
|
-
> dare validate # verifica DAG
|
|
136
|
-
> dare dag viz # confirma grafo
|
|
137
|
-
> dare execute --next # roda a primeira sub-task pronta
|
|
138
|
-
> ```
|
|
139
|
-
|
|
140
|
-
## Regras inegociáveis
|
|
141
|
-
|
|
142
|
-
- **Não quebre tasks LOW** — overhead não vale a pena
|
|
143
|
-
- **Não invente dependências** — sub-tasks da mesma família frequentemente são sequenciais, não falsamente paralelas
|
|
144
|
-
- **Cada sub-task precisa ser independentemente testável** — se você precisa rodar A para testar B, A precisa ser parent de B no DAG
|
|
145
|
-
- **Anti-Stub Contract aplica em cada sub-task** — não relaxa critérios só porque é menor
|
|
1
|
+
# Comando: /dare-refine
|
|
2
|
+
|
|
3
|
+
## Descrição
|
|
4
|
+
|
|
5
|
+
Analisa a complexidade de uma task e, quando alta, **quebra em sub-tasks menores** com escopo bem delimitado. Pode ser chamada:
|
|
6
|
+
|
|
7
|
+
- Automaticamente pela skill `dare-tasks` logo após gerar o DAG (para cada task ≥ MED)
|
|
8
|
+
- Manualmente pelo dev: `/dare-refine task-034`
|
|
9
|
+
- Após mudança de escopo: quando o BLUEPRINT mudou e uma task ficou grande demais
|
|
10
|
+
|
|
11
|
+
A camada determinística (heurística de complexidade) já é feita pelo CLI: `dare refine <id>`. Este comando adiciona a camada **semântica** — você lê a spec, decide se a quebra é necessária e, se for, produz sub-tasks coerentes.
|
|
12
|
+
|
|
13
|
+
## Quando rodar
|
|
14
|
+
|
|
15
|
+
- Logo após `/dare-tasks` para cada task com complexity HIGH no `dare-dag.yaml`
|
|
16
|
+
- Quando o dev pede explicitamente: `/dare-refine task-034`
|
|
17
|
+
- Quando você gerou uma task e ela "te parece grande" mesmo marcada MED — confie no instinto
|
|
18
|
+
|
|
19
|
+
## Como executar
|
|
20
|
+
|
|
21
|
+
### 1. Validar argumento
|
|
22
|
+
|
|
23
|
+
`$ARGUMENTS` deve ter o `task-id`. Se vazio, peça.
|
|
24
|
+
|
|
25
|
+
### 2. Rodar a camada determinística
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
dare refine $ARGUMENTS --split --format json > .dare/refine-$ARGUMENTS.json
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Esse JSON traz:
|
|
32
|
+
- `report.score` e `report.level` (LOW/MED/HIGH/CRITICAL)
|
|
33
|
+
- `report.signals` — explica por que pontuou alto/baixo
|
|
34
|
+
- `report.recommendsSplit` — true se HIGH ou CRITICAL
|
|
35
|
+
- `proposal.subtasks` — quebra inicial baseada em diretórios (chute coarse)
|
|
36
|
+
|
|
37
|
+
### 3. Decidir se vale quebrar
|
|
38
|
+
|
|
39
|
+
Critérios para **quebrar**:
|
|
40
|
+
|
|
41
|
+
- ✅ `recommendsSplit: true` da heurística (HIGH/CRITICAL)
|
|
42
|
+
- ✅ Mais de 6 arquivos a criar/modificar
|
|
43
|
+
- ✅ Mistura responsabilidades fortes (ex.: cria modelo + escreve controller + escreve teste + faz migration — split por camada)
|
|
44
|
+
- ✅ Toca código que outra task ainda não criou (deveria ser depois)
|
|
45
|
+
- ✅ Inclui refactor + feature nova juntos
|
|
46
|
+
- ✅ Tem keyword "pesada" (refactor, migrate, integrate) E score MED+
|
|
47
|
+
|
|
48
|
+
Critérios para **manter inteira**:
|
|
49
|
+
|
|
50
|
+
- ✅ Score LOW e até MED
|
|
51
|
+
- ✅ Todos os arquivos pertencem ao mesmo módulo/feature
|
|
52
|
+
- ✅ Cabe em uma conversa única do agente (15–60 min de trabalho efetivo)
|
|
53
|
+
|
|
54
|
+
### 4. Se decidir quebrar — produzir sub-tasks coerentes
|
|
55
|
+
|
|
56
|
+
Não use a `proposal.subtasks` da CLI sem revisão — ela agrupa por diretório, o que nem sempre faz sentido semantico. **Reagrupe por responsabilidade**:
|
|
57
|
+
|
|
58
|
+
| Eixo de split | Quando aplicar |
|
|
59
|
+
|---|---|
|
|
60
|
+
| **Por camada** | Modelo / Controller / Service / Test ficam em tasks separadas se cada um é grande |
|
|
61
|
+
| **Por endpoint** | Task original tinha 4 endpoints REST → 4 sub-tasks de 1 endpoint cada |
|
|
62
|
+
| **Por feature** | Auth tinha "register + login + refresh + logout" → split por verbo |
|
|
63
|
+
| **Refactor + feature** | Quebra em "1. refactor X para preparar terreno" + "2. adiciona feature Y em cima" |
|
|
64
|
+
| **Migration + código** | "1. migration + seeds" + "2. código que usa o novo schema" |
|
|
65
|
+
|
|
66
|
+
Cada sub-task deve:
|
|
67
|
+
|
|
68
|
+
- Ter `subtask_prompt` auto-suficiente (assinaturas exatas, validações, edge cases — o Anti-Stub Contract aplica)
|
|
69
|
+
- Ter spec_file própria em `DARE/EXECUTION/<sub-id>.md`
|
|
70
|
+
- Ter `depends_on` mínimo mas correto (sub-tasks da mesma família geralmente dependem em ordem)
|
|
71
|
+
- Ter complexity honesta — se a sub ainda ficar HIGH, quebra de novo
|
|
72
|
+
|
|
73
|
+
### 5. Emitir verdito + plano
|
|
74
|
+
|
|
75
|
+
Salve em `.dare/refine-verdict-$ARGUMENTS.json`:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"manageable": false,
|
|
80
|
+
"reasons": [
|
|
81
|
+
"Score 18 (HIGH) — 7 endpoints + migration + 12 testes no mesmo escopo",
|
|
82
|
+
"Mistura refactor de service layer com novos endpoints"
|
|
83
|
+
],
|
|
84
|
+
"proposedSubtasks": [
|
|
85
|
+
{
|
|
86
|
+
"id": "task-034a",
|
|
87
|
+
"title": "Refactor UserService para suportar profile_settings",
|
|
88
|
+
"files": ["src/services/UserService.ts", "tests/services/UserService.test.ts"],
|
|
89
|
+
"rationale": "Refactor isolado antes da feature — gates passam sem mexer em controllers",
|
|
90
|
+
"estimatedLevel": "MED"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "task-034b",
|
|
94
|
+
"title": "Endpoints GET/PATCH /users/me/profile",
|
|
95
|
+
"files": ["src/controllers/profile.ts", "tests/controllers/profile.test.ts"],
|
|
96
|
+
"rationale": "Endpoints novos consumindo o serviço refatorado",
|
|
97
|
+
"estimatedLevel": "MED"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Se a task **é** manuseável (não precisa quebrar):
|
|
104
|
+
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"manageable": true,
|
|
108
|
+
"reasons": ["Score 7 (MED), 4 arquivos no mesmo módulo, 6 testes — cabe em uma conversa"]
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 6. Aplicar o split
|
|
113
|
+
|
|
114
|
+
Se quebrou:
|
|
115
|
+
|
|
116
|
+
1. **Edite** `DARE/dare-dag.yaml` substituindo a task original pelas sub-tasks
|
|
117
|
+
2. **Crie** as specs novas em `DARE/EXECUTION/<sub-id>.md` (use `templates/TASK-SPEC-template.md` — seguindo o Anti-Stub Contract!)
|
|
118
|
+
3. **Atualize** `DARE/TASKS.md` (visão humana) refletindo a quebra
|
|
119
|
+
4. **Regenere** o Mermaid: `dare dag viz -o DARE/dag-graph.mmd`
|
|
120
|
+
5. **Marque** a task original como SPLIT (não deletar — preservar histórico) ou remover e referenciar no header das sub-tasks
|
|
121
|
+
|
|
122
|
+
### 7. Mensagem ao usuário
|
|
123
|
+
|
|
124
|
+
Se manteve inteira:
|
|
125
|
+
> ✅ Task `$ARGUMENTS` está bem-dimensionada (score X, level Y). Sem split necessário.
|
|
126
|
+
|
|
127
|
+
Se quebrou:
|
|
128
|
+
> 🪓 Task `$ARGUMENTS` quebrada em N sub-task(s):
|
|
129
|
+
> - `<id>a`: <título>
|
|
130
|
+
> - `<id>b`: <título>
|
|
131
|
+
> ...
|
|
132
|
+
>
|
|
133
|
+
> Specs criadas em `DARE/EXECUTION/`. Revise antes de executar:
|
|
134
|
+
> ```bash
|
|
135
|
+
> dare validate # verifica DAG
|
|
136
|
+
> dare dag viz # confirma grafo
|
|
137
|
+
> dare execute --next # roda a primeira sub-task pronta
|
|
138
|
+
> ```
|
|
139
|
+
|
|
140
|
+
## Regras inegociáveis
|
|
141
|
+
|
|
142
|
+
- **Não quebre tasks LOW** — overhead não vale a pena
|
|
143
|
+
- **Não invente dependências** — sub-tasks da mesma família frequentemente são sequenciais, não falsamente paralelas
|
|
144
|
+
- **Cada sub-task precisa ser independentemente testável** — se você precisa rodar A para testar B, A precisa ser parent de B no DAG
|
|
145
|
+
- **Anti-Stub Contract aplica em cada sub-task** — não relaxa critérios só porque é menor
|
|
@@ -1,139 +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
|
+
# /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`.
|