@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,32 +1,32 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dare-bootstrap
|
|
3
|
-
description: Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual. Mapeia o CLI `dare bootstrap`.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Rodar o scaffold oficial da stack do projeto
|
|
7
|
-
|
|
8
|
-
Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual.
|
|
9
|
-
|
|
10
|
-
> Este comando expõe o CLI `dare bootstrap` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
-
|
|
12
|
-
## Quando usar
|
|
13
|
-
|
|
14
|
-
- Logo após `dare init`, para gerar o esqueleto real do framework.
|
|
15
|
-
- Quando `dare.config.json` existe mas os artefatos do framework ainda não foram gerados.
|
|
16
|
-
|
|
17
|
-
## Como rodar
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
dare bootstrap
|
|
21
|
-
dare bootstrap --force # roda mesmo se já houver artefatos (pode sobrescrever)
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## O que fazer
|
|
25
|
-
|
|
26
|
-
1. Confirme que existe `dare.config.json` com a stack definida.
|
|
27
|
-
2. Rode `dare bootstrap` (use `--force` apenas se o usuário aceitar sobrescrever arquivos existentes).
|
|
28
|
-
3. Verifique a saída: arquivos gerados e próximos passos sugeridos pelo CLI.
|
|
29
|
-
|
|
30
|
-
## Comandos relacionados
|
|
31
|
-
|
|
32
|
-
`/dare-init` · `/dare-design`
|
|
1
|
+
---
|
|
2
|
+
name: dare-bootstrap
|
|
3
|
+
description: Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual. Mapeia o CLI `dare bootstrap`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Rodar o scaffold oficial da stack do projeto
|
|
7
|
+
|
|
8
|
+
Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare bootstrap` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Logo após `dare init`, para gerar o esqueleto real do framework.
|
|
15
|
+
- Quando `dare.config.json` existe mas os artefatos do framework ainda não foram gerados.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare bootstrap
|
|
21
|
+
dare bootstrap --force # roda mesmo se já houver artefatos (pode sobrescrever)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## O que fazer
|
|
25
|
+
|
|
26
|
+
1. Confirme que existe `dare.config.json` com a stack definida.
|
|
27
|
+
2. Rode `dare bootstrap` (use `--force` apenas se o usuário aceitar sobrescrever arquivos existentes).
|
|
28
|
+
3. Verifique a saída: arquivos gerados e próximos passos sugeridos pelo CLI.
|
|
29
|
+
|
|
30
|
+
## Comandos relacionados
|
|
31
|
+
|
|
32
|
+
`/dare-init` · `/dare-design`
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dare-bugfix-design
|
|
3
|
-
description: Analisa um projeto existente e gera um Implementation Plan focado apenas na correcao de um bug complexo. Use quando precisar diagnosticar e corrigir um erro no sistema atual. Cria um documento DESIGN-Bugfix-[Nome].md.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# DARE Bugfix Design Skill
|
|
7
|
-
|
|
8
|
-
Você é um especialista em diagnóstico de software e correção cirúrgica de bugs. Seu objetivo é analisar a base de código atual de um projeto existente, encontrar a causa raiz de um problema e gerar um documento de Design focado especificamente na **correção segura do bug**.
|
|
9
|
-
|
|
10
|
-
## Quando usar esta skill
|
|
11
|
-
|
|
12
|
-
- O usuário relata um bug ou comportamento inesperado no sistema.
|
|
13
|
-
- O usuário quer usar o fluxo DARE para planejar uma correção complexa antes de alterar o código.
|
|
14
|
-
|
|
15
|
-
## Como usar
|
|
16
|
-
|
|
17
|
-
### Passo 1: Análise de Contexto (Diagnóstico)
|
|
18
|
-
Antes de propor uma solução, você DEVE diagnosticar o problema:
|
|
19
|
-
1. **Entenda o Relato:** Qual é o comportamento atual vs o comportamento esperado?
|
|
20
|
-
2. **Analise Logs/Erros:** Peça ao usuário stack traces ou logs, se aplicável.
|
|
21
|
-
3. **Identifique a Área Afetada:** Localize os controllers, services, queries ou componentes responsáveis pelo problema.
|
|
22
|
-
|
|
23
|
-
### Passo 2: Encontrar a Causa Raiz
|
|
24
|
-
Não trate apenas o sintoma. Descubra *por que* o erro acontece:
|
|
25
|
-
- É um problema de lógica de negócio?
|
|
26
|
-
- É um erro de banco de dados (ex: N+1, deadlock, timeout)?
|
|
27
|
-
- É uma falha de validação ou segurança?
|
|
28
|
-
- É um problema de concorrência?
|
|
29
|
-
|
|
30
|
-
### Passo 3: Avaliação de Impacto e Riscos
|
|
31
|
-
- Quais arquivos precisarão ser modificados para corrigir a causa raiz?
|
|
32
|
-
- **Risco de Regressão:** O que mais essa correção pode quebrar no sistema?
|
|
33
|
-
|
|
34
|
-
### Passo 4: Gerar o Bugfix Design
|
|
35
|
-
Crie um documento `DARE/DESIGN-Bugfix-[Nome-do-Bug].md` com a seguinte estrutura:
|
|
36
|
-
|
|
37
|
-
```markdown
|
|
38
|
-
# Bugfix Design: [Nome do Bug]
|
|
39
|
-
|
|
40
|
-
## Descrição do Problema
|
|
41
|
-
- **Comportamento Atual:** [O que está acontecendo de errado]
|
|
42
|
-
- **Comportamento Esperado:** [O que deveria acontecer]
|
|
43
|
-
- **Passos para Reproduzir:** [Se conhecido]
|
|
44
|
-
|
|
45
|
-
## Diagnóstico da Causa Raiz
|
|
46
|
-
[Explicação técnica detalhada de por que o erro ocorre].
|
|
47
|
-
|
|
48
|
-
## Análise de Impacto (Onde corrigir)
|
|
49
|
-
- **Arquivos a Modificar:** [Lista de arquivos específicos]
|
|
50
|
-
- **Banco de Dados:** [Necessário rodar script de correção de dados?]
|
|
51
|
-
- **Riscos da Correção:** [O que pode quebrar ao consertar isso?]
|
|
52
|
-
|
|
53
|
-
## Plano de Ação (Correção Cirúrgica)
|
|
54
|
-
1. [Passo 1: Ajustar a query/lógica no arquivo X]
|
|
55
|
-
2. [Passo 2: Adicionar teste unitário para cobrir o caso]
|
|
56
|
-
3. [Passo 3: Validar comportamento]
|
|
57
|
-
|
|
58
|
-
## Testes Necessários
|
|
59
|
-
- **Validation Gates:** [O que testar para garantir que o bug sumiu]
|
|
60
|
-
- **Testes de Regressão:** [O que testar para garantir que não quebrou o resto]
|
|
61
|
-
|
|
62
|
-
## Próximas Etapas
|
|
63
|
-
1. Revisar e aprovar este Bugfix Design
|
|
64
|
-
2. Executar o Agent com a skill `dare-blueprint` apontando para este arquivo (se a correção for grande)
|
|
65
|
-
3. Ou ir direto para a skill `dare-tasks` se for simples
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Passo 5: Pedir Aprovação
|
|
69
|
-
Após gerar o Design, crie um Artifact do tipo Implementation Plan e peça ao usuário para revisar o diagnóstico e a abordagem da correção.
|
|
70
|
-
|
|
71
|
-
## Regras de Ouro para Bugfixes
|
|
72
|
-
|
|
73
|
-
1. **Seja Cirúrgico:** A correção deve ser o menor código possível para resolver o problema sem efeitos colaterais.
|
|
74
|
-
2. **Causa Raiz:** Foque na origem do problema, não no sintoma.
|
|
75
|
-
3. **Evite Regressão:** Sempre mapeie os riscos da correção e planeje testes para eles.
|
|
76
|
-
4. **Adicione Testes:** Se o bug ocorreu, é porque faltava um teste. A correção DEVE incluir um novo teste que falharia com o código antigo e passa com o novo.
|
|
1
|
+
---
|
|
2
|
+
name: dare-bugfix-design
|
|
3
|
+
description: Analisa um projeto existente e gera um Implementation Plan focado apenas na correcao de um bug complexo. Use quando precisar diagnosticar e corrigir um erro no sistema atual. Cria um documento DESIGN-Bugfix-[Nome].md.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DARE Bugfix Design Skill
|
|
7
|
+
|
|
8
|
+
Você é um especialista em diagnóstico de software e correção cirúrgica de bugs. Seu objetivo é analisar a base de código atual de um projeto existente, encontrar a causa raiz de um problema e gerar um documento de Design focado especificamente na **correção segura do bug**.
|
|
9
|
+
|
|
10
|
+
## Quando usar esta skill
|
|
11
|
+
|
|
12
|
+
- O usuário relata um bug ou comportamento inesperado no sistema.
|
|
13
|
+
- O usuário quer usar o fluxo DARE para planejar uma correção complexa antes de alterar o código.
|
|
14
|
+
|
|
15
|
+
## Como usar
|
|
16
|
+
|
|
17
|
+
### Passo 1: Análise de Contexto (Diagnóstico)
|
|
18
|
+
Antes de propor uma solução, você DEVE diagnosticar o problema:
|
|
19
|
+
1. **Entenda o Relato:** Qual é o comportamento atual vs o comportamento esperado?
|
|
20
|
+
2. **Analise Logs/Erros:** Peça ao usuário stack traces ou logs, se aplicável.
|
|
21
|
+
3. **Identifique a Área Afetada:** Localize os controllers, services, queries ou componentes responsáveis pelo problema.
|
|
22
|
+
|
|
23
|
+
### Passo 2: Encontrar a Causa Raiz
|
|
24
|
+
Não trate apenas o sintoma. Descubra *por que* o erro acontece:
|
|
25
|
+
- É um problema de lógica de negócio?
|
|
26
|
+
- É um erro de banco de dados (ex: N+1, deadlock, timeout)?
|
|
27
|
+
- É uma falha de validação ou segurança?
|
|
28
|
+
- É um problema de concorrência?
|
|
29
|
+
|
|
30
|
+
### Passo 3: Avaliação de Impacto e Riscos
|
|
31
|
+
- Quais arquivos precisarão ser modificados para corrigir a causa raiz?
|
|
32
|
+
- **Risco de Regressão:** O que mais essa correção pode quebrar no sistema?
|
|
33
|
+
|
|
34
|
+
### Passo 4: Gerar o Bugfix Design
|
|
35
|
+
Crie um documento `DARE/DESIGN-Bugfix-[Nome-do-Bug].md` com a seguinte estrutura:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
# Bugfix Design: [Nome do Bug]
|
|
39
|
+
|
|
40
|
+
## Descrição do Problema
|
|
41
|
+
- **Comportamento Atual:** [O que está acontecendo de errado]
|
|
42
|
+
- **Comportamento Esperado:** [O que deveria acontecer]
|
|
43
|
+
- **Passos para Reproduzir:** [Se conhecido]
|
|
44
|
+
|
|
45
|
+
## Diagnóstico da Causa Raiz
|
|
46
|
+
[Explicação técnica detalhada de por que o erro ocorre].
|
|
47
|
+
|
|
48
|
+
## Análise de Impacto (Onde corrigir)
|
|
49
|
+
- **Arquivos a Modificar:** [Lista de arquivos específicos]
|
|
50
|
+
- **Banco de Dados:** [Necessário rodar script de correção de dados?]
|
|
51
|
+
- **Riscos da Correção:** [O que pode quebrar ao consertar isso?]
|
|
52
|
+
|
|
53
|
+
## Plano de Ação (Correção Cirúrgica)
|
|
54
|
+
1. [Passo 1: Ajustar a query/lógica no arquivo X]
|
|
55
|
+
2. [Passo 2: Adicionar teste unitário para cobrir o caso]
|
|
56
|
+
3. [Passo 3: Validar comportamento]
|
|
57
|
+
|
|
58
|
+
## Testes Necessários
|
|
59
|
+
- **Validation Gates:** [O que testar para garantir que o bug sumiu]
|
|
60
|
+
- **Testes de Regressão:** [O que testar para garantir que não quebrou o resto]
|
|
61
|
+
|
|
62
|
+
## Próximas Etapas
|
|
63
|
+
1. Revisar e aprovar este Bugfix Design
|
|
64
|
+
2. Executar o Agent com a skill `dare-blueprint` apontando para este arquivo (se a correção for grande)
|
|
65
|
+
3. Ou ir direto para a skill `dare-tasks` se for simples
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Passo 5: Pedir Aprovação
|
|
69
|
+
Após gerar o Design, crie um Artifact do tipo Implementation Plan e peça ao usuário para revisar o diagnóstico e a abordagem da correção.
|
|
70
|
+
|
|
71
|
+
## Regras de Ouro para Bugfixes
|
|
72
|
+
|
|
73
|
+
1. **Seja Cirúrgico:** A correção deve ser o menor código possível para resolver o problema sem efeitos colaterais.
|
|
74
|
+
2. **Causa Raiz:** Foque na origem do problema, não no sintoma.
|
|
75
|
+
3. **Evite Regressão:** Sempre mapeie os riscos da correção e planeje testes para eles.
|
|
76
|
+
4. **Adicione Testes:** Se o bug ocorreu, é porque faltava um teste. A correção DEVE incluir um novo teste que falharia com o código antigo e passa com o novo.
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dare-dag
|
|
3
|
-
description: 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. Mapeia o CLI `dare dag`.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Inspecionar e visualizar o DAG de tasks
|
|
7
|
-
|
|
8
|
-
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.
|
|
9
|
-
|
|
10
|
-
> Este comando expõe o CLI `dare dag` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
-
|
|
12
|
-
## Quando usar
|
|
13
|
-
|
|
14
|
-
- Você quer ver a ordem de execução, os ranks e o caminho crítico das tasks.
|
|
15
|
-
- Antes de começar a execução, para conferir a topologia do plano.
|
|
16
|
-
|
|
17
|
-
## Como rodar
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
dare dag viz
|
|
21
|
-
dare dag viz --dag DARE/dare-dag.yaml
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## O que fazer
|
|
25
|
-
|
|
26
|
-
1. Rode `dare dag viz` para renderizar o grafo de tasks.
|
|
27
|
-
2. Confira ranks e dependências; tasks de mesmo rank podem rodar em paralelo.
|
|
28
|
-
3. Para validar a integridade do arquivo, use `/dare-validate`. Para executar, `/dare-execute`.
|
|
29
|
-
|
|
30
|
-
## Comandos relacionados
|
|
31
|
-
|
|
32
|
-
`/dare-validate` · `/dare-execute` · `/dare-graph`
|
|
1
|
+
---
|
|
2
|
+
name: dare-dag
|
|
3
|
+
description: 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. Mapeia o CLI `dare dag`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Inspecionar e visualizar o DAG de tasks
|
|
7
|
+
|
|
8
|
+
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.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare dag` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Você quer ver a ordem de execução, os ranks e o caminho crítico das tasks.
|
|
15
|
+
- Antes de começar a execução, para conferir a topologia do plano.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare dag viz
|
|
21
|
+
dare dag viz --dag DARE/dare-dag.yaml
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## O que fazer
|
|
25
|
+
|
|
26
|
+
1. Rode `dare dag viz` para renderizar o grafo de tasks.
|
|
27
|
+
2. Confira ranks e dependências; tasks de mesmo rank podem rodar em paralelo.
|
|
28
|
+
3. Para validar a integridade do arquivo, use `/dare-validate`. Para executar, `/dare-execute`.
|
|
29
|
+
|
|
30
|
+
## Comandos relacionados
|
|
31
|
+
|
|
32
|
+
`/dare-validate` · `/dare-execute` · `/dare-graph`
|
|
@@ -1,154 +1,154 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dare-dag-build
|
|
3
|
-
description: Regenera APENAS o DARE/dare-dag.yaml a partir do DARE/BLUEPRINT.md existente, sem refazer o blueprint nem as specs. Use quando o BLUEPRINT mudou pouco mas o grafo precisa refletir o novo estado, ou quando você quer experimentar uma decomposição diferente.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# DARE DAG Build Skill
|
|
7
|
-
|
|
8
|
-
Você é o construtor de grafos da fase EXECUTE do método DARE no Antigravity. Esta skill **regenera APENAS** o `DARE/dare-dag.yaml` — não refaz o BLUEPRINT, não refaz as specs, não roda nada. Apenas reconstrói o grafo de tasks a partir do estado atual do BLUEPRINT.
|
|
9
|
-
|
|
10
|
-
> Se você precisa **executar** o grafo, use `dare-dag-run`.
|
|
11
|
-
> Se você precisa **visualizar** o grafo, use `dare-dag-viz`.
|
|
12
|
-
> Se você precisa **fazer tudo de uma vez** (build + run), use `dare-dag-runner`.
|
|
13
|
-
|
|
14
|
-
## Quando usar esta skill
|
|
15
|
-
|
|
16
|
-
- O BLUEPRINT foi ajustado e o grafo precisa refletir as mudanças
|
|
17
|
-
- Você quer experimentar uma decomposição diferente sem refazer o blueprint
|
|
18
|
-
- O `dare-dag.yaml` ficou inconsistente com `EXECUTION/task-*.md`
|
|
19
|
-
- Precisa adicionar/remover/reordenar tasks no grafo
|
|
20
|
-
- A complexidade ou as dependências de tasks mudaram
|
|
21
|
-
|
|
22
|
-
## Pré-requisitos
|
|
23
|
-
|
|
24
|
-
- `DARE/BLUEPRINT.md` existe e está aprovado
|
|
25
|
-
- (Opcional) `DARE/EXECUTION/task-*.md` específicas — serão preservadas se não forem mencionadas
|
|
26
|
-
|
|
27
|
-
## Como usar
|
|
28
|
-
|
|
29
|
-
### Passo 1 — Ler `DARE/BLUEPRINT.md`
|
|
30
|
-
|
|
31
|
-
Obrigatório. Se faltar, peça `dare-blueprint` antes.
|
|
32
|
-
|
|
33
|
-
### Passo 2 — Ler `DARE/dare-dag.yaml` atual (se existir)
|
|
34
|
-
|
|
35
|
-
Para preservar `id`s já em uso e não confundir o usuário com renomeações desnecessárias.
|
|
36
|
-
|
|
37
|
-
### Passo 3 — Gerar o novo `dare-dag.yaml`
|
|
38
|
-
|
|
39
|
-
Schema canônico:
|
|
40
|
-
|
|
41
|
-
```yaml
|
|
42
|
-
title: "<Nome do Projeto> - Development Tasks"
|
|
43
|
-
version: "1.0.0"
|
|
44
|
-
|
|
45
|
-
limits:
|
|
46
|
-
parent_context_chars: 2000
|
|
47
|
-
task_output_chars: 4000
|
|
48
|
-
timeout_seconds: 600
|
|
49
|
-
|
|
50
|
-
models:
|
|
51
|
-
cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
|
|
52
|
-
claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
|
|
53
|
-
antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
|
|
54
|
-
|
|
55
|
-
tasks:
|
|
56
|
-
- id: task-001
|
|
57
|
-
title: "..."
|
|
58
|
-
depends_on: []
|
|
59
|
-
complexity: LOW
|
|
60
|
-
spec_file: EXECUTION/task-001.md
|
|
61
|
-
subtask_prompt: |
|
|
62
|
-
<self-contained>
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**Regras inegociáveis:**
|
|
66
|
-
|
|
67
|
-
- `id` em kebab-case e único
|
|
68
|
-
- `depends_on` mínimo — só quando filha *literalmente* precisa do output do pai
|
|
69
|
-
- `subtask_prompt` self-contained (o subagente recebe apenas isso + 2000 chars dos pais)
|
|
70
|
-
- Pelo menos **2 tasks no rank 0** (paralelismo desde o início)
|
|
71
|
-
- Cadeia linear é antipattern — quebre dependências sempre que possível
|
|
72
|
-
- `complexity` honesta — não inflar nem deflar
|
|
73
|
-
|
|
74
|
-
### Passo 4 — ANTI-STUB CONTRACT (inegociável)
|
|
75
|
-
|
|
76
|
-
Tasks geradas com `subtask_prompt` ou spec genéricos forçam o agente a inventar — e ele vai produzir mock, stub ou esqueleto. **O comando `dare-review` detecta isso e marca a task como FAILED.**
|
|
77
|
-
|
|
78
|
-
Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender:
|
|
79
|
-
|
|
80
|
-
**O `subtask_prompt` precisa ser auto-suficiente.** Inclua:
|
|
81
|
-
- Caminho exato dos arquivos a criar/modificar
|
|
82
|
-
- Assinaturas exatas das funções/endpoints (`fn name(params: T) -> R`)
|
|
83
|
-
- Schema de request/response com tipos
|
|
84
|
-
- Validações específicas (não "validar input" — `email: regex /^.../`, `senha: ≥ 8 chars + 1 maiúscula + 1 dígito`)
|
|
85
|
-
- Edge cases enumerados (input vazio, duplicado, expirado, sem permissão)
|
|
86
|
-
- Lista de testes esperados com nome + comportamento
|
|
87
|
-
|
|
88
|
-
**A `spec_file` (`EXECUTION/task-<id>.md`) precisa ter Definition of Done anti-stub:**
|
|
89
|
-
|
|
90
|
-
```markdown
|
|
91
|
-
## Definition of Done (ANTI-STUB)
|
|
92
|
-
|
|
93
|
-
- [ ] Nenhum TODO, FIXME, XXX ou HACK em arquivos modificados
|
|
94
|
-
- [ ] Nenhuma função vazia (fn x() {}, def x(): pass, function x() {})
|
|
95
|
-
- [ ] Nenhum throw new Error('not implemented'), unimplemented!(), todo!(), NotImplementedError
|
|
96
|
-
- [ ] Nenhum return null/undefined/{} como única statement de função pública
|
|
97
|
-
- [ ] Mocks SOMENTE em *.test.*, *.spec.*, __tests__/, tests/, spec/ — NUNCA em código de produção
|
|
98
|
-
- [ ] Todos os endpoints retornam dados reais (não hardcoded)
|
|
99
|
-
- [ ] Cada validação produz erro real com status code correto (testado)
|
|
100
|
-
- [ ] Cada edge case tem teste demonstrando comportamento
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**Sinais de spec rasa (auto-validar antes de salvar):**
|
|
104
|
-
|
|
105
|
-
- ❌ "Implementar X" — sem assinatura, sem retorno, sem validações
|
|
106
|
-
- ❌ "Tratar erros adequadamente" — quais erros? como? que código?
|
|
107
|
-
- ❌ "Adicionar validações" — quais regras?
|
|
108
|
-
- ✅ "Implementar `POST /auth/login` retornando `{ token: string, refresh: string }` com 200 se credenciais válidas, 401 se inválidas, 429 se rate limit"
|
|
109
|
-
|
|
110
|
-
### Passo 5 — Validar consistência com `EXECUTION/task-*.md`
|
|
111
|
-
|
|
112
|
-
Se uma spec já existe em `DARE/EXECUTION/task-<id>.md`:
|
|
113
|
-
- Mantenha o mesmo `id` no YAML
|
|
114
|
-
- Aponte `spec_file: EXECUTION/task-<id>.md`
|
|
115
|
-
- Se a `complexity` ou `depends_on` mudou, atualize **também** a spec e o `TASKS.md`
|
|
116
|
-
|
|
117
|
-
Se uma task nova entrou no YAML mas não tem spec:
|
|
118
|
-
- Crie a spec correspondente em `EXECUTION/task-<id>.md`
|
|
119
|
-
|
|
120
|
-
Se uma task saiu do YAML mas a spec ficou:
|
|
121
|
-
- Pergunte ao usuário: arquivar (mover para `EXECUTION/_archived/`) ou apagar?
|
|
122
|
-
|
|
123
|
-
### Passo 6 — Validar grafo
|
|
124
|
-
|
|
125
|
-
- Sem ciclos (DAG = Directed Acyclic Graph)
|
|
126
|
-
- Todos os `depends_on` apontam para `id`s existentes
|
|
127
|
-
- `id`s únicos
|
|
128
|
-
- Pelo menos 2 tasks no rank 0
|
|
129
|
-
|
|
130
|
-
### Passo 7 — Atualizar `DARE/TASKS.md`
|
|
131
|
-
|
|
132
|
-
Reflita o novo grafo na tabela master.
|
|
133
|
-
|
|
134
|
-
### Passo 8 — Mensagem ao usuário
|
|
135
|
-
|
|
136
|
-
> `dare-dag.yaml` regenerado:
|
|
137
|
-
> - Total de tasks: N
|
|
138
|
-
> - Ranks paralelos: N
|
|
139
|
-
> - Adicionadas: [...]
|
|
140
|
-
> - Removidas: [...]
|
|
141
|
-
> - Modificadas: [...]
|
|
142
|
-
>
|
|
143
|
-
> Revise e aprove. Para executar: invoque a skill `dare-dag-run`.
|
|
144
|
-
|
|
145
|
-
## Quando NÃO usar esta skill
|
|
146
|
-
|
|
147
|
-
- Se você nunca rodou `dare-blueprint` antes — use `dare-blueprint` primeiro
|
|
148
|
-
- Se o BLUEPRINT está desatualizado — atualize o BLUEPRINT primeiro
|
|
149
|
-
- Se você só quer executar o grafo já aprovado — use `dare-dag-run`
|
|
150
|
-
- Se você quer build + run num único passo — use `dare-dag-runner`
|
|
151
|
-
|
|
152
|
-
## Licença
|
|
153
|
-
|
|
154
|
-
Esta skill é parte do DARE Method e está sob licença MIT (D-001).
|
|
1
|
+
---
|
|
2
|
+
name: dare-dag-build
|
|
3
|
+
description: Regenera APENAS o DARE/dare-dag.yaml a partir do DARE/BLUEPRINT.md existente, sem refazer o blueprint nem as specs. Use quando o BLUEPRINT mudou pouco mas o grafo precisa refletir o novo estado, ou quando você quer experimentar uma decomposição diferente.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DARE DAG Build Skill
|
|
7
|
+
|
|
8
|
+
Você é o construtor de grafos da fase EXECUTE do método DARE no Antigravity. Esta skill **regenera APENAS** o `DARE/dare-dag.yaml` — não refaz o BLUEPRINT, não refaz as specs, não roda nada. Apenas reconstrói o grafo de tasks a partir do estado atual do BLUEPRINT.
|
|
9
|
+
|
|
10
|
+
> Se você precisa **executar** o grafo, use `dare-dag-run`.
|
|
11
|
+
> Se você precisa **visualizar** o grafo, use `dare-dag-viz`.
|
|
12
|
+
> Se você precisa **fazer tudo de uma vez** (build + run), use `dare-dag-runner`.
|
|
13
|
+
|
|
14
|
+
## Quando usar esta skill
|
|
15
|
+
|
|
16
|
+
- O BLUEPRINT foi ajustado e o grafo precisa refletir as mudanças
|
|
17
|
+
- Você quer experimentar uma decomposição diferente sem refazer o blueprint
|
|
18
|
+
- O `dare-dag.yaml` ficou inconsistente com `EXECUTION/task-*.md`
|
|
19
|
+
- Precisa adicionar/remover/reordenar tasks no grafo
|
|
20
|
+
- A complexidade ou as dependências de tasks mudaram
|
|
21
|
+
|
|
22
|
+
## Pré-requisitos
|
|
23
|
+
|
|
24
|
+
- `DARE/BLUEPRINT.md` existe e está aprovado
|
|
25
|
+
- (Opcional) `DARE/EXECUTION/task-*.md` específicas — serão preservadas se não forem mencionadas
|
|
26
|
+
|
|
27
|
+
## Como usar
|
|
28
|
+
|
|
29
|
+
### Passo 1 — Ler `DARE/BLUEPRINT.md`
|
|
30
|
+
|
|
31
|
+
Obrigatório. Se faltar, peça `dare-blueprint` antes.
|
|
32
|
+
|
|
33
|
+
### Passo 2 — Ler `DARE/dare-dag.yaml` atual (se existir)
|
|
34
|
+
|
|
35
|
+
Para preservar `id`s já em uso e não confundir o usuário com renomeações desnecessárias.
|
|
36
|
+
|
|
37
|
+
### Passo 3 — Gerar o novo `dare-dag.yaml`
|
|
38
|
+
|
|
39
|
+
Schema canônico:
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
title: "<Nome do Projeto> - Development Tasks"
|
|
43
|
+
version: "1.0.0"
|
|
44
|
+
|
|
45
|
+
limits:
|
|
46
|
+
parent_context_chars: 2000
|
|
47
|
+
task_output_chars: 4000
|
|
48
|
+
timeout_seconds: 600
|
|
49
|
+
|
|
50
|
+
models:
|
|
51
|
+
cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
|
|
52
|
+
claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
|
|
53
|
+
antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
|
|
54
|
+
|
|
55
|
+
tasks:
|
|
56
|
+
- id: task-001
|
|
57
|
+
title: "..."
|
|
58
|
+
depends_on: []
|
|
59
|
+
complexity: LOW
|
|
60
|
+
spec_file: EXECUTION/task-001.md
|
|
61
|
+
subtask_prompt: |
|
|
62
|
+
<self-contained>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Regras inegociáveis:**
|
|
66
|
+
|
|
67
|
+
- `id` em kebab-case e único
|
|
68
|
+
- `depends_on` mínimo — só quando filha *literalmente* precisa do output do pai
|
|
69
|
+
- `subtask_prompt` self-contained (o subagente recebe apenas isso + 2000 chars dos pais)
|
|
70
|
+
- Pelo menos **2 tasks no rank 0** (paralelismo desde o início)
|
|
71
|
+
- Cadeia linear é antipattern — quebre dependências sempre que possível
|
|
72
|
+
- `complexity` honesta — não inflar nem deflar
|
|
73
|
+
|
|
74
|
+
### Passo 4 — ANTI-STUB CONTRACT (inegociável)
|
|
75
|
+
|
|
76
|
+
Tasks geradas com `subtask_prompt` ou spec genéricos forçam o agente a inventar — e ele vai produzir mock, stub ou esqueleto. **O comando `dare-review` detecta isso e marca a task como FAILED.**
|
|
77
|
+
|
|
78
|
+
Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender:
|
|
79
|
+
|
|
80
|
+
**O `subtask_prompt` precisa ser auto-suficiente.** Inclua:
|
|
81
|
+
- Caminho exato dos arquivos a criar/modificar
|
|
82
|
+
- Assinaturas exatas das funções/endpoints (`fn name(params: T) -> R`)
|
|
83
|
+
- Schema de request/response com tipos
|
|
84
|
+
- Validações específicas (não "validar input" — `email: regex /^.../`, `senha: ≥ 8 chars + 1 maiúscula + 1 dígito`)
|
|
85
|
+
- Edge cases enumerados (input vazio, duplicado, expirado, sem permissão)
|
|
86
|
+
- Lista de testes esperados com nome + comportamento
|
|
87
|
+
|
|
88
|
+
**A `spec_file` (`EXECUTION/task-<id>.md`) precisa ter Definition of Done anti-stub:**
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
## Definition of Done (ANTI-STUB)
|
|
92
|
+
|
|
93
|
+
- [ ] Nenhum TODO, FIXME, XXX ou HACK em arquivos modificados
|
|
94
|
+
- [ ] Nenhuma função vazia (fn x() {}, def x(): pass, function x() {})
|
|
95
|
+
- [ ] Nenhum throw new Error('not implemented'), unimplemented!(), todo!(), NotImplementedError
|
|
96
|
+
- [ ] Nenhum return null/undefined/{} como única statement de função pública
|
|
97
|
+
- [ ] Mocks SOMENTE em *.test.*, *.spec.*, __tests__/, tests/, spec/ — NUNCA em código de produção
|
|
98
|
+
- [ ] Todos os endpoints retornam dados reais (não hardcoded)
|
|
99
|
+
- [ ] Cada validação produz erro real com status code correto (testado)
|
|
100
|
+
- [ ] Cada edge case tem teste demonstrando comportamento
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Sinais de spec rasa (auto-validar antes de salvar):**
|
|
104
|
+
|
|
105
|
+
- ❌ "Implementar X" — sem assinatura, sem retorno, sem validações
|
|
106
|
+
- ❌ "Tratar erros adequadamente" — quais erros? como? que código?
|
|
107
|
+
- ❌ "Adicionar validações" — quais regras?
|
|
108
|
+
- ✅ "Implementar `POST /auth/login` retornando `{ token: string, refresh: string }` com 200 se credenciais válidas, 401 se inválidas, 429 se rate limit"
|
|
109
|
+
|
|
110
|
+
### Passo 5 — Validar consistência com `EXECUTION/task-*.md`
|
|
111
|
+
|
|
112
|
+
Se uma spec já existe em `DARE/EXECUTION/task-<id>.md`:
|
|
113
|
+
- Mantenha o mesmo `id` no YAML
|
|
114
|
+
- Aponte `spec_file: EXECUTION/task-<id>.md`
|
|
115
|
+
- Se a `complexity` ou `depends_on` mudou, atualize **também** a spec e o `TASKS.md`
|
|
116
|
+
|
|
117
|
+
Se uma task nova entrou no YAML mas não tem spec:
|
|
118
|
+
- Crie a spec correspondente em `EXECUTION/task-<id>.md`
|
|
119
|
+
|
|
120
|
+
Se uma task saiu do YAML mas a spec ficou:
|
|
121
|
+
- Pergunte ao usuário: arquivar (mover para `EXECUTION/_archived/`) ou apagar?
|
|
122
|
+
|
|
123
|
+
### Passo 6 — Validar grafo
|
|
124
|
+
|
|
125
|
+
- Sem ciclos (DAG = Directed Acyclic Graph)
|
|
126
|
+
- Todos os `depends_on` apontam para `id`s existentes
|
|
127
|
+
- `id`s únicos
|
|
128
|
+
- Pelo menos 2 tasks no rank 0
|
|
129
|
+
|
|
130
|
+
### Passo 7 — Atualizar `DARE/TASKS.md`
|
|
131
|
+
|
|
132
|
+
Reflita o novo grafo na tabela master.
|
|
133
|
+
|
|
134
|
+
### Passo 8 — Mensagem ao usuário
|
|
135
|
+
|
|
136
|
+
> `dare-dag.yaml` regenerado:
|
|
137
|
+
> - Total de tasks: N
|
|
138
|
+
> - Ranks paralelos: N
|
|
139
|
+
> - Adicionadas: [...]
|
|
140
|
+
> - Removidas: [...]
|
|
141
|
+
> - Modificadas: [...]
|
|
142
|
+
>
|
|
143
|
+
> Revise e aprove. Para executar: invoque a skill `dare-dag-run`.
|
|
144
|
+
|
|
145
|
+
## Quando NÃO usar esta skill
|
|
146
|
+
|
|
147
|
+
- Se você nunca rodou `dare-blueprint` antes — use `dare-blueprint` primeiro
|
|
148
|
+
- Se o BLUEPRINT está desatualizado — atualize o BLUEPRINT primeiro
|
|
149
|
+
- Se você só quer executar o grafo já aprovado — use `dare-dag-run`
|
|
150
|
+
- Se você quer build + run num único passo — use `dare-dag-runner`
|
|
151
|
+
|
|
152
|
+
## Licença
|
|
153
|
+
|
|
154
|
+
Esta skill é parte do DARE Method e está sob licença MIT (D-001).
|