@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,139 +1,139 @@
|
|
|
1
|
-
# Comando: /dare-dag-viz
|
|
2
|
-
|
|
3
|
-
## Descrição
|
|
4
|
-
|
|
5
|
-
Gera diagrama interativo `.excalidraw` a partir do `DARE/dare-dag.yaml` atual. Cada task vira um retângulo com cor baseada em complexidade e status visual, agrupado em colunas verticais (swim lanes) por rank, com setas conectando dependências.
|
|
6
|
-
|
|
7
|
-
## Instruções para o Cursor Composer
|
|
8
|
-
|
|
9
|
-
1. **Leia o DAG:** Abra `DARE/dare-dag.yaml`. Valide sintaxe YAML. Extraia tasks, complexidade, dependências e status.
|
|
10
|
-
|
|
11
|
-
2. **Leia a skill de visualização:** Consulte `.cursor/rules/skill-dag-viz.mdc` (se existir) para convenções visuais e tokens de design.
|
|
12
|
-
|
|
13
|
-
3. **Calcule ranks:**
|
|
14
|
-
- Tasks sem `depends_on` → rank 1
|
|
15
|
-
- Demais: rank = 1 + max(rank das dependências)
|
|
16
|
-
- Agrupe por rank para formar swim lanes verticais
|
|
17
|
-
|
|
18
|
-
4. **Gere elementos Excalidraw:**
|
|
19
|
-
- Para cada task, crie retângulo 120×60px:
|
|
20
|
-
- Cor de fundo por `complexity`:
|
|
21
|
-
- LOW → azul `#e3f2fd`, stroke `#1976d2`
|
|
22
|
-
- MEDIUM → laranja `#fff3e0`, stroke `#f57c00`
|
|
23
|
-
- HIGH → rosa `#fce4ec`, stroke `#c2185b`
|
|
24
|
-
- Stroke por `status`:
|
|
25
|
-
- PENDING → linha sólida cinza padrão
|
|
26
|
-
- RUNNING → linha pontilhada azul
|
|
27
|
-
- DONE → linha sólida verde `#388e3c`
|
|
28
|
-
- FAILED → linha sólida vermelha `#d32f2f`
|
|
29
|
-
- Texto: `task-id\ntask-name\n[COMPLEXITY]`
|
|
30
|
-
- Para cada dependência em `depends_on`, crie seta de source → target, stroke cinza `#999`.
|
|
31
|
-
|
|
32
|
-
5. **Posicione elementos:**
|
|
33
|
-
- X = 20 + (taskIndex_no_rank × 140)
|
|
34
|
-
- Y = 20 + (rank − 1) × 160
|
|
35
|
-
|
|
36
|
-
6. **Salve:** Escreva resultado em `DARE/dag-graph.excalidraw` no formato JSON Excalidraw 2.x.
|
|
37
|
-
|
|
38
|
-
7. **Mensagem final:**
|
|
39
|
-
```
|
|
40
|
-
DAG gerado: DARE/dag-graph.excalidraw
|
|
41
|
-
Abra em https://excalidraw.com (File → Open) para visualizar e editar.
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Estrutura JSON Excalidraw esperada
|
|
45
|
-
|
|
46
|
-
```json
|
|
47
|
-
{
|
|
48
|
-
"type": "excalidraw",
|
|
49
|
-
"version": 2,
|
|
50
|
-
"source": "dare-dag-viz",
|
|
51
|
-
"elements": [
|
|
52
|
-
{
|
|
53
|
-
"id": "task-001",
|
|
54
|
-
"type": "rectangle",
|
|
55
|
-
"x": 20, "y": 20,
|
|
56
|
-
"width": 120, "height": 60,
|
|
57
|
-
"backgroundColor": "#e3f2fd",
|
|
58
|
-
"strokeColor": "#1976d2",
|
|
59
|
-
"strokeStyle": "solid",
|
|
60
|
-
"fillStyle": "solid",
|
|
61
|
-
"roundness": { "type": 2, "value": 6 }
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"type": "text",
|
|
65
|
-
"x": 25, "y": 25,
|
|
66
|
-
"text": "task-001\nSetup Auth\n[LOW]",
|
|
67
|
-
"fontSize": 12,
|
|
68
|
-
"containerId": "task-001"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"type": "arrow",
|
|
72
|
-
"startBinding": { "elementId": "task-001" },
|
|
73
|
-
"endBinding": { "elementId": "task-003" },
|
|
74
|
-
"strokeColor": "#999"
|
|
75
|
-
}
|
|
76
|
-
],
|
|
77
|
-
"appState": {
|
|
78
|
-
"gridMode": "grid",
|
|
79
|
-
"gridSize": 20
|
|
80
|
-
},
|
|
81
|
-
"files": {}
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Campos esperados em `dare-dag.yaml`
|
|
86
|
-
|
|
87
|
-
```yaml
|
|
88
|
-
tasks:
|
|
89
|
-
task-001:
|
|
90
|
-
name: "Setup Auth"
|
|
91
|
-
complexity: "LOW" # LOW | MEDIUM | HIGH
|
|
92
|
-
rank: 1 # opcional (calculado se ausente)
|
|
93
|
-
depends_on: [] # default []
|
|
94
|
-
status: "DONE" # PENDING | RUNNING | DONE | FAILED (default PENDING)
|
|
95
|
-
subtask_prompt: "..." # opcional
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**Obrigatórios:** `name`, `complexity`.
|
|
99
|
-
**Opcionais:** `rank`, `depends_on`, `status`.
|
|
100
|
-
|
|
101
|
-
## Como abrir o resultado
|
|
102
|
-
|
|
103
|
-
1. Acesse https://excalidraw.com
|
|
104
|
-
2. File → Open → selecione `DARE/dag-graph.excalidraw`
|
|
105
|
-
3. Edite livremente (mover, colorir, anotar)
|
|
106
|
-
4. Salve no mesmo arquivo
|
|
107
|
-
|
|
108
|
-
## Atualizar após mudanças
|
|
109
|
-
|
|
110
|
-
Sempre que `dare-dag.yaml` for modificado, rode `/dag-viz` para regenerar.
|
|
111
|
-
|
|
112
|
-
> Dica: faça backup se editou manualmente — a regeneração sobrescreve.
|
|
113
|
-
|
|
114
|
-
## Troubleshooting
|
|
115
|
-
|
|
116
|
-
- **"File not found: DARE/dare-dag.yaml"** — projeto não tem DAG. Rode `/generate-tasks` primeiro para gerá-lo.
|
|
117
|
-
- **"JSON inválido"** — valide com `dare dag validate` (se CLI disponível) ou inspecione manualmente.
|
|
118
|
-
- **Diagrama muito grande** — abra em Excalidraw e ajuste com Ctrl+Mouse / pinch zoom.
|
|
119
|
-
|
|
120
|
-
## Convenções visuais
|
|
121
|
-
|
|
122
|
-
- **Azul** (`#e3f2fd`) = LOW complexity
|
|
123
|
-
- **Laranja** (`#fff3e0`) = MEDIUM
|
|
124
|
-
- **Rosa** (`#fce4ec`) = HIGH
|
|
125
|
-
- **Verde** (`#388e3c`) = DONE
|
|
126
|
-
- **Vermelho** (`#d32f2f`) = FAILED
|
|
127
|
-
- **Pontilhado azul** = RUNNING
|
|
128
|
-
- **Cinza padrão** = PENDING
|
|
129
|
-
|
|
130
|
-
## Próximos passos
|
|
131
|
-
|
|
132
|
-
- Exporte para PNG no Excalidraw para incluir em README ou PR
|
|
133
|
-
- Compartilhe o link colaborativo do Excalidraw com stakeholders
|
|
134
|
-
- Atualize após cada `/generate-tasks` ou `/run-dag`
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
Skill MIT — parte do DARE Method.
|
|
139
|
-
Inspiração: [Excalidraw Diagram Skill](https://github.com/coleam00/excalidraw-diagram-skill) por Cole Medin.
|
|
1
|
+
# Comando: /dare-dag-viz
|
|
2
|
+
|
|
3
|
+
## Descrição
|
|
4
|
+
|
|
5
|
+
Gera diagrama interativo `.excalidraw` a partir do `DARE/dare-dag.yaml` atual. Cada task vira um retângulo com cor baseada em complexidade e status visual, agrupado em colunas verticais (swim lanes) por rank, com setas conectando dependências.
|
|
6
|
+
|
|
7
|
+
## Instruções para o Cursor Composer
|
|
8
|
+
|
|
9
|
+
1. **Leia o DAG:** Abra `DARE/dare-dag.yaml`. Valide sintaxe YAML. Extraia tasks, complexidade, dependências e status.
|
|
10
|
+
|
|
11
|
+
2. **Leia a skill de visualização:** Consulte `.cursor/rules/skill-dag-viz.mdc` (se existir) para convenções visuais e tokens de design.
|
|
12
|
+
|
|
13
|
+
3. **Calcule ranks:**
|
|
14
|
+
- Tasks sem `depends_on` → rank 1
|
|
15
|
+
- Demais: rank = 1 + max(rank das dependências)
|
|
16
|
+
- Agrupe por rank para formar swim lanes verticais
|
|
17
|
+
|
|
18
|
+
4. **Gere elementos Excalidraw:**
|
|
19
|
+
- Para cada task, crie retângulo 120×60px:
|
|
20
|
+
- Cor de fundo por `complexity`:
|
|
21
|
+
- LOW → azul `#e3f2fd`, stroke `#1976d2`
|
|
22
|
+
- MEDIUM → laranja `#fff3e0`, stroke `#f57c00`
|
|
23
|
+
- HIGH → rosa `#fce4ec`, stroke `#c2185b`
|
|
24
|
+
- Stroke por `status`:
|
|
25
|
+
- PENDING → linha sólida cinza padrão
|
|
26
|
+
- RUNNING → linha pontilhada azul
|
|
27
|
+
- DONE → linha sólida verde `#388e3c`
|
|
28
|
+
- FAILED → linha sólida vermelha `#d32f2f`
|
|
29
|
+
- Texto: `task-id\ntask-name\n[COMPLEXITY]`
|
|
30
|
+
- Para cada dependência em `depends_on`, crie seta de source → target, stroke cinza `#999`.
|
|
31
|
+
|
|
32
|
+
5. **Posicione elementos:**
|
|
33
|
+
- X = 20 + (taskIndex_no_rank × 140)
|
|
34
|
+
- Y = 20 + (rank − 1) × 160
|
|
35
|
+
|
|
36
|
+
6. **Salve:** Escreva resultado em `DARE/dag-graph.excalidraw` no formato JSON Excalidraw 2.x.
|
|
37
|
+
|
|
38
|
+
7. **Mensagem final:**
|
|
39
|
+
```
|
|
40
|
+
DAG gerado: DARE/dag-graph.excalidraw
|
|
41
|
+
Abra em https://excalidraw.com (File → Open) para visualizar e editar.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Estrutura JSON Excalidraw esperada
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"type": "excalidraw",
|
|
49
|
+
"version": 2,
|
|
50
|
+
"source": "dare-dag-viz",
|
|
51
|
+
"elements": [
|
|
52
|
+
{
|
|
53
|
+
"id": "task-001",
|
|
54
|
+
"type": "rectangle",
|
|
55
|
+
"x": 20, "y": 20,
|
|
56
|
+
"width": 120, "height": 60,
|
|
57
|
+
"backgroundColor": "#e3f2fd",
|
|
58
|
+
"strokeColor": "#1976d2",
|
|
59
|
+
"strokeStyle": "solid",
|
|
60
|
+
"fillStyle": "solid",
|
|
61
|
+
"roundness": { "type": 2, "value": 6 }
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"type": "text",
|
|
65
|
+
"x": 25, "y": 25,
|
|
66
|
+
"text": "task-001\nSetup Auth\n[LOW]",
|
|
67
|
+
"fontSize": 12,
|
|
68
|
+
"containerId": "task-001"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "arrow",
|
|
72
|
+
"startBinding": { "elementId": "task-001" },
|
|
73
|
+
"endBinding": { "elementId": "task-003" },
|
|
74
|
+
"strokeColor": "#999"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"appState": {
|
|
78
|
+
"gridMode": "grid",
|
|
79
|
+
"gridSize": 20
|
|
80
|
+
},
|
|
81
|
+
"files": {}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Campos esperados em `dare-dag.yaml`
|
|
86
|
+
|
|
87
|
+
```yaml
|
|
88
|
+
tasks:
|
|
89
|
+
task-001:
|
|
90
|
+
name: "Setup Auth"
|
|
91
|
+
complexity: "LOW" # LOW | MEDIUM | HIGH
|
|
92
|
+
rank: 1 # opcional (calculado se ausente)
|
|
93
|
+
depends_on: [] # default []
|
|
94
|
+
status: "DONE" # PENDING | RUNNING | DONE | FAILED (default PENDING)
|
|
95
|
+
subtask_prompt: "..." # opcional
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Obrigatórios:** `name`, `complexity`.
|
|
99
|
+
**Opcionais:** `rank`, `depends_on`, `status`.
|
|
100
|
+
|
|
101
|
+
## Como abrir o resultado
|
|
102
|
+
|
|
103
|
+
1. Acesse https://excalidraw.com
|
|
104
|
+
2. File → Open → selecione `DARE/dag-graph.excalidraw`
|
|
105
|
+
3. Edite livremente (mover, colorir, anotar)
|
|
106
|
+
4. Salve no mesmo arquivo
|
|
107
|
+
|
|
108
|
+
## Atualizar após mudanças
|
|
109
|
+
|
|
110
|
+
Sempre que `dare-dag.yaml` for modificado, rode `/dag-viz` para regenerar.
|
|
111
|
+
|
|
112
|
+
> Dica: faça backup se editou manualmente — a regeneração sobrescreve.
|
|
113
|
+
|
|
114
|
+
## Troubleshooting
|
|
115
|
+
|
|
116
|
+
- **"File not found: DARE/dare-dag.yaml"** — projeto não tem DAG. Rode `/generate-tasks` primeiro para gerá-lo.
|
|
117
|
+
- **"JSON inválido"** — valide com `dare dag validate` (se CLI disponível) ou inspecione manualmente.
|
|
118
|
+
- **Diagrama muito grande** — abra em Excalidraw e ajuste com Ctrl+Mouse / pinch zoom.
|
|
119
|
+
|
|
120
|
+
## Convenções visuais
|
|
121
|
+
|
|
122
|
+
- **Azul** (`#e3f2fd`) = LOW complexity
|
|
123
|
+
- **Laranja** (`#fff3e0`) = MEDIUM
|
|
124
|
+
- **Rosa** (`#fce4ec`) = HIGH
|
|
125
|
+
- **Verde** (`#388e3c`) = DONE
|
|
126
|
+
- **Vermelho** (`#d32f2f`) = FAILED
|
|
127
|
+
- **Pontilhado azul** = RUNNING
|
|
128
|
+
- **Cinza padrão** = PENDING
|
|
129
|
+
|
|
130
|
+
## Próximos passos
|
|
131
|
+
|
|
132
|
+
- Exporte para PNG no Excalidraw para incluir em README ou PR
|
|
133
|
+
- Compartilhe o link colaborativo do Excalidraw com stakeholders
|
|
134
|
+
- Atualize após cada `/generate-tasks` ou `/run-dag`
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
Skill MIT — parte do DARE Method.
|
|
139
|
+
Inspiração: [Excalidraw Diagram Skill](https://github.com/coleam00/excalidraw-diagram-skill) por Cole Medin.
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# Comando: /dare-dag
|
|
2
|
-
|
|
3
|
-
Mostra o DAG estático de tasks (`DARE/dare-dag.yaml`): ranks, dependências e caminho crítico. Use `dare dag viz` para exportar o diagrama.
|
|
4
|
-
|
|
5
|
-
> Este comando expõe o CLI `dare dag` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
6
|
-
|
|
7
|
-
## Quando usar
|
|
8
|
-
|
|
9
|
-
- Você quer ver a ordem de execução, os ranks e o caminho crítico das tasks.
|
|
10
|
-
- Antes de começar a execução, para conferir a topologia do plano.
|
|
11
|
-
|
|
12
|
-
## Como rodar
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
dare dag viz
|
|
16
|
-
dare dag viz --dag DARE/dare-dag.yaml
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## O que fazer
|
|
20
|
-
|
|
21
|
-
1. Rode `dare dag viz` para renderizar o grafo de tasks.
|
|
22
|
-
2. Confira ranks e dependências; tasks de mesmo rank podem rodar em paralelo.
|
|
23
|
-
3. Para validar a integridade do arquivo, use `/dare-validate`. Para executar, `/dare-execute`.
|
|
24
|
-
|
|
25
|
-
## Comandos relacionados
|
|
26
|
-
|
|
27
|
-
`/dare-validate` · `/dare-execute` · `/dare-graph`
|
|
1
|
+
# Comando: /dare-dag
|
|
2
|
+
|
|
3
|
+
Mostra o DAG estático de tasks (`DARE/dare-dag.yaml`): ranks, dependências e caminho crítico. Use `dare dag viz` para exportar o diagrama.
|
|
4
|
+
|
|
5
|
+
> Este comando expõe o CLI `dare dag` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
6
|
+
|
|
7
|
+
## Quando usar
|
|
8
|
+
|
|
9
|
+
- Você quer ver a ordem de execução, os ranks e o caminho crítico das tasks.
|
|
10
|
+
- Antes de começar a execução, para conferir a topologia do plano.
|
|
11
|
+
|
|
12
|
+
## Como rodar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
dare dag viz
|
|
16
|
+
dare dag viz --dag DARE/dare-dag.yaml
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## O que fazer
|
|
20
|
+
|
|
21
|
+
1. Rode `dare dag viz` para renderizar o grafo de tasks.
|
|
22
|
+
2. Confira ranks e dependências; tasks de mesmo rank podem rodar em paralelo.
|
|
23
|
+
3. Para validar a integridade do arquivo, use `/dare-validate`. Para executar, `/dare-execute`.
|
|
24
|
+
|
|
25
|
+
## Comandos relacionados
|
|
26
|
+
|
|
27
|
+
`/dare-validate` · `/dare-execute` · `/dare-graph`
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# Comando: /dare-design
|
|
2
|
-
|
|
3
|
-
## Descrição
|
|
4
|
-
Inicia o Método DARE (fase Design) gerando `DARE/DESIGN.md` a partir de uma ideia inicial.
|
|
5
|
-
|
|
6
|
-
## Instruções para o Cursor Composer
|
|
7
|
-
|
|
8
|
-
1. **Leia o contexto:** `package.json` / `Cargo.toml` / `composer.json` / `go.mod` / `requirements.txt` para identificar a stack atual. Leia `.cursorrules` para entender padrões do projeto. Se `DARE/DESIGN.md` já existir, não sobrescreva sem aprovação explícita.
|
|
9
|
-
|
|
10
|
-
2. **Leia o template:** `templates/DESIGN-template.md` — siga a estrutura fielmente.
|
|
11
|
-
|
|
12
|
-
3. **Gere `DARE/DESIGN.md` com as seções obrigatórias:**
|
|
13
|
-
|
|
14
|
-
- **Descrição** — 3 a 5 frases: o que é, qual problema resolve, quem usa
|
|
15
|
-
- **Objetivos e Métricas de Sucesso** — tabela numerada (O-01, O-02…) com métrica verificável e meta numérica
|
|
16
|
-
- **Stakeholders** — tabela: papel, time, interesse principal
|
|
17
|
-
- **Requisitos Funcionais** — tabela numerada (RF-01, RF-02…) com prioridade MUST/SHOULD/COULD e critério de aceite
|
|
18
|
-
- **Requisitos Não-Funcionais** — tabela numerada (RNF-01…): performance, disponibilidade, segurança, observabilidade, manutenibilidade
|
|
19
|
-
- **Requisitos de Segurança** — tabela numerada (RS-01…). **Sempre inclua:**
|
|
20
|
-
- RS-01: validação de entrada no servidor (OWASP A03)
|
|
21
|
-
- RS-02: hash de senhas / proteção de dados sensíveis (OWASP A02)
|
|
22
|
-
- RS-03: controle de acesso por recurso (OWASP A01)
|
|
23
|
-
- RS-04: auditoria de dependências sem CVE HIGH/CRITICAL (OWASP A06)
|
|
24
|
-
- RS-05: secrets via variáveis de ambiente — nunca em código
|
|
25
|
-
- Requisitos específicos do domínio do projeto
|
|
26
|
-
- **Stack Técnica** — tabela por camada com versões fixas
|
|
27
|
-
- **Integrações Externas** — tabela: sistema, tipo, protocolo, direção, dados, responsável
|
|
28
|
-
- **Restrições** — prazo, orçamento, técnicas, compliance
|
|
29
|
-
- **Fora do Escopo (v1)** — lista explícita
|
|
30
|
-
- **Riscos e Mitigações** — tabela com probabilidade, impacto e mitigação concreta
|
|
31
|
-
- **Checklist de Aprovação** — checkboxes para revisão humana
|
|
32
|
-
|
|
33
|
-
4. **Qualidade:** O DESIGN.md deve responder claramente: O QUÊ, POR QUÊ, PARA QUEM, O QUE NÃO e QUAIS RISCOS. Use "[A definir]" para informações não disponíveis, mas nunca omita seções.
|
|
34
|
-
|
|
35
|
-
5. **Salve** `DARE/DESIGN.md` e informe: _"DESIGN.md gerado. Revise as seções, especialmente os Requisitos de Segurança (RS-*) e Riscos. Quando aprovado, execute `/generate-blueprint`."_
|
|
1
|
+
# Comando: /dare-design
|
|
2
|
+
|
|
3
|
+
## Descrição
|
|
4
|
+
Inicia o Método DARE (fase Design) gerando `DARE/DESIGN.md` a partir de uma ideia inicial.
|
|
5
|
+
|
|
6
|
+
## Instruções para o Cursor Composer
|
|
7
|
+
|
|
8
|
+
1. **Leia o contexto:** `package.json` / `Cargo.toml` / `composer.json` / `go.mod` / `requirements.txt` para identificar a stack atual. Leia `.cursorrules` para entender padrões do projeto. Se `DARE/DESIGN.md` já existir, não sobrescreva sem aprovação explícita.
|
|
9
|
+
|
|
10
|
+
2. **Leia o template:** `templates/DESIGN-template.md` — siga a estrutura fielmente.
|
|
11
|
+
|
|
12
|
+
3. **Gere `DARE/DESIGN.md` com as seções obrigatórias:**
|
|
13
|
+
|
|
14
|
+
- **Descrição** — 3 a 5 frases: o que é, qual problema resolve, quem usa
|
|
15
|
+
- **Objetivos e Métricas de Sucesso** — tabela numerada (O-01, O-02…) com métrica verificável e meta numérica
|
|
16
|
+
- **Stakeholders** — tabela: papel, time, interesse principal
|
|
17
|
+
- **Requisitos Funcionais** — tabela numerada (RF-01, RF-02…) com prioridade MUST/SHOULD/COULD e critério de aceite
|
|
18
|
+
- **Requisitos Não-Funcionais** — tabela numerada (RNF-01…): performance, disponibilidade, segurança, observabilidade, manutenibilidade
|
|
19
|
+
- **Requisitos de Segurança** — tabela numerada (RS-01…). **Sempre inclua:**
|
|
20
|
+
- RS-01: validação de entrada no servidor (OWASP A03)
|
|
21
|
+
- RS-02: hash de senhas / proteção de dados sensíveis (OWASP A02)
|
|
22
|
+
- RS-03: controle de acesso por recurso (OWASP A01)
|
|
23
|
+
- RS-04: auditoria de dependências sem CVE HIGH/CRITICAL (OWASP A06)
|
|
24
|
+
- RS-05: secrets via variáveis de ambiente — nunca em código
|
|
25
|
+
- Requisitos específicos do domínio do projeto
|
|
26
|
+
- **Stack Técnica** — tabela por camada com versões fixas
|
|
27
|
+
- **Integrações Externas** — tabela: sistema, tipo, protocolo, direção, dados, responsável
|
|
28
|
+
- **Restrições** — prazo, orçamento, técnicas, compliance
|
|
29
|
+
- **Fora do Escopo (v1)** — lista explícita
|
|
30
|
+
- **Riscos e Mitigações** — tabela com probabilidade, impacto e mitigação concreta
|
|
31
|
+
- **Checklist de Aprovação** — checkboxes para revisão humana
|
|
32
|
+
|
|
33
|
+
4. **Qualidade:** O DESIGN.md deve responder claramente: O QUÊ, POR QUÊ, PARA QUEM, O QUE NÃO e QUAIS RISCOS. Use "[A definir]" para informações não disponíveis, mas nunca omita seções.
|
|
34
|
+
|
|
35
|
+
5. **Salve** `DARE/DESIGN.md` e informe: _"DESIGN.md gerado. Revise as seções, especialmente os Requisitos de Segurança (RS-*) e Riscos. Quando aprovado, execute `/generate-blueprint`."_
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
# Comando: /dare-discover
|
|
2
|
-
|
|
3
|
-
Detecta a stack de um projeto já existente (brownfield) e instala os arquivos da metodologia DARE — incluindo os comandos/skills de IDE — sem tocar no código.
|
|
4
|
-
|
|
5
|
-
> Este comando expõe o CLI `dare discover` 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 adotar o DARE em um repositório que **já existe**.
|
|
10
|
-
- Para entender/documentar o legado em profundidade depois, encadeie com `/dare-reverse` e `/dare-dna`.
|
|
11
|
-
|
|
12
|
-
## Como rodar
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
dare discover
|
|
16
|
-
dare discover --dir ./caminho/do/projeto
|
|
17
|
-
dare discover --check # só mostra a detecção, sem instalar nada
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## O que fazer
|
|
21
|
-
|
|
22
|
-
1. Rode `dare discover --check` primeiro para revisar a stack detectada.
|
|
23
|
-
2. Se a detecção estiver correta, rode `dare discover` para instalar os artefatos DARE + comandos de IDE.
|
|
24
|
-
3. Próximo passo: `/dare-reverse` (Fase 0 — coleta) e `/dare-dna` (convenções).
|
|
25
|
-
|
|
26
|
-
## Comandos relacionados
|
|
27
|
-
|
|
28
|
-
`/dare-reverse` · `/dare-dna` · `/dare-migrate`
|
|
1
|
+
# Comando: /dare-discover
|
|
2
|
+
|
|
3
|
+
Detecta a stack de um projeto já existente (brownfield) e instala os arquivos da metodologia DARE — incluindo os comandos/skills de IDE — sem tocar no código.
|
|
4
|
+
|
|
5
|
+
> Este comando expõe o CLI `dare discover` 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 adotar o DARE em um repositório que **já existe**.
|
|
10
|
+
- Para entender/documentar o legado em profundidade depois, encadeie com `/dare-reverse` e `/dare-dna`.
|
|
11
|
+
|
|
12
|
+
## Como rodar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
dare discover
|
|
16
|
+
dare discover --dir ./caminho/do/projeto
|
|
17
|
+
dare discover --check # só mostra a detecção, sem instalar nada
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## O que fazer
|
|
21
|
+
|
|
22
|
+
1. Rode `dare discover --check` primeiro para revisar a stack detectada.
|
|
23
|
+
2. Se a detecção estiver correta, rode `dare discover` para instalar os artefatos DARE + comandos de IDE.
|
|
24
|
+
3. Próximo passo: `/dare-reverse` (Fase 0 — coleta) e `/dare-dna` (convenções).
|
|
25
|
+
|
|
26
|
+
## Comandos relacionados
|
|
27
|
+
|
|
28
|
+
`/dare-reverse` · `/dare-dna` · `/dare-migrate`
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
# Comando: /dare-dna
|
|
2
|
-
|
|
3
|
-
Camada semântica da extração de DNA do projeto. Roda **depois** do comando `dare dna`, que já varreu
|
|
4
|
-
o código e extraiu os fatos de convenção. Sua função é **transformar fatos em regras acionáveis** —
|
|
5
|
-
o "como esse codebase faz as coisas" que uma nova feature deve respeitar.
|
|
6
|
-
|
|
7
|
-
## Como usar
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
/dare-dna # preenche o PROJECT-DNA.md gerado por `dare dna`
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
> Pré-requisito: rodar `dare dna` antes (gera `DARE/PROJECT-DNA.md` e `DARE/dna-facts.json`).
|
|
14
|
-
> Se não existirem, instrua o usuário a rodar `dare dna` primeiro.
|
|
15
|
-
|
|
16
|
-
## Quando usar
|
|
17
|
-
|
|
18
|
-
- Projeto **legado** que vai adotar o DARE para novas features, sem reescrever o existente.
|
|
19
|
-
- Acabou de rodar `dare dna` e o `PROJECT-DNA.md` tem seções `<!-- AGENT -->` em aberto.
|
|
20
|
-
- O objetivo é um **ruleset** que faça o agente seguir o padrão da casa, não o default genérico.
|
|
21
|
-
|
|
22
|
-
## O que fazer
|
|
23
|
-
|
|
24
|
-
### 1. Carregar os fatos (não re-varrer tudo)
|
|
25
|
-
|
|
26
|
-
- Leia `DARE/dna-facts.json` — fonte determinística (tooling, naming, camadas, testes, libs, commits).
|
|
27
|
-
- Abra **2-5 arquivos representativos por camada** (um controller, um service, um model, um teste) para
|
|
28
|
-
inferir os padrões que o CLI não detecta (tratamento de erro, validação, estilo de teste).
|
|
29
|
-
|
|
30
|
-
### 2. Preencher `DARE/PROJECT-DNA.md`
|
|
31
|
-
|
|
32
|
-
Substitua cada bloco `<!-- AGENT: ... -->`:
|
|
33
|
-
|
|
34
|
-
- **Convenções de Nomenclatura** — confirme o estilo detectado e documente exceções (ex.: componentes
|
|
35
|
-
em PascalCase, utilitários em kebab).
|
|
36
|
-
- **Arquitetura & Camadas** — nomeie o padrão com confiança (MVC / Layered / Hexagonal) e escreva as
|
|
37
|
-
**regras de onde cada coisa mora** (ex.: "controllers só orquestram; regra de negócio vai em services;
|
|
38
|
-
acesso a dados só em repositories").
|
|
39
|
-
- **Padrões de Teste** — onde os testes ficam, naming, assertions reais (não `expect(true)`), uso de
|
|
40
|
-
mocks/fixtures.
|
|
41
|
-
- **Tratamento de Erros & Validação** — como o projeto trata erros (exceptions, Result/Either, try/catch)
|
|
42
|
-
e valida inputs. Dê **exemplos concretos** do código real.
|
|
43
|
-
- **Regras de Ouro do Projeto** — liste o que **SEMPRE** e o que **NUNCA** fazer neste codebase.
|
|
44
|
-
- **⚠️ Incertezas / Inconsistências** — convenções ambíguas/misturadas que o humano precisa decidir.
|
|
45
|
-
|
|
46
|
-
**Não toque** nos fatos determinísticos já preenchidos pelo CLI (tooling, tabela de naming, libs).
|
|
47
|
-
|
|
48
|
-
### 3. Apresentar ao usuário
|
|
49
|
-
|
|
50
|
-
Resumo: arquitetura nomeada, principais regras de ouro, inconsistências encontradas. Reforce que o
|
|
51
|
-
`PROJECT-DNA.md` vira referência para `/dare-feature-design` e `/dare-execute` respeitarem o legado.
|
|
52
|
-
|
|
53
|
-
## Regras de ouro
|
|
54
|
-
|
|
55
|
-
1. **Descritivo, não aspiracional** — documente como o código É, não como deveria ser.
|
|
56
|
-
2. **Exemplos reais** — cite arquivos/trechos do próprio projeto nas regras.
|
|
57
|
-
3. **Sinalize inconsistência** — se o legado mistura padrões, diga isso em "⚠️ Incertezas", não invente um padrão único.
|
|
58
|
-
4. **Não re-varra** — os fatos já estão em `dna-facts.json`.
|
|
59
|
-
5. **Preserve o determinístico** — não reescreva tooling/naming/libs gerados pelo CLI.
|
|
60
|
-
|
|
61
|
-
## Antipatterns
|
|
62
|
-
|
|
63
|
-
| AP | Antipattern | Por quê |
|
|
64
|
-
|---|---|---|
|
|
65
|
-
| AP-01 | Documentar o padrão "ideal" em vez do real | O agente vai gerar código fora do estilo do legado |
|
|
66
|
-
| AP-02 | Forçar um padrão único onde o legado é inconsistente | Esconde a realidade; melhor sinalizar a incerteza |
|
|
67
|
-
| AP-03 | Reescrever os fatos determinísticos do CLI | Quebra a fonte de verdade |
|
|
68
|
-
| AP-04 | Regras vagas ("siga boas práticas") | Inúteis — o valor está na regra específica do projeto |
|
|
69
|
-
| AP-05 | Ignorar os testes existentes ao descrever o estilo de teste | Nova feature nasce inconsistente |
|
|
70
|
-
|
|
71
|
-
$ARGUMENTS
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
Skill MIT — parte do DARE Method. DNA do projeto (brownfield). Pareia com o comando `dare dna`.
|
|
1
|
+
# Comando: /dare-dna
|
|
2
|
+
|
|
3
|
+
Camada semântica da extração de DNA do projeto. Roda **depois** do comando `dare dna`, que já varreu
|
|
4
|
+
o código e extraiu os fatos de convenção. Sua função é **transformar fatos em regras acionáveis** —
|
|
5
|
+
o "como esse codebase faz as coisas" que uma nova feature deve respeitar.
|
|
6
|
+
|
|
7
|
+
## Como usar
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
/dare-dna # preenche o PROJECT-DNA.md gerado por `dare dna`
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
> Pré-requisito: rodar `dare dna` antes (gera `DARE/PROJECT-DNA.md` e `DARE/dna-facts.json`).
|
|
14
|
+
> Se não existirem, instrua o usuário a rodar `dare dna` primeiro.
|
|
15
|
+
|
|
16
|
+
## Quando usar
|
|
17
|
+
|
|
18
|
+
- Projeto **legado** que vai adotar o DARE para novas features, sem reescrever o existente.
|
|
19
|
+
- Acabou de rodar `dare dna` e o `PROJECT-DNA.md` tem seções `<!-- AGENT -->` em aberto.
|
|
20
|
+
- O objetivo é um **ruleset** que faça o agente seguir o padrão da casa, não o default genérico.
|
|
21
|
+
|
|
22
|
+
## O que fazer
|
|
23
|
+
|
|
24
|
+
### 1. Carregar os fatos (não re-varrer tudo)
|
|
25
|
+
|
|
26
|
+
- Leia `DARE/dna-facts.json` — fonte determinística (tooling, naming, camadas, testes, libs, commits).
|
|
27
|
+
- Abra **2-5 arquivos representativos por camada** (um controller, um service, um model, um teste) para
|
|
28
|
+
inferir os padrões que o CLI não detecta (tratamento de erro, validação, estilo de teste).
|
|
29
|
+
|
|
30
|
+
### 2. Preencher `DARE/PROJECT-DNA.md`
|
|
31
|
+
|
|
32
|
+
Substitua cada bloco `<!-- AGENT: ... -->`:
|
|
33
|
+
|
|
34
|
+
- **Convenções de Nomenclatura** — confirme o estilo detectado e documente exceções (ex.: componentes
|
|
35
|
+
em PascalCase, utilitários em kebab).
|
|
36
|
+
- **Arquitetura & Camadas** — nomeie o padrão com confiança (MVC / Layered / Hexagonal) e escreva as
|
|
37
|
+
**regras de onde cada coisa mora** (ex.: "controllers só orquestram; regra de negócio vai em services;
|
|
38
|
+
acesso a dados só em repositories").
|
|
39
|
+
- **Padrões de Teste** — onde os testes ficam, naming, assertions reais (não `expect(true)`), uso de
|
|
40
|
+
mocks/fixtures.
|
|
41
|
+
- **Tratamento de Erros & Validação** — como o projeto trata erros (exceptions, Result/Either, try/catch)
|
|
42
|
+
e valida inputs. Dê **exemplos concretos** do código real.
|
|
43
|
+
- **Regras de Ouro do Projeto** — liste o que **SEMPRE** e o que **NUNCA** fazer neste codebase.
|
|
44
|
+
- **⚠️ Incertezas / Inconsistências** — convenções ambíguas/misturadas que o humano precisa decidir.
|
|
45
|
+
|
|
46
|
+
**Não toque** nos fatos determinísticos já preenchidos pelo CLI (tooling, tabela de naming, libs).
|
|
47
|
+
|
|
48
|
+
### 3. Apresentar ao usuário
|
|
49
|
+
|
|
50
|
+
Resumo: arquitetura nomeada, principais regras de ouro, inconsistências encontradas. Reforce que o
|
|
51
|
+
`PROJECT-DNA.md` vira referência para `/dare-feature-design` e `/dare-execute` respeitarem o legado.
|
|
52
|
+
|
|
53
|
+
## Regras de ouro
|
|
54
|
+
|
|
55
|
+
1. **Descritivo, não aspiracional** — documente como o código É, não como deveria ser.
|
|
56
|
+
2. **Exemplos reais** — cite arquivos/trechos do próprio projeto nas regras.
|
|
57
|
+
3. **Sinalize inconsistência** — se o legado mistura padrões, diga isso em "⚠️ Incertezas", não invente um padrão único.
|
|
58
|
+
4. **Não re-varra** — os fatos já estão em `dna-facts.json`.
|
|
59
|
+
5. **Preserve o determinístico** — não reescreva tooling/naming/libs gerados pelo CLI.
|
|
60
|
+
|
|
61
|
+
## Antipatterns
|
|
62
|
+
|
|
63
|
+
| AP | Antipattern | Por quê |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| AP-01 | Documentar o padrão "ideal" em vez do real | O agente vai gerar código fora do estilo do legado |
|
|
66
|
+
| AP-02 | Forçar um padrão único onde o legado é inconsistente | Esconde a realidade; melhor sinalizar a incerteza |
|
|
67
|
+
| AP-03 | Reescrever os fatos determinísticos do CLI | Quebra a fonte de verdade |
|
|
68
|
+
| AP-04 | Regras vagas ("siga boas práticas") | Inúteis — o valor está na regra específica do projeto |
|
|
69
|
+
| AP-05 | Ignorar os testes existentes ao descrever o estilo de teste | Nova feature nasce inconsistente |
|
|
70
|
+
|
|
71
|
+
$ARGUMENTS
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
Skill MIT — parte do DARE Method. DNA do projeto (brownfield). Pareia com o comando `dare dna`.
|