@dewtech/dare-cli 2.16.0 → 3.0.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/README.md +196 -3
- package/dist/__tests__/confidence.test.d.ts +2 -0
- package/dist/__tests__/confidence.test.d.ts.map +1 -0
- package/dist/__tests__/confidence.test.js +73 -0
- package/dist/__tests__/confidence.test.js.map +1 -0
- package/dist/__tests__/datamodel.test.d.ts +2 -0
- package/dist/__tests__/datamodel.test.d.ts.map +1 -0
- package/dist/__tests__/datamodel.test.js +131 -0
- package/dist/__tests__/datamodel.test.js.map +1 -0
- package/dist/__tests__/dna-detector.test.d.ts +2 -0
- package/dist/__tests__/dna-detector.test.d.ts.map +1 -0
- package/dist/__tests__/dna-detector.test.js +97 -0
- package/dist/__tests__/dna-detector.test.js.map +1 -0
- package/dist/__tests__/dna-facts.test.d.ts +2 -0
- package/dist/__tests__/dna-facts.test.d.ts.map +1 -0
- package/dist/__tests__/dna-facts.test.js +44 -0
- package/dist/__tests__/dna-facts.test.js.map +1 -0
- package/dist/__tests__/graph-renderer.test.d.ts +2 -0
- package/dist/__tests__/graph-renderer.test.d.ts.map +1 -0
- package/dist/__tests__/graph-renderer.test.js +85 -0
- package/dist/__tests__/graph-renderer.test.js.map +1 -0
- package/dist/__tests__/migration.test.d.ts +2 -0
- package/dist/__tests__/migration.test.d.ts.map +1 -0
- package/dist/__tests__/migration.test.js +77 -0
- package/dist/__tests__/migration.test.js.map +1 -0
- package/dist/__tests__/module-detector.test.d.ts +2 -0
- package/dist/__tests__/module-detector.test.d.ts.map +1 -0
- package/dist/__tests__/module-detector.test.js +83 -0
- package/dist/__tests__/module-detector.test.js.map +1 -0
- package/dist/__tests__/refine.test.d.ts +2 -0
- package/dist/__tests__/refine.test.d.ts.map +1 -0
- package/dist/__tests__/refine.test.js +186 -0
- package/dist/__tests__/refine.test.js.map +1 -0
- package/dist/__tests__/reverse-facts.test.d.ts +2 -0
- package/dist/__tests__/reverse-facts.test.d.ts.map +1 -0
- package/dist/__tests__/reverse-facts.test.js +78 -0
- package/dist/__tests__/reverse-facts.test.js.map +1 -0
- package/dist/__tests__/review.test.d.ts +2 -0
- package/dist/__tests__/review.test.d.ts.map +1 -0
- package/dist/__tests__/review.test.js +242 -0
- package/dist/__tests__/review.test.js.map +1 -0
- package/dist/__tests__/update.test.d.ts +2 -0
- package/dist/__tests__/update.test.d.ts.map +1 -0
- package/dist/__tests__/update.test.js +150 -0
- package/dist/__tests__/update.test.js.map +1 -0
- package/dist/__tests__/validate.test.js +65 -65
- package/dist/bin/dare.js +38 -3
- package/dist/bin/dare.js.map +1 -1
- package/dist/commands/blueprint.js +122 -122
- package/dist/commands/dag.d.ts.map +1 -1
- package/dist/commands/dag.js +43 -79
- package/dist/commands/dag.js.map +1 -1
- package/dist/commands/dna.d.ts +3 -0
- package/dist/commands/dna.d.ts.map +1 -0
- package/dist/commands/dna.js +69 -0
- package/dist/commands/dna.js.map +1 -0
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +76 -0
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/migrate.d.ts +3 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +101 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/new.d.ts +16 -0
- package/dist/commands/new.d.ts.map +1 -0
- package/dist/commands/new.js +103 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/refine.d.ts +16 -0
- package/dist/commands/refine.d.ts.map +1 -0
- package/dist/commands/refine.js +167 -0
- package/dist/commands/refine.js.map +1 -0
- package/dist/commands/reverse.d.ts +3 -0
- package/dist/commands/reverse.d.ts.map +1 -0
- package/dist/commands/reverse.js +201 -0
- package/dist/commands/reverse.js.map +1 -0
- package/dist/commands/review.d.ts +16 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +106 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/update.d.ts +13 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +149 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/welcome.d.ts +14 -0
- package/dist/commands/welcome.d.ts.map +1 -0
- package/dist/commands/welcome.js +29 -0
- package/dist/commands/welcome.js.map +1 -0
- package/dist/skills/commands/add.d.ts +23 -0
- package/dist/skills/commands/add.d.ts.map +1 -0
- package/dist/skills/commands/add.js +206 -0
- package/dist/skills/commands/add.js.map +1 -0
- package/dist/skills/commands/info.d.ts +14 -0
- package/dist/skills/commands/info.d.ts.map +1 -0
- package/dist/skills/commands/info.js +99 -0
- package/dist/skills/commands/info.js.map +1 -0
- package/dist/skills/commands/list.d.ts +19 -0
- package/dist/skills/commands/list.d.ts.map +1 -0
- package/dist/skills/commands/list.js +163 -0
- package/dist/skills/commands/list.js.map +1 -0
- package/dist/skills/commands/publish.d.ts +56 -0
- package/dist/skills/commands/publish.d.ts.map +1 -0
- package/dist/skills/commands/publish.js +272 -0
- package/dist/skills/commands/publish.js.map +1 -0
- package/dist/skills/commands/remove.d.ts +19 -0
- package/dist/skills/commands/remove.d.ts.map +1 -0
- package/dist/skills/commands/remove.js +96 -0
- package/dist/skills/commands/remove.js.map +1 -0
- package/dist/skills/commands/update.d.ts +31 -0
- package/dist/skills/commands/update.d.ts.map +1 -0
- package/dist/skills/commands/update.js +132 -0
- package/dist/skills/commands/update.js.map +1 -0
- package/dist/skills/index.d.ts +22 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +33 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/manifest.d.ts +54 -0
- package/dist/skills/manifest.d.ts.map +1 -0
- package/dist/skills/manifest.js +162 -0
- package/dist/skills/manifest.js.map +1 -0
- package/dist/skills/registry-local.d.ts +67 -0
- package/dist/skills/registry-local.d.ts.map +1 -0
- package/dist/skills/registry-local.js +130 -0
- package/dist/skills/registry-local.js.map +1 -0
- package/dist/skills/registry-mock.json +109 -0
- package/dist/skills/registry-remote.d.ts +110 -0
- package/dist/skills/registry-remote.d.ts.map +1 -0
- package/dist/skills/registry-remote.js +246 -0
- package/dist/skills/registry-remote.js.map +1 -0
- package/dist/skills/registry.d.ts +49 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +94 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/tests/manifest.spec.d.ts +8 -0
- package/dist/skills/tests/manifest.spec.d.ts.map +1 -0
- package/dist/skills/tests/manifest.spec.js +176 -0
- package/dist/skills/tests/manifest.spec.js.map +1 -0
- package/dist/skills/tests/publish.spec.d.ts +12 -0
- package/dist/skills/tests/publish.spec.d.ts.map +1 -0
- package/dist/skills/tests/publish.spec.js +276 -0
- package/dist/skills/tests/publish.spec.js.map +1 -0
- package/dist/skills/tests/registry-local.spec.d.ts +8 -0
- package/dist/skills/tests/registry-local.spec.d.ts.map +1 -0
- package/dist/skills/tests/registry-local.spec.js +231 -0
- package/dist/skills/tests/registry-local.spec.js.map +1 -0
- package/dist/skills/tests/registry.spec.d.ts +7 -0
- package/dist/skills/tests/registry.spec.d.ts.map +1 -0
- package/dist/skills/tests/registry.spec.js +58 -0
- package/dist/skills/tests/registry.spec.js.map +1 -0
- package/dist/skills/tests/remote-registry.spec.d.ts +9 -0
- package/dist/skills/tests/remote-registry.spec.d.ts.map +1 -0
- package/dist/skills/tests/remote-registry.spec.js +357 -0
- package/dist/skills/tests/remote-registry.spec.js.map +1 -0
- package/dist/skills/tests/update.spec.d.ts +9 -0
- package/dist/skills/tests/update.spec.d.ts.map +1 -0
- package/dist/skills/tests/update.spec.js +166 -0
- package/dist/skills/tests/update.spec.js.map +1 -0
- package/dist/types/Refine.types.d.ts +96 -0
- package/dist/types/Refine.types.d.ts.map +1 -0
- package/dist/types/Refine.types.js +19 -0
- package/dist/types/Refine.types.js.map +1 -0
- package/dist/types/Review.types.d.ts +86 -0
- package/dist/types/Review.types.d.ts.map +1 -0
- package/dist/types/Review.types.js +15 -0
- package/dist/types/Review.types.js.map +1 -0
- package/dist/types/UpdateManifest.types.d.ts +91 -0
- package/dist/types/UpdateManifest.types.d.ts.map +1 -0
- package/dist/types/UpdateManifest.types.js +13 -0
- package/dist/types/UpdateManifest.types.js.map +1 -0
- package/dist/utils/ReviewRunner.d.ts +42 -0
- package/dist/utils/ReviewRunner.d.ts.map +1 -0
- package/dist/utils/ReviewRunner.js +175 -0
- package/dist/utils/ReviewRunner.js.map +1 -0
- package/dist/utils/UpdateApplier.d.ts +42 -0
- package/dist/utils/UpdateApplier.d.ts.map +1 -0
- package/dist/utils/UpdateApplier.js +207 -0
- package/dist/utils/UpdateApplier.js.map +1 -0
- package/dist/utils/UpdateDetector.d.ts +56 -0
- package/dist/utils/UpdateDetector.d.ts.map +1 -0
- package/dist/utils/UpdateDetector.js +164 -0
- package/dist/utils/UpdateDetector.js.map +1 -0
- package/dist/utils/banner.d.ts +28 -0
- package/dist/utils/banner.d.ts.map +1 -0
- package/dist/utils/banner.js +77 -0
- package/dist/utils/banner.js.map +1 -0
- package/dist/utils/banner.spec.d.ts +5 -0
- package/dist/utils/banner.spec.d.ts.map +1 -0
- package/dist/utils/banner.spec.js +253 -0
- package/dist/utils/banner.spec.js.map +1 -0
- package/dist/utils/complexity-analyzer.d.ts +60 -0
- package/dist/utils/complexity-analyzer.d.ts.map +1 -0
- package/dist/utils/complexity-analyzer.js +292 -0
- package/dist/utils/complexity-analyzer.js.map +1 -0
- package/dist/utils/confidence.d.ts +41 -0
- package/dist/utils/confidence.d.ts.map +1 -0
- package/dist/utils/confidence.js +101 -0
- package/dist/utils/confidence.js.map +1 -0
- package/dist/utils/datamodel.d.ts +41 -0
- package/dist/utils/datamodel.d.ts.map +1 -0
- package/dist/utils/datamodel.js +535 -0
- package/dist/utils/datamodel.js.map +1 -0
- package/dist/utils/dna-detector.d.ts +61 -0
- package/dist/utils/dna-detector.d.ts.map +1 -0
- package/dist/utils/dna-detector.js +354 -0
- package/dist/utils/dna-detector.js.map +1 -0
- package/dist/utils/dna-facts.d.ts +13 -0
- package/dist/utils/dna-facts.d.ts.map +1 -0
- package/dist/utils/dna-facts.js +109 -0
- package/dist/utils/dna-facts.js.map +1 -0
- package/dist/utils/excalidraw-renderer.d.ts +11 -71
- package/dist/utils/excalidraw-renderer.d.ts.map +1 -1
- package/dist/utils/excalidraw-renderer.js +29 -162
- package/dist/utils/excalidraw-renderer.js.map +1 -1
- package/dist/utils/graph-renderer.d.ts +115 -0
- package/dist/utils/graph-renderer.d.ts.map +1 -0
- package/dist/utils/graph-renderer.js +216 -0
- package/dist/utils/graph-renderer.js.map +1 -0
- package/dist/utils/migration.d.ts +64 -0
- package/dist/utils/migration.d.ts.map +1 -0
- package/dist/utils/migration.js +183 -0
- package/dist/utils/migration.js.map +1 -0
- package/dist/utils/module-detector.d.ts +46 -0
- package/dist/utils/module-detector.d.ts.map +1 -0
- package/dist/utils/module-detector.js +348 -0
- package/dist/utils/module-detector.js.map +1 -0
- package/dist/utils/project-generator.d.ts.map +1 -1
- package/dist/utils/project-generator.js +273 -254
- package/dist/utils/project-generator.js.map +1 -1
- package/dist/utils/reverse-facts.d.ts +50 -0
- package/dist/utils/reverse-facts.d.ts.map +1 -0
- package/dist/utils/reverse-facts.js +291 -0
- package/dist/utils/reverse-facts.js.map +1 -0
- package/dist/utils/stack-bootstrap.js +371 -371
- package/dist/utils/static-analyzer.d.ts +29 -0
- package/dist/utils/static-analyzer.d.ts.map +1 -0
- package/dist/utils/static-analyzer.js +390 -0
- package/dist/utils/static-analyzer.js.map +1 -0
- package/dist/utils/version-compare.d.ts +27 -0
- package/dist/utils/version-compare.d.ts.map +1 -0
- package/dist/utils/version-compare.js +47 -0
- package/dist/utils/version-compare.js.map +1 -0
- package/package.json +8 -3
- package/templates/DARE-dag-example.yaml +280 -280
- package/templates/UPDATE-MANIFEST.json +48 -0
- 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 -0
- package/templates/ide/antigravity/.agents/skills/dare-blueprint/SKILL.md +180 -36
- package/templates/ide/antigravity/.agents/skills/dare-dag-build/SKILL.md +154 -0
- package/templates/ide/antigravity/.agents/skills/dare-dag-run/SKILL.md +130 -0
- package/templates/ide/antigravity/.agents/skills/dare-dag-runner/SKILL.md +203 -203
- package/templates/ide/antigravity/.agents/skills/dare-dna/SKILL.md +63 -0
- package/templates/ide/antigravity/.agents/skills/dare-docker/SKILL.md +315 -0
- package/templates/ide/antigravity/.agents/skills/dare-frontend-design/SKILL.md +192 -0
- package/templates/ide/antigravity/.agents/skills/dare-laravel-api/SKILL.md +337 -0
- package/templates/ide/antigravity/.agents/skills/dare-layered-design/SKILL.md +166 -0
- package/templates/ide/antigravity/.agents/skills/dare-llm-integration/SKILL.md +217 -0
- package/templates/ide/antigravity/.agents/skills/dare-migrate/SKILL.md +61 -0
- package/templates/ide/antigravity/.agents/skills/dare-quality-telemetry/SKILL.md +187 -0
- package/templates/ide/antigravity/.agents/skills/dare-realtime/SKILL.md +217 -0
- package/templates/ide/antigravity/.agents/skills/dare-refine/SKILL.md +114 -0
- package/templates/ide/antigravity/.agents/skills/dare-reverse/SKILL.md +108 -0
- package/templates/ide/antigravity/.agents/skills/dare-review/SKILL.md +111 -0
- package/templates/ide/antigravity/.agents/skills/dare-rust-leptos/SKILL.md +263 -0
- package/templates/ide/antigravity/.agents/skills/dare-rust-workspace/SKILL.md +275 -275
- package/templates/ide/antigravity/.agents/skills/dare-security/SKILL.md +274 -0
- package/templates/ide/antigravity/.agents/skills/dare-tasks/SKILL.md +265 -224
- package/templates/ide/antigravity/.agents/skills/dare-telemetry/SKILL.md +188 -0
- package/templates/ide/antigravity/.agents/skills/skill-fastapi-api/SKILL.md +343 -0
- package/templates/ide/antigravity/.agents/skills/skill-go-gin-api/SKILL.md +377 -0
- package/templates/ide/antigravity/.agents/skills/skill-mcp-server/SKILL.md +382 -0
- package/templates/ide/antigravity/.agents/skills/skill-nestjs-api/SKILL.md +326 -0
- package/templates/ide/antigravity/.agents/skills/skill-rails-api/SKILL.md +393 -0
- 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 -100
- package/templates/ide/claude/.claude/commands/dare-ax.md +131 -0
- package/templates/ide/claude/.claude/commands/dare-blueprint.md +134 -78
- package/templates/ide/claude/.claude/commands/dare-bugfix-design.md +119 -0
- package/templates/ide/claude/.claude/commands/dare-dag-build.md +151 -110
- package/templates/ide/claude/.claude/commands/dare-dag-run.md +109 -109
- package/templates/ide/claude/.claude/commands/dare-dag-runner.md +117 -0
- package/templates/ide/claude/.claude/commands/dare-dag-viz.md +197 -197
- package/templates/ide/claude/.claude/commands/dare-design.md +69 -69
- package/templates/ide/claude/.claude/commands/dare-dna.md +75 -0
- package/templates/ide/claude/.claude/commands/dare-docker.md +207 -0
- package/templates/ide/claude/.claude/commands/dare-execute.md +152 -152
- package/templates/ide/claude/.claude/commands/dare-feature-design.md +147 -0
- package/templates/ide/claude/.claude/commands/dare-frontend-design.md +149 -0
- package/templates/ide/claude/.claude/commands/dare-laravel-api.md +211 -0
- package/templates/ide/claude/.claude/commands/dare-layered-design.md +124 -0
- package/templates/ide/claude/.claude/commands/dare-llm-integration.md +148 -0
- package/templates/ide/claude/.claude/commands/dare-migrate.md +72 -0
- package/templates/ide/claude/.claude/commands/dare-quality-telemetry.md +166 -0
- package/templates/ide/claude/.claude/commands/dare-realtime.md +159 -0
- package/templates/ide/claude/.claude/commands/dare-refine.md +145 -0
- package/templates/ide/claude/.claude/commands/dare-reverse.md +139 -0
- package/templates/ide/claude/.claude/commands/dare-review.md +113 -0
- 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-tasks.md +70 -70
- package/templates/ide/claude/.claude/commands/dare-telemetry.md +132 -0
- package/templates/ide/claude/.claude/commands/skill-fastapi-api.md +205 -0
- package/templates/ide/claude/.claude/commands/skill-go-gin-api.md +232 -0
- package/templates/ide/claude/.claude/commands/skill-mcp-server.md +228 -0
- package/templates/ide/claude/.claude/commands/skill-nestjs-api.md +210 -0
- package/templates/ide/claude/.claude/commands/skill-rails-api.md +236 -0
- 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 -100
- package/templates/ide/cursor/.cursor/commands/dag-viz.md +139 -0
- package/templates/ide/cursor/.cursor/commands/generate-blueprint.md +86 -41
- package/templates/ide/cursor/.cursor/commands/generate-design.md +35 -35
- package/templates/ide/cursor/.cursor/commands/generate-tasks.md +184 -142
- package/templates/ide/cursor/.cursor/commands/refine-task.md +107 -0
- package/templates/ide/cursor/.cursor/commands/review-task.md +91 -0
- package/templates/ide/cursor/.cursor/commands/run-dag.md +110 -110
- package/templates/ide/cursor/.cursor/rules/skill-ax.mdc +263 -0
- package/templates/ide/cursor/.cursor/rules/skill-dag-build.mdc +173 -0
- package/templates/ide/cursor/.cursor/rules/skill-dag-run.mdc +134 -0
- package/templates/ide/cursor/.cursor/rules/skill-dag-runner.mdc +221 -221
- package/templates/ide/cursor/.cursor/rules/skill-dna.mdc +63 -0
- package/templates/ide/cursor/.cursor/rules/skill-fastapi-api.mdc +352 -0
- package/templates/ide/cursor/.cursor/rules/skill-frontend-design.mdc +244 -0
- package/templates/ide/cursor/.cursor/rules/skill-go-gin-api.mdc +371 -0
- package/templates/ide/cursor/.cursor/rules/skill-layered-design.mdc +266 -0
- package/templates/ide/cursor/.cursor/rules/skill-llm-integration.mdc +295 -0
- package/templates/ide/cursor/.cursor/rules/skill-mcp-server.mdc +367 -0
- package/templates/ide/cursor/.cursor/rules/skill-migrate.mdc +58 -0
- package/templates/ide/cursor/.cursor/rules/skill-nestjs-api.mdc +346 -0
- package/templates/ide/cursor/.cursor/rules/skill-quality-telemetry.mdc +248 -0
- package/templates/ide/cursor/.cursor/rules/skill-rails-api.mdc +400 -0
- package/templates/ide/cursor/.cursor/rules/skill-realtime.mdc +262 -0
- package/templates/ide/cursor/.cursor/rules/skill-reverse.mdc +107 -0
- package/templates/ide/cursor/.cursor/rules/skill-rust-leptos.mdc +281 -0
- 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/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 -100
- package/templates/shared/docker-compose.yml +41 -41
- package/dist/__tests__/dag-runner/adapters.test.d.ts +0 -2
- package/dist/__tests__/dag-runner/adapters.test.d.ts.map +0 -1
- package/dist/__tests__/dag-runner/adapters.test.js +0 -134
- package/dist/__tests__/dag-runner/adapters.test.js.map +0 -1
- package/dist/dag-runner/adapters/antigravity.d.ts +0 -6
- package/dist/dag-runner/adapters/antigravity.d.ts.map +0 -1
- package/dist/dag-runner/adapters/antigravity.js +0 -54
- package/dist/dag-runner/adapters/antigravity.js.map +0 -1
- package/dist/dag-runner/adapters/claude.d.ts +0 -6
- package/dist/dag-runner/adapters/claude.d.ts.map +0 -1
- package/dist/dag-runner/adapters/claude.js +0 -48
- package/dist/dag-runner/adapters/claude.js.map +0 -1
- package/dist/dag-runner/adapters/cursor.d.ts +0 -6
- package/dist/dag-runner/adapters/cursor.d.ts.map +0 -1
- package/dist/dag-runner/adapters/cursor.js +0 -58
- package/dist/dag-runner/adapters/cursor.js.map +0 -1
- package/dist/dag-runner/adapters/index.d.ts +0 -46
- package/dist/dag-runner/adapters/index.d.ts.map +0 -1
- package/dist/dag-runner/adapters/index.js +0 -55
- package/dist/dag-runner/adapters/index.js.map +0 -1
- package/dist/dag-runner/utils/timeout.d.ts +0 -27
- package/dist/dag-runner/utils/timeout.d.ts.map +0 -1
- package/dist/dag-runner/utils/timeout.js +0 -55
- package/dist/dag-runner/utils/timeout.js.map +0 -1
|
@@ -1,224 +1,265 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: dare-tasks
|
|
3
|
-
description: Decompõe o BLUEPRINT aprovado em tasks atômicas e gera os 3 artefatos da fase de execução do DARE (TASKS.md, dare-dag.yaml, EXECUTION/task-*.md). Use quando o usuário aprovar o BLUEPRINT.md. A construção do grafo segue rigorosamente a skill dare-dag-runner.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# DARE Tasks Skill
|
|
7
|
-
|
|
8
|
-
Você é o especialista em decomposição de projetos do método DARE. Seu papel é
|
|
9
|
-
quebrar o BLUEPRINT aprovado em tasks atômicas e gerar simultaneamente os
|
|
10
|
-
**três artefatos** da fase de execução, garantindo consistência entre eles.
|
|
11
|
-
|
|
12
|
-
## Quando usar esta skill
|
|
13
|
-
|
|
14
|
-
- BLUEPRINT.md foi aprovado pelo usuário
|
|
15
|
-
- Necessário criar o plano de execução (tasks + grafo + specs)
|
|
16
|
-
- Terceira fase do Método DARE (transição A → E)
|
|
17
|
-
|
|
18
|
-
## Pré-requisitos
|
|
19
|
-
|
|
20
|
-
Antes de gerar, leia também a skill `dare-dag-runner` — ela contém as regras
|
|
21
|
-
inegociáveis do grafo (`depends_on` mínimo, complexity, prompt self-contained,
|
|
22
|
-
limites de 2000/4000 chars, ranks paralelos).
|
|
23
|
-
|
|
24
|
-
## Os 3 artefatos sempre juntos
|
|
25
|
-
|
|
26
|
-
| Arquivo | Para quê | Lido por |
|
|
27
|
-
|---------|----------|----------|
|
|
28
|
-
| `DARE/TASKS.md` | Visão humana com tabela e progresso | Humano |
|
|
29
|
-
| `DARE/dare-dag.yaml` | Grafo executável | CLI `dare execute` |
|
|
30
|
-
| `DARE/EXECUTION/task-<id>.md` | Spec detalhada por task | Subagente ao executar |
|
|
31
|
-
|
|
32
|
-
Os três precisam estar **consistentes**: mesmos `id`s, mesmas `depends_on`,
|
|
33
|
-
mesmas `complexity`. Inconsistência aqui quebra a execução.
|
|
34
|
-
|
|
35
|
-
## Como usar
|
|
36
|
-
|
|
37
|
-
### Passo 1: Ler o BLUEPRINT aprovado
|
|
38
|
-
|
|
39
|
-
Leia `DARE/BLUEPRINT.md`. Extraia:
|
|
40
|
-
- Fases do plano de execução
|
|
41
|
-
- Endpoints, modelos de dados, schemas
|
|
42
|
-
- Estrutura de diretórios
|
|
43
|
-
- Decisões arquiteturais
|
|
44
|
-
- Estratégia de testes
|
|
45
|
-
|
|
46
|
-
### Passo 2: Decompor em tasks atômicas
|
|
47
|
-
|
|
48
|
-
Cada task deve:
|
|
49
|
-
- Ser pequena o suficiente para uma conversa única (15–60 min de trabalho)
|
|
50
|
-
- Ter dependências reais e mínimas (não falsas)
|
|
51
|
-
- Ser testável isoladamente
|
|
52
|
-
- Incluir validações de segurança apropriadas
|
|
53
|
-
- Ter `complexity` honesta (LOW/MED/HIGH)
|
|
54
|
-
|
|
55
|
-
### Passo 3: Gerar `DARE/TASKS.md` (visão humana)
|
|
56
|
-
|
|
57
|
-
```markdown
|
|
58
|
-
# Tasks: [Nome do Projeto]
|
|
59
|
-
|
|
60
|
-
## Visão Geral
|
|
61
|
-
- Total de Tasks: [N]
|
|
62
|
-
- Ranks paralelos: [N]
|
|
63
|
-
- Tempo estimado: [horas]
|
|
64
|
-
|
|
65
|
-
## Tabela de Status
|
|
66
|
-
|
|
67
|
-
| ID | Título | Status | Depends On | Complexity |
|
|
68
|
-
|----------|-----------------------------|-------------|------------------|------------|
|
|
69
|
-
| task-001 | Setup project structure | ⏳ PENDING | — | LOW |
|
|
70
|
-
| task-002 | DB migrations | ⏳ PENDING | — | MED |
|
|
71
|
-
| task-003 | Auth controllers | ⏳ PENDING | task-001, 002 | HIGH |
|
|
72
|
-
| ... | ... | ... | ... | ... |
|
|
73
|
-
|
|
74
|
-
## Tarefas por Fase
|
|
75
|
-
|
|
76
|
-
### Phase 1: Setup
|
|
77
|
-
- task-001: Setup project structure
|
|
78
|
-
- task-002: DB migrations
|
|
79
|
-
|
|
80
|
-
### Phase 2: Auth
|
|
81
|
-
- task-003: Auth controllers (deps: 001, 002)
|
|
82
|
-
- ...
|
|
83
|
-
|
|
84
|
-
## Próximas Etapas
|
|
85
|
-
1. Revisar e aprovar este TASKS.md
|
|
86
|
-
2. Executar paralelo: `dare execute --parallel`
|
|
87
|
-
3. Ou task isolada: `/dare-execute task-001`
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Passo 4: Gerar `DARE/dare-dag.yaml` (grafo executável)
|
|
91
|
-
|
|
92
|
-
Schema canônico:
|
|
93
|
-
|
|
94
|
-
```yaml
|
|
95
|
-
title: "[Nome do Projeto] - Development Tasks"
|
|
96
|
-
version: "1.0.0"
|
|
97
|
-
|
|
98
|
-
limits:
|
|
99
|
-
parent_context_chars: 2000
|
|
100
|
-
task_output_chars: 4000
|
|
101
|
-
timeout_seconds: 600
|
|
102
|
-
|
|
103
|
-
models:
|
|
104
|
-
cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
|
|
105
|
-
claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
|
|
106
|
-
antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
|
|
107
|
-
|
|
108
|
-
tasks:
|
|
109
|
-
- id: task-001
|
|
110
|
-
title: "Setup project structure"
|
|
111
|
-
depends_on: []
|
|
112
|
-
complexity: LOW
|
|
113
|
-
spec_file: EXECUTION/task-001.md
|
|
114
|
-
subtask_prompt: |
|
|
115
|
-
Setup base project structure following DARE/BLUEPRINT.md.
|
|
116
|
-
Create directories, initialize package files. No business logic yet.
|
|
117
|
-
Validation gate: project builds.
|
|
118
|
-
|
|
119
|
-
- id: task-002
|
|
120
|
-
title: "DB migrations"
|
|
121
|
-
depends_on: []
|
|
122
|
-
complexity: MED
|
|
123
|
-
spec_file: EXECUTION/task-002.md
|
|
124
|
-
subtask_prompt: |
|
|
125
|
-
Create migrations for users and refresh_tokens tables per BLUEPRINT.
|
|
126
|
-
Include indexes and FKs. Validation gate: migrate runs cleanly.
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
**Regras inegociáveis (da skill dare-dag-runner):**
|
|
130
|
-
- `id` em kebab-case e único
|
|
131
|
-
- `depends_on` mínimo — só quando filha **literalmente** precisa do output
|
|
132
|
-
- `subtask_prompt` self-contained (subagente recebe só ele + 2000 chars de pais)
|
|
133
|
-
- Pelo menos 2 tasks no rank 0 (`depends_on: []`)
|
|
134
|
-
- Cadeia linear é antipattern — reveja
|
|
135
|
-
|
|
136
|
-
### Passo 5: Gerar `DARE/EXECUTION/task-<id>.md` (specs detalhadas)
|
|
137
|
-
|
|
138
|
-
Para CADA task no YAML, crie a spec usando `templates/TASK-SPEC-template.md`:
|
|
139
|
-
|
|
140
|
-
```markdown
|
|
141
|
-
# Task 001: Setup project structure
|
|
142
|
-
|
|
143
|
-
## Objetivo
|
|
144
|
-
Criar a estrutura base do projeto seguindo o BLUEPRINT.
|
|
145
|
-
|
|
146
|
-
## Descrição
|
|
147
|
-
Inicializar diretórios, package files e configuração mínima.
|
|
148
|
-
Sem lógica de negócio — apenas scaffolding.
|
|
149
|
-
|
|
150
|
-
## Arquivos a Criar
|
|
151
|
-
- `src/` (diretório)
|
|
152
|
-
- `tests/` (diretório)
|
|
153
|
-
- `package.json` (ou equivalente da stack)
|
|
154
|
-
- `.gitignore`
|
|
155
|
-
|
|
156
|
-
## Validation Gates
|
|
157
|
-
- [ ] Estrutura criada
|
|
158
|
-
- [ ] Build passa sem erros
|
|
159
|
-
- [ ] Lint sem warnings
|
|
160
|
-
- [ ] `package.json` (ou Cargo.toml, composer.json) válido
|
|
161
|
-
|
|
162
|
-
## Testes
|
|
163
|
-
```bash
|
|
164
|
-
npm run build # ou cargo build, composer install, etc.
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
## Segurança
|
|
168
|
-
- `.env` no `.gitignore`
|
|
169
|
-
- Nenhum secret commitado
|
|
170
|
-
|
|
171
|
-
## Próxima Task
|
|
172
|
-
Task 002: DB migrations
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
### Passo
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
1
|
+
---
|
|
2
|
+
name: dare-tasks
|
|
3
|
+
description: Decompõe o BLUEPRINT aprovado em tasks atômicas e gera os 3 artefatos da fase de execução do DARE (TASKS.md, dare-dag.yaml, EXECUTION/task-*.md). Use quando o usuário aprovar o BLUEPRINT.md. A construção do grafo segue rigorosamente a skill dare-dag-runner.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DARE Tasks Skill
|
|
7
|
+
|
|
8
|
+
Você é o especialista em decomposição de projetos do método DARE. Seu papel é
|
|
9
|
+
quebrar o BLUEPRINT aprovado em tasks atômicas e gerar simultaneamente os
|
|
10
|
+
**três artefatos** da fase de execução, garantindo consistência entre eles.
|
|
11
|
+
|
|
12
|
+
## Quando usar esta skill
|
|
13
|
+
|
|
14
|
+
- BLUEPRINT.md foi aprovado pelo usuário
|
|
15
|
+
- Necessário criar o plano de execução (tasks + grafo + specs)
|
|
16
|
+
- Terceira fase do Método DARE (transição A → E)
|
|
17
|
+
|
|
18
|
+
## Pré-requisitos
|
|
19
|
+
|
|
20
|
+
Antes de gerar, leia também a skill `dare-dag-runner` — ela contém as regras
|
|
21
|
+
inegociáveis do grafo (`depends_on` mínimo, complexity, prompt self-contained,
|
|
22
|
+
limites de 2000/4000 chars, ranks paralelos).
|
|
23
|
+
|
|
24
|
+
## Os 3 artefatos sempre juntos
|
|
25
|
+
|
|
26
|
+
| Arquivo | Para quê | Lido por |
|
|
27
|
+
|---------|----------|----------|
|
|
28
|
+
| `DARE/TASKS.md` | Visão humana com tabela e progresso | Humano |
|
|
29
|
+
| `DARE/dare-dag.yaml` | Grafo executável | CLI `dare execute` |
|
|
30
|
+
| `DARE/EXECUTION/task-<id>.md` | Spec detalhada por task | Subagente ao executar |
|
|
31
|
+
|
|
32
|
+
Os três precisam estar **consistentes**: mesmos `id`s, mesmas `depends_on`,
|
|
33
|
+
mesmas `complexity`. Inconsistência aqui quebra a execução.
|
|
34
|
+
|
|
35
|
+
## Como usar
|
|
36
|
+
|
|
37
|
+
### Passo 1: Ler o BLUEPRINT aprovado
|
|
38
|
+
|
|
39
|
+
Leia `DARE/BLUEPRINT.md`. Extraia:
|
|
40
|
+
- Fases do plano de execução
|
|
41
|
+
- Endpoints, modelos de dados, schemas
|
|
42
|
+
- Estrutura de diretórios
|
|
43
|
+
- Decisões arquiteturais
|
|
44
|
+
- Estratégia de testes
|
|
45
|
+
|
|
46
|
+
### Passo 2: Decompor em tasks atômicas
|
|
47
|
+
|
|
48
|
+
Cada task deve:
|
|
49
|
+
- Ser pequena o suficiente para uma conversa única (15–60 min de trabalho)
|
|
50
|
+
- Ter dependências reais e mínimas (não falsas)
|
|
51
|
+
- Ser testável isoladamente
|
|
52
|
+
- Incluir validações de segurança apropriadas
|
|
53
|
+
- Ter `complexity` honesta (LOW/MED/HIGH)
|
|
54
|
+
|
|
55
|
+
### Passo 3: Gerar `DARE/TASKS.md` (visão humana)
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
# Tasks: [Nome do Projeto]
|
|
59
|
+
|
|
60
|
+
## Visão Geral
|
|
61
|
+
- Total de Tasks: [N]
|
|
62
|
+
- Ranks paralelos: [N]
|
|
63
|
+
- Tempo estimado: [horas]
|
|
64
|
+
|
|
65
|
+
## Tabela de Status
|
|
66
|
+
|
|
67
|
+
| ID | Título | Status | Depends On | Complexity |
|
|
68
|
+
|----------|-----------------------------|-------------|------------------|------------|
|
|
69
|
+
| task-001 | Setup project structure | ⏳ PENDING | — | LOW |
|
|
70
|
+
| task-002 | DB migrations | ⏳ PENDING | — | MED |
|
|
71
|
+
| task-003 | Auth controllers | ⏳ PENDING | task-001, 002 | HIGH |
|
|
72
|
+
| ... | ... | ... | ... | ... |
|
|
73
|
+
|
|
74
|
+
## Tarefas por Fase
|
|
75
|
+
|
|
76
|
+
### Phase 1: Setup
|
|
77
|
+
- task-001: Setup project structure
|
|
78
|
+
- task-002: DB migrations
|
|
79
|
+
|
|
80
|
+
### Phase 2: Auth
|
|
81
|
+
- task-003: Auth controllers (deps: 001, 002)
|
|
82
|
+
- ...
|
|
83
|
+
|
|
84
|
+
## Próximas Etapas
|
|
85
|
+
1. Revisar e aprovar este TASKS.md
|
|
86
|
+
2. Executar paralelo: `dare execute --parallel`
|
|
87
|
+
3. Ou task isolada: `/dare-execute task-001`
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Passo 4: Gerar `DARE/dare-dag.yaml` (grafo executável)
|
|
91
|
+
|
|
92
|
+
Schema canônico:
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
title: "[Nome do Projeto] - Development Tasks"
|
|
96
|
+
version: "1.0.0"
|
|
97
|
+
|
|
98
|
+
limits:
|
|
99
|
+
parent_context_chars: 2000
|
|
100
|
+
task_output_chars: 4000
|
|
101
|
+
timeout_seconds: 600
|
|
102
|
+
|
|
103
|
+
models:
|
|
104
|
+
cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
|
|
105
|
+
claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
|
|
106
|
+
antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
|
|
107
|
+
|
|
108
|
+
tasks:
|
|
109
|
+
- id: task-001
|
|
110
|
+
title: "Setup project structure"
|
|
111
|
+
depends_on: []
|
|
112
|
+
complexity: LOW
|
|
113
|
+
spec_file: EXECUTION/task-001.md
|
|
114
|
+
subtask_prompt: |
|
|
115
|
+
Setup base project structure following DARE/BLUEPRINT.md.
|
|
116
|
+
Create directories, initialize package files. No business logic yet.
|
|
117
|
+
Validation gate: project builds.
|
|
118
|
+
|
|
119
|
+
- id: task-002
|
|
120
|
+
title: "DB migrations"
|
|
121
|
+
depends_on: []
|
|
122
|
+
complexity: MED
|
|
123
|
+
spec_file: EXECUTION/task-002.md
|
|
124
|
+
subtask_prompt: |
|
|
125
|
+
Create migrations for users and refresh_tokens tables per BLUEPRINT.
|
|
126
|
+
Include indexes and FKs. Validation gate: migrate runs cleanly.
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Regras inegociáveis (da skill dare-dag-runner):**
|
|
130
|
+
- `id` em kebab-case e único
|
|
131
|
+
- `depends_on` mínimo — só quando filha **literalmente** precisa do output
|
|
132
|
+
- `subtask_prompt` self-contained (subagente recebe só ele + 2000 chars de pais)
|
|
133
|
+
- Pelo menos 2 tasks no rank 0 (`depends_on: []`)
|
|
134
|
+
- Cadeia linear é antipattern — reveja
|
|
135
|
+
|
|
136
|
+
### Passo 5: Gerar `DARE/EXECUTION/task-<id>.md` (specs detalhadas)
|
|
137
|
+
|
|
138
|
+
Para CADA task no YAML, crie a spec usando `templates/TASK-SPEC-template.md`:
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
# Task 001: Setup project structure
|
|
142
|
+
|
|
143
|
+
## Objetivo
|
|
144
|
+
Criar a estrutura base do projeto seguindo o BLUEPRINT.
|
|
145
|
+
|
|
146
|
+
## Descrição
|
|
147
|
+
Inicializar diretórios, package files e configuração mínima.
|
|
148
|
+
Sem lógica de negócio — apenas scaffolding.
|
|
149
|
+
|
|
150
|
+
## Arquivos a Criar
|
|
151
|
+
- `src/` (diretório)
|
|
152
|
+
- `tests/` (diretório)
|
|
153
|
+
- `package.json` (ou equivalente da stack)
|
|
154
|
+
- `.gitignore`
|
|
155
|
+
|
|
156
|
+
## Validation Gates
|
|
157
|
+
- [ ] Estrutura criada
|
|
158
|
+
- [ ] Build passa sem erros
|
|
159
|
+
- [ ] Lint sem warnings
|
|
160
|
+
- [ ] `package.json` (ou Cargo.toml, composer.json) válido
|
|
161
|
+
|
|
162
|
+
## Testes
|
|
163
|
+
```bash
|
|
164
|
+
npm run build # ou cargo build, composer install, etc.
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Segurança
|
|
168
|
+
- `.env` no `.gitignore`
|
|
169
|
+
- Nenhum secret commitado
|
|
170
|
+
|
|
171
|
+
## Próxima Task
|
|
172
|
+
Task 002: DB migrations
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Passo 5.1: ANTI-STUB CONTRACT (inegociável)
|
|
176
|
+
|
|
177
|
+
> Tasks geradas com `subtask_prompt` ou spec genéricos forçam o agente a inventar — e ele vai produzir mock, stub ou esqueleto. **Não é negociável**. O comando `dare review <task-id>` (v2.17+) detecta isso e marca a task como FAILED.
|
|
178
|
+
|
|
179
|
+
Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender este contrato:
|
|
180
|
+
|
|
181
|
+
**O `subtask_prompt` deve ser auto-suficiente**
|
|
182
|
+
|
|
183
|
+
O subagente recebe **apenas** o `subtask_prompt` + snippets de 2000 chars dos pais. Inclua:
|
|
184
|
+
|
|
185
|
+
- Caminho exato dos arquivos a criar/modificar
|
|
186
|
+
- Assinaturas exatas das funções/endpoints (`fn name(params: T) -> R`)
|
|
187
|
+
- Schema de request/response com tipos
|
|
188
|
+
- Validações específicas (não "validar input" — `email: regex`, `senha: ≥ 8 chars + maiúscula + dígito`)
|
|
189
|
+
- Edge cases enumerados (input vazio, duplicado, expirado, sem permissão)
|
|
190
|
+
- Lista de testes esperados com nome + comportamento
|
|
191
|
+
|
|
192
|
+
**A `spec_file` deve ter Definition of Done anti-stub:**
|
|
193
|
+
|
|
194
|
+
```markdown
|
|
195
|
+
## Definition of Done (ANTI-STUB)
|
|
196
|
+
|
|
197
|
+
- [ ] Nenhum `TODO`, `FIXME`, `XXX` ou `HACK` em arquivos modificados
|
|
198
|
+
- [ ] Nenhuma função vazia (`fn x() {}`, `def x(): pass`, `function x() {}`)
|
|
199
|
+
- [ ] Nenhum `throw new Error('not implemented')`, `unimplemented!()`, `todo!()`, `NotImplementedError`
|
|
200
|
+
- [ ] Nenhum `return null` / `return undefined` / `return {}` como única statement de função pública
|
|
201
|
+
- [ ] Mocks **somente** dentro de `*.test.*`, `*.spec.*`, `__tests__/`, `tests/`, `spec/`
|
|
202
|
+
- [ ] Endpoints retornam dados reais (não fixos / hardcoded)
|
|
203
|
+
- [ ] Cada validação produz erro real com status code correto (testado)
|
|
204
|
+
- [ ] Cada edge case tem teste unitário/integração
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Verificação:** o agente vai rodar `dare review <id>` antes de DONE. Falhou → volta pra revisão.
|
|
208
|
+
|
|
209
|
+
**Sinais de spec rasa:**
|
|
210
|
+
|
|
211
|
+
- ❌ "Implementar X" — sem assinatura, sem retorno, sem validações
|
|
212
|
+
- ❌ "Tratar erros adequadamente" — quais erros?
|
|
213
|
+
- ❌ "Adicionar validações" — quais regras?
|
|
214
|
+
- ✅ "Implementar `POST /auth/login` retornando `{ token, refresh }` com 200/401/429"
|
|
215
|
+
|
|
216
|
+
### Passo 6: Validar consistência
|
|
217
|
+
|
|
218
|
+
Antes de entregar, confirme:
|
|
219
|
+
- [ ] Mesmos `id`s em `TASKS.md`, `dare-dag.yaml` e `EXECUTION/task-*.md`
|
|
220
|
+
- [ ] Mesmas `depends_on` nos três
|
|
221
|
+
- [ ] Mesmas `complexity`
|
|
222
|
+
- [ ] Sem ciclos no grafo
|
|
223
|
+
- [ ] Pelo menos 2 tasks no rank 0
|
|
224
|
+
- [ ] Cada `subtask_prompt` é executável sem contexto adicional
|
|
225
|
+
|
|
226
|
+
### Passo 7: Regenerar a visualização do DAG
|
|
227
|
+
|
|
228
|
+
Depois de salvar o `dare-dag.yaml`, rode:
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
dare dag viz -o DARE/dag-graph.mmd
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Isso reescreve `DARE/dag-graph.mmd` (Mermaid) refletindo o grafo atualizado.
|
|
235
|
+
O usuário pode abrir o arquivo no Antigravity para visualizar o grafo
|
|
236
|
+
estático com cores por status antes de executar.
|
|
237
|
+
|
|
238
|
+
### Passo 8: Pedir aprovação
|
|
239
|
+
|
|
240
|
+
> Gerados os 4 artefatos da fase de execução:
|
|
241
|
+
> - `DARE/TASKS.md` ([N] tasks)
|
|
242
|
+
> - `DARE/dare-dag.yaml` ([N] ranks paralelos)
|
|
243
|
+
> - `DARE/EXECUTION/task-*.md` ([N] specs)
|
|
244
|
+
> - `DARE/dag-graph.mmd` (visualização Mermaid do DAG)
|
|
245
|
+
>
|
|
246
|
+
> Revise (abra `dag-graph.mmd` para ver o grafo). Quando aprovar:
|
|
247
|
+
> `dare execute --next` para iniciar a execução.
|
|
248
|
+
|
|
249
|
+
## Boas práticas
|
|
250
|
+
|
|
251
|
+
1. **Atômicas:** cada task é independente o suficiente para uma conversa
|
|
252
|
+
2. **Testáveis:** validation gates específicos da stack
|
|
253
|
+
3. **Documentadas:** specs claras e auto-contidas
|
|
254
|
+
4. **Seguras:** integre OWASP nos pontos sensíveis
|
|
255
|
+
5. **Paralelizáveis:** maximize rank 0; minimize cadeias lineares
|
|
256
|
+
|
|
257
|
+
## Erros comuns a evitar
|
|
258
|
+
|
|
259
|
+
| Erro | Como corrigir |
|
|
260
|
+
|------|---------------|
|
|
261
|
+
| Cadeia linear `001→002→003→...` | Adicione paralelismo onde a dependência é falsa |
|
|
262
|
+
| `subtask_prompt` referenciando "como combinamos" | Coloque tudo no prompt explicitamente |
|
|
263
|
+
| Tudo em `complexity: HIGH` | Avalie honestamente — HIGH só para lógica crítica |
|
|
264
|
+
| `id` duplicado ou com espaços | Use kebab-case e únicos |
|
|
265
|
+
| Inconsistência entre os 3 artefatos | Revise antes de aprovar |
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-telemetry
|
|
3
|
+
description: Rastreamento de tokens e modelos de IA consumidos em cada etapa do Método DARE. Gera DARE/TELEMETRY.md com modelo usado, tokens estimados, tempo e tentativas (Ralph Loop) por comando — para auditoria, monitoramento de uso e otimização de custos.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DARE Telemetry Skill
|
|
7
|
+
|
|
8
|
+
Você é um especialista em observabilidade e monitoramento de uso de IA. Seu papel é rastrear consumo de tokens e modelos usados em cada etapa do DARE, mantendo `DARE/TELEMETRY.md` atualizado.
|
|
9
|
+
|
|
10
|
+
> **Diferença com `dare-quality-telemetry`:**
|
|
11
|
+
> - `dare-telemetry` (esta) — rastreia **uso de IA** (modelos, tokens, tempo) por comando DARE
|
|
12
|
+
> - `dare-quality-telemetry` — agrega **métricas de qualidade** das skills (M-01 a M-04)
|
|
13
|
+
|
|
14
|
+
## Quando usar
|
|
15
|
+
|
|
16
|
+
- Ao final de cada comando DARE executado
|
|
17
|
+
- Para gerar relatório periódico de uso de IA
|
|
18
|
+
- Para auditoria de compliance (qual IA foi usada, onde)
|
|
19
|
+
- Para otimização de custos (qual etapa consome mais)
|
|
20
|
+
|
|
21
|
+
## Modelos rastreáveis
|
|
22
|
+
|
|
23
|
+
Independente do IDE/agente:
|
|
24
|
+
|
|
25
|
+
| Modelo | Provider | Características | Melhor para |
|
|
26
|
+
|---|---|---|---|
|
|
27
|
+
| Claude Opus 4.7 | Anthropic | Análise profunda, refactor longo | Design, blueprint, security review |
|
|
28
|
+
| Claude Sonnet 4.5 | Anthropic | Equilíbrio velocidade/qualidade | Execução de tasks |
|
|
29
|
+
| GPT-4 Turbo | OpenAI | Versátil | Tarefas gerais |
|
|
30
|
+
| Gemini 2.0 Flash | Google | Ultra rápido | Tasks simples, processamento em batch |
|
|
31
|
+
| Modelos locais (Ollama) | Self-hosted | Privacidade total | Dados sensíveis |
|
|
32
|
+
|
|
33
|
+
## Estrutura `DARE/TELEMETRY.md`
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
# Telemetria do Projeto: [Nome]
|
|
37
|
+
|
|
38
|
+
## Resumo Executivo
|
|
39
|
+
- **Projeto:** [Nome]
|
|
40
|
+
- **Data de início:** [ISO 8601]
|
|
41
|
+
- **Tokens totais processados:** [Número]
|
|
42
|
+
- **Modelos utilizados:** [Lista]
|
|
43
|
+
- **Tempo total de execução:** [Tempo]
|
|
44
|
+
- **Custo estimado:** $[X]
|
|
45
|
+
|
|
46
|
+
## Detalhamento por Etapa
|
|
47
|
+
|
|
48
|
+
### 1. Design (`/dare-design`)
|
|
49
|
+
- **Data/Hora:** [Timestamp]
|
|
50
|
+
- **Modelo:** Claude Opus 4.7
|
|
51
|
+
- **Tokens estimados (in/out):** 7,390 / 1,250
|
|
52
|
+
- **Tempo de execução:** 45 segundos
|
|
53
|
+
- **Comando:** `/dare-design "Criar API de autenticação"`
|
|
54
|
+
- **Resultado:** DESIGN.md gerado, 12 RFs, 8 RNFs, 5 RS
|
|
55
|
+
- **Observações:** [Ajustes manuais necessários, etc.]
|
|
56
|
+
|
|
57
|
+
### 2. Blueprint (`/dare-blueprint`)
|
|
58
|
+
- **Data/Hora:** [Timestamp]
|
|
59
|
+
- **Modelo:** Claude Opus 4.7
|
|
60
|
+
- **Tokens estimados (in/out):** 21,373 / 4,800
|
|
61
|
+
- **Tempo:** 2 min
|
|
62
|
+
- **Arquivo processado:** DARE/DESIGN.md
|
|
63
|
+
- **Resultado:** BLUEPRINT.md com 8 fases, 25 tabelas, 4 diagramas Mermaid
|
|
64
|
+
|
|
65
|
+
### 3. Tasks (`/dare-tasks`)
|
|
66
|
+
- **Tokens estimados:** 33,912 / 8,200
|
|
67
|
+
- **Tempo:** 3 min 20 seg
|
|
68
|
+
- **Arquivo processado:** DARE/BLUEPRINT.md
|
|
69
|
+
- **Tasks geradas:** 12
|
|
70
|
+
|
|
71
|
+
### 4. Execute Tasks (`/dare-execute`)
|
|
72
|
+
|
|
73
|
+
- **task-001 — Migration de Users**
|
|
74
|
+
- Modelo: Claude Sonnet 4.5
|
|
75
|
+
- Tokens: 7,801 / 2,500
|
|
76
|
+
- Tempo: 1 min 30 seg
|
|
77
|
+
- Tentativas (Ralph Loop): 1
|
|
78
|
+
- Status: ✓ Sucesso
|
|
79
|
+
|
|
80
|
+
- **task-002 — AuthController**
|
|
81
|
+
- Modelo: Claude Sonnet 4.5
|
|
82
|
+
- Tokens: 11,357 / 3,200
|
|
83
|
+
- Tempo: 2 min
|
|
84
|
+
- Tentativas: 2 (1 falha por typo)
|
|
85
|
+
- Status: ✓ Sucesso
|
|
86
|
+
|
|
87
|
+
## Análise
|
|
88
|
+
|
|
89
|
+
| Etapa | Tokens in/out | % do total | Tempo |
|
|
90
|
+
|---|---|---|---|
|
|
91
|
+
| Design | 7,390 / 1,250 | 5% | 45 seg |
|
|
92
|
+
| Blueprint | 21,373 / 4,800 | 15% | 2 min |
|
|
93
|
+
| Tasks | 33,912 / 8,200 | 24% | 3 min 20 seg |
|
|
94
|
+
| Execute (12 tasks) | 85,234 / 24,000 | 56% | 25 min |
|
|
95
|
+
| **TOTAL** | **147,909 / 38,250** | **100%** | **~31 min** |
|
|
96
|
+
|
|
97
|
+
## Modelos utilizados
|
|
98
|
+
|
|
99
|
+
- Claude Opus 4.7: 62,675 tokens (42%) — design + blueprint + tasks
|
|
100
|
+
- Claude Sonnet 4.5: 85,234 tokens (58%) — execução de tasks
|
|
101
|
+
|
|
102
|
+
## Custo estimado
|
|
103
|
+
|
|
104
|
+
| Modelo | Tokens in | Tokens out | $/M in | $/M out | Total |
|
|
105
|
+
|---|---|---|---|---|---|
|
|
106
|
+
| Opus 4.7 | 62,675 | 14,250 | $15 | $75 | $2.01 |
|
|
107
|
+
| Sonnet 4.5 | 85,234 | 24,000 | $3 | $15 | $0.62 |
|
|
108
|
+
| **Total** | | | | | **$2.63** |
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Como aplicar
|
|
112
|
+
|
|
113
|
+
### Passo 1: Após `/dare-design`
|
|
114
|
+
|
|
115
|
+
Adicione entrada na seção Design com:
|
|
116
|
+
- Timestamp
|
|
117
|
+
- Modelo do agente (perguntar ao usuário se não souber automaticamente)
|
|
118
|
+
- Tokens estimados (in/out) — pegar do output do modelo se disponível
|
|
119
|
+
- Tempo de execução
|
|
120
|
+
- Comando executado
|
|
121
|
+
- Observações qualitativas
|
|
122
|
+
|
|
123
|
+
### Passo 2: Após `/dare-blueprint`
|
|
124
|
+
|
|
125
|
+
Idem. Adicione tabelas e diagramas gerados como resultado.
|
|
126
|
+
|
|
127
|
+
### Passo 3: Após `/dare-tasks`
|
|
128
|
+
|
|
129
|
+
Inclua número de tasks geradas, complexidade média.
|
|
130
|
+
|
|
131
|
+
### Passo 4: Após cada `/dare-execute`
|
|
132
|
+
|
|
133
|
+
Para cada task:
|
|
134
|
+
- Modelo usado
|
|
135
|
+
- Tokens
|
|
136
|
+
- Tempo
|
|
137
|
+
- **Tentativas no Ralph Loop** (importante — se >2, task precisa refino)
|
|
138
|
+
- Status (Sucesso/Falha)
|
|
139
|
+
|
|
140
|
+
### Passo 5: Recompilar análise + custos
|
|
141
|
+
|
|
142
|
+
A cada 5 tasks ou release, atualize a seção Análise com totais agregados.
|
|
143
|
+
|
|
144
|
+
## Capturando informações do agente
|
|
145
|
+
|
|
146
|
+
Cada IDE expõe diferente:
|
|
147
|
+
|
|
148
|
+
**Antigravity:**
|
|
149
|
+
- Modelo aparece no header da conversa
|
|
150
|
+
- Tokens estimados em `?ax-debug` ou settings
|
|
151
|
+
|
|
152
|
+
**Claude Code:**
|
|
153
|
+
- `/cost` mostra tokens da sessão
|
|
154
|
+
- Modelo no rodapé
|
|
155
|
+
|
|
156
|
+
**Cursor:**
|
|
157
|
+
- Barra de status canto inferior direito
|
|
158
|
+
- Histórico de conversa tem detalhes por resposta
|
|
159
|
+
|
|
160
|
+
## Otimizações recomendadas
|
|
161
|
+
|
|
162
|
+
1. **Modelo certo para tarefa certa**
|
|
163
|
+
- Opus → design/blueprint/security review
|
|
164
|
+
- Sonnet → execução
|
|
165
|
+
- Gemini Flash → tasks simples, batch
|
|
166
|
+
2. **Reutilizar contexto** — múltiplas tasks na mesma sessão economiza re-leitura
|
|
167
|
+
3. **Revisar Blueprint antes de Tasks** — evita re-geração
|
|
168
|
+
4. **Agrupar tasks relacionadas** — contexto reaproveitado
|
|
169
|
+
5. **Ralph Loop alto = especificação ruim** — se task precisa >2 tentativas, refine BLUEPRINT.md
|
|
170
|
+
|
|
171
|
+
## Antipatterns
|
|
172
|
+
|
|
173
|
+
| AP | Antipattern | Por quê |
|
|
174
|
+
|---|---|---|
|
|
175
|
+
| AP-01 | Não rastrear telemetria | Sem dados para otimizar |
|
|
176
|
+
| AP-02 | Usar Opus para tasks triviais | Desperdício de custo |
|
|
177
|
+
| AP-03 | Ignorar Ralph Loop alto | Specs ruins se acumulam |
|
|
178
|
+
| AP-04 | Não auditar modelo (compliance) | Risco regulatório se houver |
|
|
179
|
+
|
|
180
|
+
## Dicas
|
|
181
|
+
|
|
182
|
+
- **Combine** com `dare-quality-telemetry` — esta rastreia uso de IA, aquela rastreia qualidade
|
|
183
|
+
- **Exporte** TELEMETRY.md para dashboard (Grafana, Notion, etc.) periodicamente
|
|
184
|
+
- **Trate custo como métrica** — adicione ao Ralph Loop como gate (>$Y/feature = revisar specs)
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
Esta skill é parte do DARE Method e está sob licença MIT.
|