@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,265 +1,265 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dare-tasks
|
|
3
|
-
description: Decompõe o BLUEPRINT aprovado em tasks atômicas e gera os 3 artefatos da fase de execução do DARE (TASKS.md, dare-dag.yaml, EXECUTION/task-*.md). Use quando o usuário aprovar o BLUEPRINT.md. A construção do grafo segue rigorosamente a skill dare-dag-runner.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# DARE Tasks Skill
|
|
7
|
-
|
|
8
|
-
Você é o especialista em decomposição de projetos do método DARE. Seu papel é
|
|
9
|
-
quebrar o BLUEPRINT aprovado em tasks atômicas e gerar simultaneamente os
|
|
10
|
-
**três artefatos** da fase de execução, garantindo consistência entre eles.
|
|
11
|
-
|
|
12
|
-
## Quando usar esta skill
|
|
13
|
-
|
|
14
|
-
- BLUEPRINT.md foi aprovado pelo usuário
|
|
15
|
-
- Necessário criar o plano de execução (tasks + grafo + specs)
|
|
16
|
-
- Terceira fase do Método DARE (transição A → E)
|
|
17
|
-
|
|
18
|
-
## Pré-requisitos
|
|
19
|
-
|
|
20
|
-
Antes de gerar, leia também a skill `dare-dag-runner` — ela contém as regras
|
|
21
|
-
inegociáveis do grafo (`depends_on` mínimo, complexity, prompt self-contained,
|
|
22
|
-
limites de 2000/4000 chars, ranks paralelos).
|
|
23
|
-
|
|
24
|
-
## Os 3 artefatos sempre juntos
|
|
25
|
-
|
|
26
|
-
| Arquivo | Para quê | Lido por |
|
|
27
|
-
|---------|----------|----------|
|
|
28
|
-
| `DARE/TASKS.md` | Visão humana com tabela e progresso | Humano |
|
|
29
|
-
| `DARE/dare-dag.yaml` | Grafo executável | CLI `dare execute` |
|
|
30
|
-
| `DARE/EXECUTION/task-<id>.md` | Spec detalhada por task | Subagente ao executar |
|
|
31
|
-
|
|
32
|
-
Os três precisam estar **consistentes**: mesmos `id`s, mesmas `depends_on`,
|
|
33
|
-
mesmas `complexity`. Inconsistência aqui quebra a execução.
|
|
34
|
-
|
|
35
|
-
## Como usar
|
|
36
|
-
|
|
37
|
-
### Passo 1: Ler o BLUEPRINT aprovado
|
|
38
|
-
|
|
39
|
-
Leia `DARE/BLUEPRINT.md`. Extraia:
|
|
40
|
-
- Fases do plano de execução
|
|
41
|
-
- Endpoints, modelos de dados, schemas
|
|
42
|
-
- Estrutura de diretórios
|
|
43
|
-
- Decisões arquiteturais
|
|
44
|
-
- Estratégia de testes
|
|
45
|
-
|
|
46
|
-
### Passo 2: Decompor em tasks atômicas
|
|
47
|
-
|
|
48
|
-
Cada task deve:
|
|
49
|
-
- Ser pequena o suficiente para uma conversa única (15–60 min de trabalho)
|
|
50
|
-
- Ter dependências reais e mínimas (não falsas)
|
|
51
|
-
- Ser testável isoladamente
|
|
52
|
-
- Incluir validações de segurança apropriadas
|
|
53
|
-
- Ter `complexity` honesta (LOW/MED/HIGH)
|
|
54
|
-
|
|
55
|
-
### Passo 3: Gerar `DARE/TASKS.md` (visão humana)
|
|
56
|
-
|
|
57
|
-
```markdown
|
|
58
|
-
# Tasks: [Nome do Projeto]
|
|
59
|
-
|
|
60
|
-
## Visão Geral
|
|
61
|
-
- Total de Tasks: [N]
|
|
62
|
-
- Ranks paralelos: [N]
|
|
63
|
-
- Tempo estimado: [horas]
|
|
64
|
-
|
|
65
|
-
## Tabela de Status
|
|
66
|
-
|
|
67
|
-
| ID | Título | Status | Depends On | Complexity |
|
|
68
|
-
|----------|-----------------------------|-------------|------------------|------------|
|
|
69
|
-
| task-001 | Setup project structure | ⏳ PENDING | — | LOW |
|
|
70
|
-
| task-002 | DB migrations | ⏳ PENDING | — | MED |
|
|
71
|
-
| task-003 | Auth controllers | ⏳ PENDING | task-001, 002 | HIGH |
|
|
72
|
-
| ... | ... | ... | ... | ... |
|
|
73
|
-
|
|
74
|
-
## Tarefas por Fase
|
|
75
|
-
|
|
76
|
-
### Phase 1: Setup
|
|
77
|
-
- task-001: Setup project structure
|
|
78
|
-
- task-002: DB migrations
|
|
79
|
-
|
|
80
|
-
### Phase 2: Auth
|
|
81
|
-
- task-003: Auth controllers (deps: 001, 002)
|
|
82
|
-
- ...
|
|
83
|
-
|
|
84
|
-
## Próximas Etapas
|
|
85
|
-
1. Revisar e aprovar este TASKS.md
|
|
86
|
-
2. Executar paralelo: `dare execute --parallel`
|
|
87
|
-
3. Ou task isolada: `/dare-execute task-001`
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Passo 4: Gerar `DARE/dare-dag.yaml` (grafo executável)
|
|
91
|
-
|
|
92
|
-
Schema canônico:
|
|
93
|
-
|
|
94
|
-
```yaml
|
|
95
|
-
title: "[Nome do Projeto] - Development Tasks"
|
|
96
|
-
version: "1.0.0"
|
|
97
|
-
|
|
98
|
-
limits:
|
|
99
|
-
parent_context_chars: 2000
|
|
100
|
-
task_output_chars: 4000
|
|
101
|
-
timeout_seconds: 600
|
|
102
|
-
|
|
103
|
-
models:
|
|
104
|
-
cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
|
|
105
|
-
claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
|
|
106
|
-
antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
|
|
107
|
-
|
|
108
|
-
tasks:
|
|
109
|
-
- id: task-001
|
|
110
|
-
title: "Setup project structure"
|
|
111
|
-
depends_on: []
|
|
112
|
-
complexity: LOW
|
|
113
|
-
spec_file: EXECUTION/task-001.md
|
|
114
|
-
subtask_prompt: |
|
|
115
|
-
Setup base project structure following DARE/BLUEPRINT.md.
|
|
116
|
-
Create directories, initialize package files. No business logic yet.
|
|
117
|
-
Validation gate: project builds.
|
|
118
|
-
|
|
119
|
-
- id: task-002
|
|
120
|
-
title: "DB migrations"
|
|
121
|
-
depends_on: []
|
|
122
|
-
complexity: MED
|
|
123
|
-
spec_file: EXECUTION/task-002.md
|
|
124
|
-
subtask_prompt: |
|
|
125
|
-
Create migrations for users and refresh_tokens tables per BLUEPRINT.
|
|
126
|
-
Include indexes and FKs. Validation gate: migrate runs cleanly.
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
**Regras inegociáveis (da skill dare-dag-runner):**
|
|
130
|
-
- `id` em kebab-case e único
|
|
131
|
-
- `depends_on` mínimo — só quando filha **literalmente** precisa do output
|
|
132
|
-
- `subtask_prompt` self-contained (subagente recebe só ele + 2000 chars de pais)
|
|
133
|
-
- Pelo menos 2 tasks no rank 0 (`depends_on: []`)
|
|
134
|
-
- Cadeia linear é antipattern — reveja
|
|
135
|
-
|
|
136
|
-
### Passo 5: Gerar `DARE/EXECUTION/task-<id>.md` (specs detalhadas)
|
|
137
|
-
|
|
138
|
-
Para CADA task no YAML, crie a spec usando `templates/TASK-SPEC-template.md`:
|
|
139
|
-
|
|
140
|
-
```markdown
|
|
141
|
-
# Task 001: Setup project structure
|
|
142
|
-
|
|
143
|
-
## Objetivo
|
|
144
|
-
Criar a estrutura base do projeto seguindo o BLUEPRINT.
|
|
145
|
-
|
|
146
|
-
## Descrição
|
|
147
|
-
Inicializar diretórios, package files e configuração mínima.
|
|
148
|
-
Sem lógica de negócio — apenas scaffolding.
|
|
149
|
-
|
|
150
|
-
## Arquivos a Criar
|
|
151
|
-
- `src/` (diretório)
|
|
152
|
-
- `tests/` (diretório)
|
|
153
|
-
- `package.json` (ou equivalente da stack)
|
|
154
|
-
- `.gitignore`
|
|
155
|
-
|
|
156
|
-
## Validation Gates
|
|
157
|
-
- [ ] Estrutura criada
|
|
158
|
-
- [ ] Build passa sem erros
|
|
159
|
-
- [ ] Lint sem warnings
|
|
160
|
-
- [ ] `package.json` (ou Cargo.toml, composer.json) válido
|
|
161
|
-
|
|
162
|
-
## Testes
|
|
163
|
-
```bash
|
|
164
|
-
npm run build # ou cargo build, composer install, etc.
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
## Segurança
|
|
168
|
-
- `.env` no `.gitignore`
|
|
169
|
-
- Nenhum secret commitado
|
|
170
|
-
|
|
171
|
-
## Próxima Task
|
|
172
|
-
Task 002: DB migrations
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
### Passo 5.1: ANTI-STUB CONTRACT (inegociável)
|
|
176
|
-
|
|
177
|
-
> Tasks geradas com `subtask_prompt` ou spec genéricos forçam o agente a inventar — e ele vai produzir mock, stub ou esqueleto. **Não é negociável**. O comando `dare review <task-id>` (v2.17+) detecta isso e marca a task como FAILED.
|
|
178
|
-
|
|
179
|
-
Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender este contrato:
|
|
180
|
-
|
|
181
|
-
**O `subtask_prompt` deve ser auto-suficiente**
|
|
182
|
-
|
|
183
|
-
O subagente recebe **apenas** o `subtask_prompt` + snippets de 2000 chars dos pais. Inclua:
|
|
184
|
-
|
|
185
|
-
- Caminho exato dos arquivos a criar/modificar
|
|
186
|
-
- Assinaturas exatas das funções/endpoints (`fn name(params: T) -> R`)
|
|
187
|
-
- Schema de request/response com tipos
|
|
188
|
-
- Validações específicas (não "validar input" — `email: regex`, `senha: ≥ 8 chars + maiúscula + dígito`)
|
|
189
|
-
- Edge cases enumerados (input vazio, duplicado, expirado, sem permissão)
|
|
190
|
-
- Lista de testes esperados com nome + comportamento
|
|
191
|
-
|
|
192
|
-
**A `spec_file` deve ter Definition of Done anti-stub:**
|
|
193
|
-
|
|
194
|
-
```markdown
|
|
195
|
-
## Definition of Done (ANTI-STUB)
|
|
196
|
-
|
|
197
|
-
- [ ] Nenhum `TODO`, `FIXME`, `XXX` ou `HACK` em arquivos modificados
|
|
198
|
-
- [ ] Nenhuma função vazia (`fn x() {}`, `def x(): pass`, `function x() {}`)
|
|
199
|
-
- [ ] Nenhum `throw new Error('not implemented')`, `unimplemented!()`, `todo!()`, `NotImplementedError`
|
|
200
|
-
- [ ] Nenhum `return null` / `return undefined` / `return {}` como única statement de função pública
|
|
201
|
-
- [ ] Mocks **somente** dentro de `*.test.*`, `*.spec.*`, `__tests__/`, `tests/`, `spec/`
|
|
202
|
-
- [ ] Endpoints retornam dados reais (não fixos / hardcoded)
|
|
203
|
-
- [ ] Cada validação produz erro real com status code correto (testado)
|
|
204
|
-
- [ ] Cada edge case tem teste unitário/integração
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
**Verificação:** o agente vai rodar `dare review <id>` antes de DONE. Falhou → volta pra revisão.
|
|
208
|
-
|
|
209
|
-
**Sinais de spec rasa:**
|
|
210
|
-
|
|
211
|
-
- ❌ "Implementar X" — sem assinatura, sem retorno, sem validações
|
|
212
|
-
- ❌ "Tratar erros adequadamente" — quais erros?
|
|
213
|
-
- ❌ "Adicionar validações" — quais regras?
|
|
214
|
-
- ✅ "Implementar `POST /auth/login` retornando `{ token, refresh }` com 200/401/429"
|
|
215
|
-
|
|
216
|
-
### Passo 6: Validar consistência
|
|
217
|
-
|
|
218
|
-
Antes de entregar, confirme:
|
|
219
|
-
- [ ] Mesmos `id`s em `TASKS.md`, `dare-dag.yaml` e `EXECUTION/task-*.md`
|
|
220
|
-
- [ ] Mesmas `depends_on` nos três
|
|
221
|
-
- [ ] Mesmas `complexity`
|
|
222
|
-
- [ ] Sem ciclos no grafo
|
|
223
|
-
- [ ] Pelo menos 2 tasks no rank 0
|
|
224
|
-
- [ ] Cada `subtask_prompt` é executável sem contexto adicional
|
|
225
|
-
|
|
226
|
-
### Passo 7: Regenerar a visualização do DAG
|
|
227
|
-
|
|
228
|
-
Depois de salvar o `dare-dag.yaml`, rode:
|
|
229
|
-
|
|
230
|
-
```bash
|
|
231
|
-
dare dag viz -o DARE/dag-graph.mmd
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
Isso reescreve `DARE/dag-graph.mmd` (Mermaid) refletindo o grafo atualizado.
|
|
235
|
-
O usuário pode abrir o arquivo no Antigravity para visualizar o grafo
|
|
236
|
-
estático com cores por status antes de executar.
|
|
237
|
-
|
|
238
|
-
### Passo 8: Pedir aprovação
|
|
239
|
-
|
|
240
|
-
> Gerados os 4 artefatos da fase de execução:
|
|
241
|
-
> - `DARE/TASKS.md` ([N] tasks)
|
|
242
|
-
> - `DARE/dare-dag.yaml` ([N] ranks paralelos)
|
|
243
|
-
> - `DARE/EXECUTION/task-*.md` ([N] specs)
|
|
244
|
-
> - `DARE/dag-graph.mmd` (visualização Mermaid do DAG)
|
|
245
|
-
>
|
|
246
|
-
> Revise (abra `dag-graph.mmd` para ver o grafo). Quando aprovar:
|
|
247
|
-
> `dare execute --next` para iniciar a execução.
|
|
248
|
-
|
|
249
|
-
## Boas práticas
|
|
250
|
-
|
|
251
|
-
1. **Atômicas:** cada task é independente o suficiente para uma conversa
|
|
252
|
-
2. **Testáveis:** validation gates específicos da stack
|
|
253
|
-
3. **Documentadas:** specs claras e auto-contidas
|
|
254
|
-
4. **Seguras:** integre OWASP nos pontos sensíveis
|
|
255
|
-
5. **Paralelizáveis:** maximize rank 0; minimize cadeias lineares
|
|
256
|
-
|
|
257
|
-
## Erros comuns a evitar
|
|
258
|
-
|
|
259
|
-
| Erro | Como corrigir |
|
|
260
|
-
|------|---------------|
|
|
261
|
-
| Cadeia linear `001→002→003→...` | Adicione paralelismo onde a dependência é falsa |
|
|
262
|
-
| `subtask_prompt` referenciando "como combinamos" | Coloque tudo no prompt explicitamente |
|
|
263
|
-
| Tudo em `complexity: HIGH` | Avalie honestamente — HIGH só para lógica crítica |
|
|
264
|
-
| `id` duplicado ou com espaços | Use kebab-case e únicos |
|
|
265
|
-
| Inconsistência entre os 3 artefatos | Revise antes de aprovar |
|
|
1
|
+
---
|
|
2
|
+
name: dare-tasks
|
|
3
|
+
description: Decompõe o BLUEPRINT aprovado em tasks atômicas e gera os 3 artefatos da fase de execução do DARE (TASKS.md, dare-dag.yaml, EXECUTION/task-*.md). Use quando o usuário aprovar o BLUEPRINT.md. A construção do grafo segue rigorosamente a skill dare-dag-runner.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DARE Tasks Skill
|
|
7
|
+
|
|
8
|
+
Você é o especialista em decomposição de projetos do método DARE. Seu papel é
|
|
9
|
+
quebrar o BLUEPRINT aprovado em tasks atômicas e gerar simultaneamente os
|
|
10
|
+
**três artefatos** da fase de execução, garantindo consistência entre eles.
|
|
11
|
+
|
|
12
|
+
## Quando usar esta skill
|
|
13
|
+
|
|
14
|
+
- BLUEPRINT.md foi aprovado pelo usuário
|
|
15
|
+
- Necessário criar o plano de execução (tasks + grafo + specs)
|
|
16
|
+
- Terceira fase do Método DARE (transição A → E)
|
|
17
|
+
|
|
18
|
+
## Pré-requisitos
|
|
19
|
+
|
|
20
|
+
Antes de gerar, leia também a skill `dare-dag-runner` — ela contém as regras
|
|
21
|
+
inegociáveis do grafo (`depends_on` mínimo, complexity, prompt self-contained,
|
|
22
|
+
limites de 2000/4000 chars, ranks paralelos).
|
|
23
|
+
|
|
24
|
+
## Os 3 artefatos sempre juntos
|
|
25
|
+
|
|
26
|
+
| Arquivo | Para quê | Lido por |
|
|
27
|
+
|---------|----------|----------|
|
|
28
|
+
| `DARE/TASKS.md` | Visão humana com tabela e progresso | Humano |
|
|
29
|
+
| `DARE/dare-dag.yaml` | Grafo executável | CLI `dare execute` |
|
|
30
|
+
| `DARE/EXECUTION/task-<id>.md` | Spec detalhada por task | Subagente ao executar |
|
|
31
|
+
|
|
32
|
+
Os três precisam estar **consistentes**: mesmos `id`s, mesmas `depends_on`,
|
|
33
|
+
mesmas `complexity`. Inconsistência aqui quebra a execução.
|
|
34
|
+
|
|
35
|
+
## Como usar
|
|
36
|
+
|
|
37
|
+
### Passo 1: Ler o BLUEPRINT aprovado
|
|
38
|
+
|
|
39
|
+
Leia `DARE/BLUEPRINT.md`. Extraia:
|
|
40
|
+
- Fases do plano de execução
|
|
41
|
+
- Endpoints, modelos de dados, schemas
|
|
42
|
+
- Estrutura de diretórios
|
|
43
|
+
- Decisões arquiteturais
|
|
44
|
+
- Estratégia de testes
|
|
45
|
+
|
|
46
|
+
### Passo 2: Decompor em tasks atômicas
|
|
47
|
+
|
|
48
|
+
Cada task deve:
|
|
49
|
+
- Ser pequena o suficiente para uma conversa única (15–60 min de trabalho)
|
|
50
|
+
- Ter dependências reais e mínimas (não falsas)
|
|
51
|
+
- Ser testável isoladamente
|
|
52
|
+
- Incluir validações de segurança apropriadas
|
|
53
|
+
- Ter `complexity` honesta (LOW/MED/HIGH)
|
|
54
|
+
|
|
55
|
+
### Passo 3: Gerar `DARE/TASKS.md` (visão humana)
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
# Tasks: [Nome do Projeto]
|
|
59
|
+
|
|
60
|
+
## Visão Geral
|
|
61
|
+
- Total de Tasks: [N]
|
|
62
|
+
- Ranks paralelos: [N]
|
|
63
|
+
- Tempo estimado: [horas]
|
|
64
|
+
|
|
65
|
+
## Tabela de Status
|
|
66
|
+
|
|
67
|
+
| ID | Título | Status | Depends On | Complexity |
|
|
68
|
+
|----------|-----------------------------|-------------|------------------|------------|
|
|
69
|
+
| task-001 | Setup project structure | ⏳ PENDING | — | LOW |
|
|
70
|
+
| task-002 | DB migrations | ⏳ PENDING | — | MED |
|
|
71
|
+
| task-003 | Auth controllers | ⏳ PENDING | task-001, 002 | HIGH |
|
|
72
|
+
| ... | ... | ... | ... | ... |
|
|
73
|
+
|
|
74
|
+
## Tarefas por Fase
|
|
75
|
+
|
|
76
|
+
### Phase 1: Setup
|
|
77
|
+
- task-001: Setup project structure
|
|
78
|
+
- task-002: DB migrations
|
|
79
|
+
|
|
80
|
+
### Phase 2: Auth
|
|
81
|
+
- task-003: Auth controllers (deps: 001, 002)
|
|
82
|
+
- ...
|
|
83
|
+
|
|
84
|
+
## Próximas Etapas
|
|
85
|
+
1. Revisar e aprovar este TASKS.md
|
|
86
|
+
2. Executar paralelo: `dare execute --parallel`
|
|
87
|
+
3. Ou task isolada: `/dare-execute task-001`
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Passo 4: Gerar `DARE/dare-dag.yaml` (grafo executável)
|
|
91
|
+
|
|
92
|
+
Schema canônico:
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
title: "[Nome do Projeto] - Development Tasks"
|
|
96
|
+
version: "1.0.0"
|
|
97
|
+
|
|
98
|
+
limits:
|
|
99
|
+
parent_context_chars: 2000
|
|
100
|
+
task_output_chars: 4000
|
|
101
|
+
timeout_seconds: 600
|
|
102
|
+
|
|
103
|
+
models:
|
|
104
|
+
cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
|
|
105
|
+
claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
|
|
106
|
+
antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
|
|
107
|
+
|
|
108
|
+
tasks:
|
|
109
|
+
- id: task-001
|
|
110
|
+
title: "Setup project structure"
|
|
111
|
+
depends_on: []
|
|
112
|
+
complexity: LOW
|
|
113
|
+
spec_file: EXECUTION/task-001.md
|
|
114
|
+
subtask_prompt: |
|
|
115
|
+
Setup base project structure following DARE/BLUEPRINT.md.
|
|
116
|
+
Create directories, initialize package files. No business logic yet.
|
|
117
|
+
Validation gate: project builds.
|
|
118
|
+
|
|
119
|
+
- id: task-002
|
|
120
|
+
title: "DB migrations"
|
|
121
|
+
depends_on: []
|
|
122
|
+
complexity: MED
|
|
123
|
+
spec_file: EXECUTION/task-002.md
|
|
124
|
+
subtask_prompt: |
|
|
125
|
+
Create migrations for users and refresh_tokens tables per BLUEPRINT.
|
|
126
|
+
Include indexes and FKs. Validation gate: migrate runs cleanly.
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Regras inegociáveis (da skill dare-dag-runner):**
|
|
130
|
+
- `id` em kebab-case e único
|
|
131
|
+
- `depends_on` mínimo — só quando filha **literalmente** precisa do output
|
|
132
|
+
- `subtask_prompt` self-contained (subagente recebe só ele + 2000 chars de pais)
|
|
133
|
+
- Pelo menos 2 tasks no rank 0 (`depends_on: []`)
|
|
134
|
+
- Cadeia linear é antipattern — reveja
|
|
135
|
+
|
|
136
|
+
### Passo 5: Gerar `DARE/EXECUTION/task-<id>.md` (specs detalhadas)
|
|
137
|
+
|
|
138
|
+
Para CADA task no YAML, crie a spec usando `templates/TASK-SPEC-template.md`:
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
# Task 001: Setup project structure
|
|
142
|
+
|
|
143
|
+
## Objetivo
|
|
144
|
+
Criar a estrutura base do projeto seguindo o BLUEPRINT.
|
|
145
|
+
|
|
146
|
+
## Descrição
|
|
147
|
+
Inicializar diretórios, package files e configuração mínima.
|
|
148
|
+
Sem lógica de negócio — apenas scaffolding.
|
|
149
|
+
|
|
150
|
+
## Arquivos a Criar
|
|
151
|
+
- `src/` (diretório)
|
|
152
|
+
- `tests/` (diretório)
|
|
153
|
+
- `package.json` (ou equivalente da stack)
|
|
154
|
+
- `.gitignore`
|
|
155
|
+
|
|
156
|
+
## Validation Gates
|
|
157
|
+
- [ ] Estrutura criada
|
|
158
|
+
- [ ] Build passa sem erros
|
|
159
|
+
- [ ] Lint sem warnings
|
|
160
|
+
- [ ] `package.json` (ou Cargo.toml, composer.json) válido
|
|
161
|
+
|
|
162
|
+
## Testes
|
|
163
|
+
```bash
|
|
164
|
+
npm run build # ou cargo build, composer install, etc.
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Segurança
|
|
168
|
+
- `.env` no `.gitignore`
|
|
169
|
+
- Nenhum secret commitado
|
|
170
|
+
|
|
171
|
+
## Próxima Task
|
|
172
|
+
Task 002: DB migrations
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Passo 5.1: ANTI-STUB CONTRACT (inegociável)
|
|
176
|
+
|
|
177
|
+
> Tasks geradas com `subtask_prompt` ou spec genéricos forçam o agente a inventar — e ele vai produzir mock, stub ou esqueleto. **Não é negociável**. O comando `dare review <task-id>` (v2.17+) detecta isso e marca a task como FAILED.
|
|
178
|
+
|
|
179
|
+
Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender este contrato:
|
|
180
|
+
|
|
181
|
+
**O `subtask_prompt` deve ser auto-suficiente**
|
|
182
|
+
|
|
183
|
+
O subagente recebe **apenas** o `subtask_prompt` + snippets de 2000 chars dos pais. Inclua:
|
|
184
|
+
|
|
185
|
+
- Caminho exato dos arquivos a criar/modificar
|
|
186
|
+
- Assinaturas exatas das funções/endpoints (`fn name(params: T) -> R`)
|
|
187
|
+
- Schema de request/response com tipos
|
|
188
|
+
- Validações específicas (não "validar input" — `email: regex`, `senha: ≥ 8 chars + maiúscula + dígito`)
|
|
189
|
+
- Edge cases enumerados (input vazio, duplicado, expirado, sem permissão)
|
|
190
|
+
- Lista de testes esperados com nome + comportamento
|
|
191
|
+
|
|
192
|
+
**A `spec_file` deve ter Definition of Done anti-stub:**
|
|
193
|
+
|
|
194
|
+
```markdown
|
|
195
|
+
## Definition of Done (ANTI-STUB)
|
|
196
|
+
|
|
197
|
+
- [ ] Nenhum `TODO`, `FIXME`, `XXX` ou `HACK` em arquivos modificados
|
|
198
|
+
- [ ] Nenhuma função vazia (`fn x() {}`, `def x(): pass`, `function x() {}`)
|
|
199
|
+
- [ ] Nenhum `throw new Error('not implemented')`, `unimplemented!()`, `todo!()`, `NotImplementedError`
|
|
200
|
+
- [ ] Nenhum `return null` / `return undefined` / `return {}` como única statement de função pública
|
|
201
|
+
- [ ] Mocks **somente** dentro de `*.test.*`, `*.spec.*`, `__tests__/`, `tests/`, `spec/`
|
|
202
|
+
- [ ] Endpoints retornam dados reais (não fixos / hardcoded)
|
|
203
|
+
- [ ] Cada validação produz erro real com status code correto (testado)
|
|
204
|
+
- [ ] Cada edge case tem teste unitário/integração
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Verificação:** o agente vai rodar `dare review <id>` antes de DONE. Falhou → volta pra revisão.
|
|
208
|
+
|
|
209
|
+
**Sinais de spec rasa:**
|
|
210
|
+
|
|
211
|
+
- ❌ "Implementar X" — sem assinatura, sem retorno, sem validações
|
|
212
|
+
- ❌ "Tratar erros adequadamente" — quais erros?
|
|
213
|
+
- ❌ "Adicionar validações" — quais regras?
|
|
214
|
+
- ✅ "Implementar `POST /auth/login` retornando `{ token, refresh }` com 200/401/429"
|
|
215
|
+
|
|
216
|
+
### Passo 6: Validar consistência
|
|
217
|
+
|
|
218
|
+
Antes de entregar, confirme:
|
|
219
|
+
- [ ] Mesmos `id`s em `TASKS.md`, `dare-dag.yaml` e `EXECUTION/task-*.md`
|
|
220
|
+
- [ ] Mesmas `depends_on` nos três
|
|
221
|
+
- [ ] Mesmas `complexity`
|
|
222
|
+
- [ ] Sem ciclos no grafo
|
|
223
|
+
- [ ] Pelo menos 2 tasks no rank 0
|
|
224
|
+
- [ ] Cada `subtask_prompt` é executável sem contexto adicional
|
|
225
|
+
|
|
226
|
+
### Passo 7: Regenerar a visualização do DAG
|
|
227
|
+
|
|
228
|
+
Depois de salvar o `dare-dag.yaml`, rode:
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
dare dag viz -o DARE/dag-graph.mmd
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Isso reescreve `DARE/dag-graph.mmd` (Mermaid) refletindo o grafo atualizado.
|
|
235
|
+
O usuário pode abrir o arquivo no Antigravity para visualizar o grafo
|
|
236
|
+
estático com cores por status antes de executar.
|
|
237
|
+
|
|
238
|
+
### Passo 8: Pedir aprovação
|
|
239
|
+
|
|
240
|
+
> Gerados os 4 artefatos da fase de execução:
|
|
241
|
+
> - `DARE/TASKS.md` ([N] tasks)
|
|
242
|
+
> - `DARE/dare-dag.yaml` ([N] ranks paralelos)
|
|
243
|
+
> - `DARE/EXECUTION/task-*.md` ([N] specs)
|
|
244
|
+
> - `DARE/dag-graph.mmd` (visualização Mermaid do DAG)
|
|
245
|
+
>
|
|
246
|
+
> Revise (abra `dag-graph.mmd` para ver o grafo). Quando aprovar:
|
|
247
|
+
> `dare execute --next` para iniciar a execução.
|
|
248
|
+
|
|
249
|
+
## Boas práticas
|
|
250
|
+
|
|
251
|
+
1. **Atômicas:** cada task é independente o suficiente para uma conversa
|
|
252
|
+
2. **Testáveis:** validation gates específicos da stack
|
|
253
|
+
3. **Documentadas:** specs claras e auto-contidas
|
|
254
|
+
4. **Seguras:** integre OWASP nos pontos sensíveis
|
|
255
|
+
5. **Paralelizáveis:** maximize rank 0; minimize cadeias lineares
|
|
256
|
+
|
|
257
|
+
## Erros comuns a evitar
|
|
258
|
+
|
|
259
|
+
| Erro | Como corrigir |
|
|
260
|
+
|------|---------------|
|
|
261
|
+
| Cadeia linear `001→002→003→...` | Adicione paralelismo onde a dependência é falsa |
|
|
262
|
+
| `subtask_prompt` referenciando "como combinamos" | Coloque tudo no prompt explicitamente |
|
|
263
|
+
| Tudo em `complexity: HIGH` | Avalie honestamente — HIGH só para lógica crítica |
|
|
264
|
+
| `id` duplicado ou com espaços | Use kebab-case e únicos |
|
|
265
|
+
| Inconsistência entre os 3 artefatos | Revise antes de aprovar |
|