@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,131 +1,131 @@
|
|
|
1
|
-
# /dare-ax
|
|
2
|
-
|
|
3
|
-
Audita ou bootstrapa um projeto DARE com foco em **Agent Experience (AX)** — os sinais estruturados que agentes de código (Claude Code, Cursor, Antigravity) precisam para trabalhar sem refactor desnecessário.
|
|
4
|
-
|
|
5
|
-
## Como usar
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
/dare-ax # audita projeto atual
|
|
9
|
-
/dare-ax init # cria llms.txt + .env.example + ajustes mínimos
|
|
10
|
-
/dare-ax openapi # valida ou gera openapi.json
|
|
11
|
-
/dare-ax cli # adiciona --json em comandos CLI faltantes
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Os três planos AX
|
|
15
|
-
|
|
16
|
-
### 1. Discovery — agente acha o que precisa
|
|
17
|
-
|
|
18
|
-
- `llms.txt` na raiz com descrição, comandos, endpoints
|
|
19
|
-
- `README.md` com bootstrap em 5 minutos
|
|
20
|
-
- Estrutura de pastas previsível (`src/`, `tests/`, `docs/`, `DARE/`)
|
|
21
|
-
|
|
22
|
-
### 2. Usage — agente consegue operar
|
|
23
|
-
|
|
24
|
-
- `openapi.json` em `/openapi.json` (HTTP)
|
|
25
|
-
- Flag `--json` em todos os CLIs
|
|
26
|
-
- `Dockerfile` + `docker-compose.yml` validados
|
|
27
|
-
- `.env.example` versionado
|
|
28
|
-
|
|
29
|
-
### 3. Defense — agente não quebra produção
|
|
30
|
-
|
|
31
|
-
- Rate limit (rack-attack, express-rate-limit, tower-governor, slowapi)
|
|
32
|
-
- Validação de input (FormRequests, Pydantic, Zod, serde+validator)
|
|
33
|
-
- Secrets só via env
|
|
34
|
-
- `llms.txt` sem credenciais (scan no CI)
|
|
35
|
-
|
|
36
|
-
## Métricas obrigatórias
|
|
37
|
-
|
|
38
|
-
| ID | Métrica | Como verificar |
|
|
39
|
-
|---|---|---|
|
|
40
|
-
| M-01 | `llms.txt` existe e é válido (sem secrets, seções obrigatórias) | grep + parse |
|
|
41
|
-
| M-02 | `openapi.json` ou `public/openapi.json` existe | `test -f` |
|
|
42
|
-
| M-03 | CLI suporta `--json` | `cli --help \| grep '\-\-json'` |
|
|
43
|
-
| M-04 | Rate limit configurado | grep pelo middleware da stack |
|
|
44
|
-
|
|
45
|
-
Falha em CI se M-01 ou M-04 falharem em produção.
|
|
46
|
-
|
|
47
|
-
## O que fazer
|
|
48
|
-
|
|
49
|
-
### Passo 1: Auditar o projeto
|
|
50
|
-
|
|
51
|
-
Confira na ordem:
|
|
52
|
-
1. Existe `llms.txt`? Está atualizado?
|
|
53
|
-
2. Existe `openapi.json` se o projeto expõe HTTP?
|
|
54
|
-
3. Todos os CLIs aceitam `--json`?
|
|
55
|
-
4. Existe rate limit em endpoints autenticados públicos?
|
|
56
|
-
5. `.env.example` está versionado sem valores reais?
|
|
57
|
-
|
|
58
|
-
### Passo 2: Gerar `llms.txt` se faltar
|
|
59
|
-
|
|
60
|
-
Use este template — preencha apenas com comandos e endpoints que **existem de verdade**:
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
# <nome-do-projeto>
|
|
64
|
-
|
|
65
|
-
> <descrição em 1-2 frases>
|
|
66
|
-
|
|
67
|
-
## Stack
|
|
68
|
-
- <linguagem + framework>
|
|
69
|
-
- <banco>
|
|
70
|
-
- <cache/fila>
|
|
71
|
-
|
|
72
|
-
## Bootstrap
|
|
73
|
-
- `make setup`
|
|
74
|
-
- `make dev`
|
|
75
|
-
- `make test`
|
|
76
|
-
|
|
77
|
-
## Endpoints
|
|
78
|
-
- `GET /healthz`
|
|
79
|
-
- `GET /openapi.json`
|
|
80
|
-
- `POST /api/login`
|
|
81
|
-
|
|
82
|
-
## Docs
|
|
83
|
-
- DARE/DESIGN.md
|
|
84
|
-
- DARE/BLUEPRINT.md
|
|
85
|
-
- docs/RUNBOOK.md
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Passo 3: Validar / gerar OpenAPI
|
|
89
|
-
|
|
90
|
-
- **Node/NestJS** — `@nestjs/swagger`
|
|
91
|
-
- **FastAPI** — automático em `/openapi.json`
|
|
92
|
-
- **Rails** — `grape-swagger` ou `rswag`
|
|
93
|
-
- **Rust/Axum** — `utoipa` + `utoipa-swagger-ui`
|
|
94
|
-
- **Laravel** — `darkaonline/l5-swagger`
|
|
95
|
-
|
|
96
|
-
### Passo 4: Adicionar `--json` no CLI
|
|
97
|
-
|
|
98
|
-
Para cada comando:
|
|
99
|
-
- Imprime JSON puro em stdout (sem cores ANSI, sem prompt)
|
|
100
|
-
- Exit code 0 em sucesso, ≠ 0 em erro
|
|
101
|
-
- Schema documentado no `llms.txt`
|
|
102
|
-
|
|
103
|
-
### Passo 5: Configurar rate limit
|
|
104
|
-
|
|
105
|
-
Adicione middleware específico da stack para todos os endpoints públicos. Padrão recomendado:
|
|
106
|
-
- Login: 5 req / 15 min por IP + por usuário
|
|
107
|
-
- API geral: 100 req / min por usuário autenticado
|
|
108
|
-
|
|
109
|
-
## Antipatterns a evitar
|
|
110
|
-
|
|
111
|
-
| AP | Por que evitar |
|
|
112
|
-
|---|---|
|
|
113
|
-
| Docs fora do código | Divergem |
|
|
114
|
-
| OpenAPI à mão | Desatualiza |
|
|
115
|
-
| CLI sem `--json` | Parsing regex frágil |
|
|
116
|
-
| Rate limit só em dev | Produção vira target |
|
|
117
|
-
| `llms.txt` com secrets | Credencial exposta |
|
|
118
|
-
| CORS `*` em prod | Origem qualquer |
|
|
119
|
-
|
|
120
|
-
## Saída esperada
|
|
121
|
-
|
|
122
|
-
Reporte numerado dos 4 checks (M-01 a M-04). Para cada falha, mostre:
|
|
123
|
-
- O que falta
|
|
124
|
-
- Como corrigir (com comando concreto da stack)
|
|
125
|
-
- Quem deve aprovar antes do CI travar release
|
|
126
|
-
|
|
127
|
-
$ARGUMENTS
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
Skill MIT — parte do DARE Method.
|
|
1
|
+
# /dare-ax
|
|
2
|
+
|
|
3
|
+
Audita ou bootstrapa um projeto DARE com foco em **Agent Experience (AX)** — os sinais estruturados que agentes de código (Claude Code, Cursor, Antigravity) precisam para trabalhar sem refactor desnecessário.
|
|
4
|
+
|
|
5
|
+
## Como usar
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/dare-ax # audita projeto atual
|
|
9
|
+
/dare-ax init # cria llms.txt + .env.example + ajustes mínimos
|
|
10
|
+
/dare-ax openapi # valida ou gera openapi.json
|
|
11
|
+
/dare-ax cli # adiciona --json em comandos CLI faltantes
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Os três planos AX
|
|
15
|
+
|
|
16
|
+
### 1. Discovery — agente acha o que precisa
|
|
17
|
+
|
|
18
|
+
- `llms.txt` na raiz com descrição, comandos, endpoints
|
|
19
|
+
- `README.md` com bootstrap em 5 minutos
|
|
20
|
+
- Estrutura de pastas previsível (`src/`, `tests/`, `docs/`, `DARE/`)
|
|
21
|
+
|
|
22
|
+
### 2. Usage — agente consegue operar
|
|
23
|
+
|
|
24
|
+
- `openapi.json` em `/openapi.json` (HTTP)
|
|
25
|
+
- Flag `--json` em todos os CLIs
|
|
26
|
+
- `Dockerfile` + `docker-compose.yml` validados
|
|
27
|
+
- `.env.example` versionado
|
|
28
|
+
|
|
29
|
+
### 3. Defense — agente não quebra produção
|
|
30
|
+
|
|
31
|
+
- Rate limit (rack-attack, express-rate-limit, tower-governor, slowapi)
|
|
32
|
+
- Validação de input (FormRequests, Pydantic, Zod, serde+validator)
|
|
33
|
+
- Secrets só via env
|
|
34
|
+
- `llms.txt` sem credenciais (scan no CI)
|
|
35
|
+
|
|
36
|
+
## Métricas obrigatórias
|
|
37
|
+
|
|
38
|
+
| ID | Métrica | Como verificar |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| M-01 | `llms.txt` existe e é válido (sem secrets, seções obrigatórias) | grep + parse |
|
|
41
|
+
| M-02 | `openapi.json` ou `public/openapi.json` existe | `test -f` |
|
|
42
|
+
| M-03 | CLI suporta `--json` | `cli --help \| grep '\-\-json'` |
|
|
43
|
+
| M-04 | Rate limit configurado | grep pelo middleware da stack |
|
|
44
|
+
|
|
45
|
+
Falha em CI se M-01 ou M-04 falharem em produção.
|
|
46
|
+
|
|
47
|
+
## O que fazer
|
|
48
|
+
|
|
49
|
+
### Passo 1: Auditar o projeto
|
|
50
|
+
|
|
51
|
+
Confira na ordem:
|
|
52
|
+
1. Existe `llms.txt`? Está atualizado?
|
|
53
|
+
2. Existe `openapi.json` se o projeto expõe HTTP?
|
|
54
|
+
3. Todos os CLIs aceitam `--json`?
|
|
55
|
+
4. Existe rate limit em endpoints autenticados públicos?
|
|
56
|
+
5. `.env.example` está versionado sem valores reais?
|
|
57
|
+
|
|
58
|
+
### Passo 2: Gerar `llms.txt` se faltar
|
|
59
|
+
|
|
60
|
+
Use este template — preencha apenas com comandos e endpoints que **existem de verdade**:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
# <nome-do-projeto>
|
|
64
|
+
|
|
65
|
+
> <descrição em 1-2 frases>
|
|
66
|
+
|
|
67
|
+
## Stack
|
|
68
|
+
- <linguagem + framework>
|
|
69
|
+
- <banco>
|
|
70
|
+
- <cache/fila>
|
|
71
|
+
|
|
72
|
+
## Bootstrap
|
|
73
|
+
- `make setup`
|
|
74
|
+
- `make dev`
|
|
75
|
+
- `make test`
|
|
76
|
+
|
|
77
|
+
## Endpoints
|
|
78
|
+
- `GET /healthz`
|
|
79
|
+
- `GET /openapi.json`
|
|
80
|
+
- `POST /api/login`
|
|
81
|
+
|
|
82
|
+
## Docs
|
|
83
|
+
- DARE/DESIGN.md
|
|
84
|
+
- DARE/BLUEPRINT.md
|
|
85
|
+
- docs/RUNBOOK.md
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Passo 3: Validar / gerar OpenAPI
|
|
89
|
+
|
|
90
|
+
- **Node/NestJS** — `@nestjs/swagger`
|
|
91
|
+
- **FastAPI** — automático em `/openapi.json`
|
|
92
|
+
- **Rails** — `grape-swagger` ou `rswag`
|
|
93
|
+
- **Rust/Axum** — `utoipa` + `utoipa-swagger-ui`
|
|
94
|
+
- **Laravel** — `darkaonline/l5-swagger`
|
|
95
|
+
|
|
96
|
+
### Passo 4: Adicionar `--json` no CLI
|
|
97
|
+
|
|
98
|
+
Para cada comando:
|
|
99
|
+
- Imprime JSON puro em stdout (sem cores ANSI, sem prompt)
|
|
100
|
+
- Exit code 0 em sucesso, ≠ 0 em erro
|
|
101
|
+
- Schema documentado no `llms.txt`
|
|
102
|
+
|
|
103
|
+
### Passo 5: Configurar rate limit
|
|
104
|
+
|
|
105
|
+
Adicione middleware específico da stack para todos os endpoints públicos. Padrão recomendado:
|
|
106
|
+
- Login: 5 req / 15 min por IP + por usuário
|
|
107
|
+
- API geral: 100 req / min por usuário autenticado
|
|
108
|
+
|
|
109
|
+
## Antipatterns a evitar
|
|
110
|
+
|
|
111
|
+
| AP | Por que evitar |
|
|
112
|
+
|---|---|
|
|
113
|
+
| Docs fora do código | Divergem |
|
|
114
|
+
| OpenAPI à mão | Desatualiza |
|
|
115
|
+
| CLI sem `--json` | Parsing regex frágil |
|
|
116
|
+
| Rate limit só em dev | Produção vira target |
|
|
117
|
+
| `llms.txt` com secrets | Credencial exposta |
|
|
118
|
+
| CORS `*` em prod | Origem qualquer |
|
|
119
|
+
|
|
120
|
+
## Saída esperada
|
|
121
|
+
|
|
122
|
+
Reporte numerado dos 4 checks (M-01 a M-04). Para cada falha, mostre:
|
|
123
|
+
- O que falta
|
|
124
|
+
- Como corrigir (com comando concreto da stack)
|
|
125
|
+
- Quem deve aprovar antes do CI travar release
|
|
126
|
+
|
|
127
|
+
$ARGUMENTS
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
Skill MIT — parte do DARE Method.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# /dare-bench
|
|
2
|
-
|
|
3
|
-
Roda o harness determinístico de fixtures de verificação (`dare bench`) — mede Fix·Rate e solve-rate contra patches versionados.
|
|
4
|
-
|
|
5
|
-
> Este comando expõe o CLI `dare bench` na IDE.
|
|
6
|
-
|
|
7
|
-
## Como rodar
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
dare bench --suite fixtures/bench --json
|
|
11
|
-
dare bench --suite fixtures/bench --baseline bench-baseline.json --fail-on-regression 3
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## O que fazer
|
|
15
|
-
|
|
16
|
-
1. Rode `dare bench` com `--json` para relatório estruturado.
|
|
17
|
-
2. Compare com `--baseline` em CI; exit 1 = regressão > limiar pp.
|
|
18
|
-
3. Exit 2 = suite inválida/ausente.
|
|
1
|
+
# /dare-bench
|
|
2
|
+
|
|
3
|
+
Roda o harness determinístico de fixtures de verificação (`dare bench`) — mede Fix·Rate e solve-rate contra patches versionados.
|
|
4
|
+
|
|
5
|
+
> Este comando expõe o CLI `dare bench` na IDE.
|
|
6
|
+
|
|
7
|
+
## Como rodar
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
dare bench --suite fixtures/bench --json
|
|
11
|
+
dare bench --suite fixtures/bench --baseline bench-baseline.json --fail-on-regression 3
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## O que fazer
|
|
15
|
+
|
|
16
|
+
1. Rode `dare bench` com `--json` para relatório estruturado.
|
|
17
|
+
2. Compare com `--baseline` em CI; exit 1 = regressão > limiar pp.
|
|
18
|
+
3. Exit 2 = suite inválida/ausente.
|
|
@@ -1,134 +1,134 @@
|
|
|
1
|
-
# /dare-blueprint
|
|
2
|
-
|
|
3
|
-
Gera **somente** `DARE/BLUEPRINT.md` a partir do `DARE/DESIGN.md`.
|
|
4
|
-
|
|
5
|
-
> Tasks, DAG e specs de execução são geradas depois com `/dare-tasks`, após aprovação humana do Blueprint.
|
|
6
|
-
|
|
7
|
-
## Como usar
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
/dare-blueprint
|
|
11
|
-
/dare-blueprint --stack node-nestjs+react
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## O que fazer
|
|
15
|
-
|
|
16
|
-
### 1. Ler `DARE/DESIGN.md`
|
|
17
|
-
|
|
18
|
-
Obrigatório. Se não existir, peça para rodar `/dare-design` primeiro.
|
|
19
|
-
|
|
20
|
-
Extraia e use durante todo o comando:
|
|
21
|
-
- Stack técnica (linguagem, framework, versões)
|
|
22
|
-
- Requisitos funcionais priorizados (RF-*)
|
|
23
|
-
- Requisitos de segurança (RS-*)
|
|
24
|
-
- Integrações externas confirmadas
|
|
25
|
-
- Restrições e escopo
|
|
26
|
-
|
|
27
|
-
### 2. Gerar `DARE/BLUEPRINT.md`
|
|
28
|
-
|
|
29
|
-
Siga o template `templates/BLUEPRINT-template.md`. Seções obrigatórias:
|
|
30
|
-
|
|
31
|
-
**2.1 Visão Geral da Arquitetura**
|
|
32
|
-
- Diagrama Mermaid da arquitetura
|
|
33
|
-
- Tabela de decisões arquiteturais com justificativa (não apenas "escolha X")
|
|
34
|
-
|
|
35
|
-
**2.2 Stack Técnica Definida** — versões fixas, não ranges
|
|
36
|
-
|
|
37
|
-
**2.3 Estrutura de Pastas** — árvore completa dos arquivos que serão criados
|
|
38
|
-
|
|
39
|
-
**2.4 Modelo de Dados** — entidades, campos tipados, relacionamentos, índices necessários
|
|
40
|
-
|
|
41
|
-
**2.5 Contratos de API** — tabela completa: método, rota, auth, request body, response, status codes
|
|
42
|
-
|
|
43
|
-
**2.6 Plano de Execução (Fases)** — cada fase com:
|
|
44
|
-
- Nome e objetivo
|
|
45
|
-
- **Critério de DONE** — comportamento verificável e testável (não "código feito")
|
|
46
|
-
- Lista de entregáveis concretos
|
|
47
|
-
|
|
48
|
-
> **Fase 1 é sempre containerização** (Dockerfile + docker-compose + healthcheck)
|
|
49
|
-
> **Fase N-1 é sempre auditoria de segurança e dependências**
|
|
50
|
-
|
|
51
|
-
**2.7 Validation Gates por Stack**
|
|
52
|
-
|
|
53
|
-
| Stack | Build | Test | Lint/Audit |
|
|
54
|
-
|-------|-------|------|------------|
|
|
55
|
-
| Rust/Axum | `cargo build` | `cargo test --workspace` | `cargo clippy && cargo audit` |
|
|
56
|
-
| Node/NestJS | `npm run build` | `npm test` | `npx eslint src && npm audit --audit-level=high` |
|
|
57
|
-
| Python/FastAPI | verificar imports | `pytest` | `ruff check . && pip-audit` |
|
|
58
|
-
| PHP/Laravel | `php artisan config:cache` | `php artisan test` | `./vendor/bin/phpstan && composer audit` |
|
|
59
|
-
| Go | `go build ./...` | `go test ./...` | `golangci-lint run` |
|
|
60
|
-
|
|
61
|
-
**2.8 Controles de Segurança** — checklist com todos os RS-* do DESIGN mapeados para fases específicas
|
|
62
|
-
|
|
63
|
-
**2.9 Estratégia de Testes** — unitários + integração + segurança (auditoria de deps) + E2E se frontend
|
|
64
|
-
|
|
65
|
-
**2.10 Estratégia de Deploy** — por ambiente com branch, trigger e infra
|
|
66
|
-
|
|
67
|
-
**2.11 Checklist de Aprovação** — checkboxes para o usuário revisar antes de prosseguir
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## 🚫 ANTI-STUB CONTRACT (regra inegociável)
|
|
72
|
-
|
|
73
|
-
> **Por que existe esta seção:** o `/dare-tasks` que vem depois usa este Blueprint como **única fonte de verdade**. Se um endpoint, função ou regra ficar genérico aqui, o agente que implementar a task **será forçado a inventar** — e vai produzir mocks, stubs e esqueletos para "preencher o vazio". Detalhe agora.
|
|
74
|
-
>
|
|
75
|
-
> Tasks que produzem mock/stub/skeleton **falham** no `dare review` (introduzido na v2.17) e bloqueiam o `dare execute --complete`.
|
|
76
|
-
|
|
77
|
-
Para **cada** endpoint, função pública, evento ou job declarado no Blueprint, especifique de forma **executável**:
|
|
78
|
-
|
|
79
|
-
### Para endpoints HTTP/RPC
|
|
80
|
-
|
|
81
|
-
- **Assinatura completa:** método, path, headers obrigatórios, content-type
|
|
82
|
-
- **Request schema:** todos os campos com tipo, restrições (min/max/regex), opcionalidade
|
|
83
|
-
- **Response schema por status code:** estrutura para 2xx, 4xx, 5xx — não apenas "200 OK"
|
|
84
|
-
- **Validações server-side:** lista exaustiva de regras (`email único`, `senha ≥ 8 chars + 1 maiúscula + 1 dígito`, etc.)
|
|
85
|
-
- **Edge cases enumerados:** o que acontece com input vazio, duplicado, expirado, sem permissão, com dados inconsistentes
|
|
86
|
-
- **Side effects:** que tabelas/filas/caches/emails são tocados — em ordem
|
|
87
|
-
- **Exemplo concreto (não placeholder):** payload real, response real
|
|
88
|
-
|
|
89
|
-
### Para funções de domínio / services
|
|
90
|
-
|
|
91
|
-
- **Assinatura tipada** (`fn name(args: Types) -> ReturnType` ou equivalente)
|
|
92
|
-
- **Pré-condições** verificáveis (estado obrigatório do banco/cache/etc.)
|
|
93
|
-
- **Pós-condições** verificáveis (o que muda no sistema após retornar OK)
|
|
94
|
-
- **Estados de erro** com tipo de exceção/Result/Either esperado
|
|
95
|
-
- **Comportamento em concorrência** quando relevante (idempotência, locking, retry)
|
|
96
|
-
|
|
97
|
-
### Para jobs / event handlers / workers
|
|
98
|
-
|
|
99
|
-
- **Trigger:** evento, cron, fila — incluir o **nome canônico**
|
|
100
|
-
- **Payload schema** com tipos
|
|
101
|
-
- **Retry policy** (backoff, max attempts, DLQ)
|
|
102
|
-
- **Idempotência:** chave + estratégia
|
|
103
|
-
- **SLA / timeout**
|
|
104
|
-
|
|
105
|
-
### Para modelos de dados
|
|
106
|
-
|
|
107
|
-
- Cada campo: tipo, nullable, default, constraints (unique, fk, check), índices
|
|
108
|
-
- Triggers ou hooks (soft-delete, audit, encryption-at-rest)
|
|
109
|
-
- Estado inicial / seed obrigatório (se aplicável)
|
|
110
|
-
|
|
111
|
-
### Critério de "Blueprint detalhado o suficiente"
|
|
112
|
-
|
|
113
|
-
Antes de salvar, valide internamente — se a resposta a **qualquer** pergunta abaixo for "não", o Blueprint ainda está raso e precisa ser expandido:
|
|
114
|
-
|
|
115
|
-
- [ ] Para cada endpoint, um humano não-familiarizado consegue escrever request/response sem perguntar nada?
|
|
116
|
-
- [ ] Para cada função pública, está claro **o que retorna** em todos os caminhos (sucesso + erros enumerados)?
|
|
117
|
-
- [ ] Edge cases foram **enumerados** ou só listados como "tratar edge cases"?
|
|
118
|
-
- [ ] Cada validação tem uma regra concreta (não "validar email" — `^[a-z0-9._%+-]+@...`)?
|
|
119
|
-
- [ ] Cada decisão arquitetural tem **justificativa** (não só "escolhemos X")?
|
|
120
|
-
|
|
121
|
-
**Anti-padrão a evitar:** seções como _"implementar autenticação"_ ou _"validar dados"_ — isso vai virar stub. Especifique **qual** algoritmo, **quais** campos, **quais** regras.
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
### 3. Salvar e aguardar aprovação humana
|
|
126
|
-
|
|
127
|
-
Salve `DARE/BLUEPRINT.md` e informe:
|
|
128
|
-
|
|
129
|
-
_"Blueprint gerado. Revise a arquitetura, os contratos de API e os critérios de DONE de cada fase — especialmente as tasks de complexidade HIGH. Quando aprovado, rode `/dare-tasks` para gerar o DAG e as specs de execução."_
|
|
130
|
-
|
|
131
|
-
**Não gere** `DARE/TASKS.md`, `DARE/dare-dag.yaml` nem arquivos em `DARE/EXECUTION/`.
|
|
132
|
-
Esses artefatos são responsabilidade exclusiva do `/dare-tasks`.
|
|
133
|
-
|
|
134
|
-
$ARGUMENTS
|
|
1
|
+
# /dare-blueprint
|
|
2
|
+
|
|
3
|
+
Gera **somente** `DARE/BLUEPRINT.md` a partir do `DARE/DESIGN.md`.
|
|
4
|
+
|
|
5
|
+
> Tasks, DAG e specs de execução são geradas depois com `/dare-tasks`, após aprovação humana do Blueprint.
|
|
6
|
+
|
|
7
|
+
## Como usar
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
/dare-blueprint
|
|
11
|
+
/dare-blueprint --stack node-nestjs+react
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## O que fazer
|
|
15
|
+
|
|
16
|
+
### 1. Ler `DARE/DESIGN.md`
|
|
17
|
+
|
|
18
|
+
Obrigatório. Se não existir, peça para rodar `/dare-design` primeiro.
|
|
19
|
+
|
|
20
|
+
Extraia e use durante todo o comando:
|
|
21
|
+
- Stack técnica (linguagem, framework, versões)
|
|
22
|
+
- Requisitos funcionais priorizados (RF-*)
|
|
23
|
+
- Requisitos de segurança (RS-*)
|
|
24
|
+
- Integrações externas confirmadas
|
|
25
|
+
- Restrições e escopo
|
|
26
|
+
|
|
27
|
+
### 2. Gerar `DARE/BLUEPRINT.md`
|
|
28
|
+
|
|
29
|
+
Siga o template `templates/BLUEPRINT-template.md`. Seções obrigatórias:
|
|
30
|
+
|
|
31
|
+
**2.1 Visão Geral da Arquitetura**
|
|
32
|
+
- Diagrama Mermaid da arquitetura
|
|
33
|
+
- Tabela de decisões arquiteturais com justificativa (não apenas "escolha X")
|
|
34
|
+
|
|
35
|
+
**2.2 Stack Técnica Definida** — versões fixas, não ranges
|
|
36
|
+
|
|
37
|
+
**2.3 Estrutura de Pastas** — árvore completa dos arquivos que serão criados
|
|
38
|
+
|
|
39
|
+
**2.4 Modelo de Dados** — entidades, campos tipados, relacionamentos, índices necessários
|
|
40
|
+
|
|
41
|
+
**2.5 Contratos de API** — tabela completa: método, rota, auth, request body, response, status codes
|
|
42
|
+
|
|
43
|
+
**2.6 Plano de Execução (Fases)** — cada fase com:
|
|
44
|
+
- Nome e objetivo
|
|
45
|
+
- **Critério de DONE** — comportamento verificável e testável (não "código feito")
|
|
46
|
+
- Lista de entregáveis concretos
|
|
47
|
+
|
|
48
|
+
> **Fase 1 é sempre containerização** (Dockerfile + docker-compose + healthcheck)
|
|
49
|
+
> **Fase N-1 é sempre auditoria de segurança e dependências**
|
|
50
|
+
|
|
51
|
+
**2.7 Validation Gates por Stack**
|
|
52
|
+
|
|
53
|
+
| Stack | Build | Test | Lint/Audit |
|
|
54
|
+
|-------|-------|------|------------|
|
|
55
|
+
| Rust/Axum | `cargo build` | `cargo test --workspace` | `cargo clippy && cargo audit` |
|
|
56
|
+
| Node/NestJS | `npm run build` | `npm test` | `npx eslint src && npm audit --audit-level=high` |
|
|
57
|
+
| Python/FastAPI | verificar imports | `pytest` | `ruff check . && pip-audit` |
|
|
58
|
+
| PHP/Laravel | `php artisan config:cache` | `php artisan test` | `./vendor/bin/phpstan && composer audit` |
|
|
59
|
+
| Go | `go build ./...` | `go test ./...` | `golangci-lint run` |
|
|
60
|
+
|
|
61
|
+
**2.8 Controles de Segurança** — checklist com todos os RS-* do DESIGN mapeados para fases específicas
|
|
62
|
+
|
|
63
|
+
**2.9 Estratégia de Testes** — unitários + integração + segurança (auditoria de deps) + E2E se frontend
|
|
64
|
+
|
|
65
|
+
**2.10 Estratégia de Deploy** — por ambiente com branch, trigger e infra
|
|
66
|
+
|
|
67
|
+
**2.11 Checklist de Aprovação** — checkboxes para o usuário revisar antes de prosseguir
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 🚫 ANTI-STUB CONTRACT (regra inegociável)
|
|
72
|
+
|
|
73
|
+
> **Por que existe esta seção:** o `/dare-tasks` que vem depois usa este Blueprint como **única fonte de verdade**. Se um endpoint, função ou regra ficar genérico aqui, o agente que implementar a task **será forçado a inventar** — e vai produzir mocks, stubs e esqueletos para "preencher o vazio". Detalhe agora.
|
|
74
|
+
>
|
|
75
|
+
> Tasks que produzem mock/stub/skeleton **falham** no `dare review` (introduzido na v2.17) e bloqueiam o `dare execute --complete`.
|
|
76
|
+
|
|
77
|
+
Para **cada** endpoint, função pública, evento ou job declarado no Blueprint, especifique de forma **executável**:
|
|
78
|
+
|
|
79
|
+
### Para endpoints HTTP/RPC
|
|
80
|
+
|
|
81
|
+
- **Assinatura completa:** método, path, headers obrigatórios, content-type
|
|
82
|
+
- **Request schema:** todos os campos com tipo, restrições (min/max/regex), opcionalidade
|
|
83
|
+
- **Response schema por status code:** estrutura para 2xx, 4xx, 5xx — não apenas "200 OK"
|
|
84
|
+
- **Validações server-side:** lista exaustiva de regras (`email único`, `senha ≥ 8 chars + 1 maiúscula + 1 dígito`, etc.)
|
|
85
|
+
- **Edge cases enumerados:** o que acontece com input vazio, duplicado, expirado, sem permissão, com dados inconsistentes
|
|
86
|
+
- **Side effects:** que tabelas/filas/caches/emails são tocados — em ordem
|
|
87
|
+
- **Exemplo concreto (não placeholder):** payload real, response real
|
|
88
|
+
|
|
89
|
+
### Para funções de domínio / services
|
|
90
|
+
|
|
91
|
+
- **Assinatura tipada** (`fn name(args: Types) -> ReturnType` ou equivalente)
|
|
92
|
+
- **Pré-condições** verificáveis (estado obrigatório do banco/cache/etc.)
|
|
93
|
+
- **Pós-condições** verificáveis (o que muda no sistema após retornar OK)
|
|
94
|
+
- **Estados de erro** com tipo de exceção/Result/Either esperado
|
|
95
|
+
- **Comportamento em concorrência** quando relevante (idempotência, locking, retry)
|
|
96
|
+
|
|
97
|
+
### Para jobs / event handlers / workers
|
|
98
|
+
|
|
99
|
+
- **Trigger:** evento, cron, fila — incluir o **nome canônico**
|
|
100
|
+
- **Payload schema** com tipos
|
|
101
|
+
- **Retry policy** (backoff, max attempts, DLQ)
|
|
102
|
+
- **Idempotência:** chave + estratégia
|
|
103
|
+
- **SLA / timeout**
|
|
104
|
+
|
|
105
|
+
### Para modelos de dados
|
|
106
|
+
|
|
107
|
+
- Cada campo: tipo, nullable, default, constraints (unique, fk, check), índices
|
|
108
|
+
- Triggers ou hooks (soft-delete, audit, encryption-at-rest)
|
|
109
|
+
- Estado inicial / seed obrigatório (se aplicável)
|
|
110
|
+
|
|
111
|
+
### Critério de "Blueprint detalhado o suficiente"
|
|
112
|
+
|
|
113
|
+
Antes de salvar, valide internamente — se a resposta a **qualquer** pergunta abaixo for "não", o Blueprint ainda está raso e precisa ser expandido:
|
|
114
|
+
|
|
115
|
+
- [ ] Para cada endpoint, um humano não-familiarizado consegue escrever request/response sem perguntar nada?
|
|
116
|
+
- [ ] Para cada função pública, está claro **o que retorna** em todos os caminhos (sucesso + erros enumerados)?
|
|
117
|
+
- [ ] Edge cases foram **enumerados** ou só listados como "tratar edge cases"?
|
|
118
|
+
- [ ] Cada validação tem uma regra concreta (não "validar email" — `^[a-z0-9._%+-]+@...`)?
|
|
119
|
+
- [ ] Cada decisão arquitetural tem **justificativa** (não só "escolhemos X")?
|
|
120
|
+
|
|
121
|
+
**Anti-padrão a evitar:** seções como _"implementar autenticação"_ ou _"validar dados"_ — isso vai virar stub. Especifique **qual** algoritmo, **quais** campos, **quais** regras.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### 3. Salvar e aguardar aprovação humana
|
|
126
|
+
|
|
127
|
+
Salve `DARE/BLUEPRINT.md` e informe:
|
|
128
|
+
|
|
129
|
+
_"Blueprint gerado. Revise a arquitetura, os contratos de API e os critérios de DONE de cada fase — especialmente as tasks de complexidade HIGH. Quando aprovado, rode `/dare-tasks` para gerar o DAG e as specs de execução."_
|
|
130
|
+
|
|
131
|
+
**Não gere** `DARE/TASKS.md`, `DARE/dare-dag.yaml` nem arquivos em `DARE/EXECUTION/`.
|
|
132
|
+
Esses artefatos são responsabilidade exclusiva do `/dare-tasks`.
|
|
133
|
+
|
|
134
|
+
$ARGUMENTS
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# /dare-bootstrap
|
|
2
|
-
|
|
3
|
-
Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual.
|
|
4
|
-
|
|
5
|
-
> Este comando expõe o CLI `dare bootstrap` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
6
|
-
|
|
7
|
-
## Quando usar
|
|
8
|
-
|
|
9
|
-
- Logo após `dare init`, para gerar o esqueleto real do framework.
|
|
10
|
-
- Quando `dare.config.json` existe mas os artefatos do framework ainda não foram gerados.
|
|
11
|
-
|
|
12
|
-
## Como rodar
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
dare bootstrap
|
|
16
|
-
dare bootstrap --force # roda mesmo se já houver artefatos (pode sobrescrever)
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## O que fazer
|
|
20
|
-
|
|
21
|
-
1. Confirme que existe `dare.config.json` com a stack definida.
|
|
22
|
-
2. Rode `dare bootstrap` (use `--force` apenas se o usuário aceitar sobrescrever arquivos existentes).
|
|
23
|
-
3. Verifique a saída: arquivos gerados e próximos passos sugeridos pelo CLI.
|
|
24
|
-
|
|
25
|
-
## Comandos relacionados
|
|
26
|
-
|
|
27
|
-
`/dare-init` · `/dare-design`
|
|
1
|
+
# /dare-bootstrap
|
|
2
|
+
|
|
3
|
+
Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual.
|
|
4
|
+
|
|
5
|
+
> Este comando expõe o CLI `dare bootstrap` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
6
|
+
|
|
7
|
+
## Quando usar
|
|
8
|
+
|
|
9
|
+
- Logo após `dare init`, para gerar o esqueleto real do framework.
|
|
10
|
+
- Quando `dare.config.json` existe mas os artefatos do framework ainda não foram gerados.
|
|
11
|
+
|
|
12
|
+
## Como rodar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
dare bootstrap
|
|
16
|
+
dare bootstrap --force # roda mesmo se já houver artefatos (pode sobrescrever)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## O que fazer
|
|
20
|
+
|
|
21
|
+
1. Confirme que existe `dare.config.json` com a stack definida.
|
|
22
|
+
2. Rode `dare bootstrap` (use `--force` apenas se o usuário aceitar sobrescrever arquivos existentes).
|
|
23
|
+
3. Verifique a saída: arquivos gerados e próximos passos sugeridos pelo CLI.
|
|
24
|
+
|
|
25
|
+
## Comandos relacionados
|
|
26
|
+
|
|
27
|
+
`/dare-init` · `/dare-design`
|