@dewtech/dare-cli 2.17.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 +98 -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.js +49 -49
- 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.js +38 -38
- package/dist/__tests__/validate.test.js +65 -65
- package/dist/bin/dare.js +32 -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/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/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/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/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/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.js +252 -252
- 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/package.json +8 -3
- package/templates/DARE-dag-example.yaml +280 -280
- package/templates/UPDATE-MANIFEST.json +48 -48
- 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-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 -114
- package/templates/ide/antigravity/.agents/skills/dare-reverse/SKILL.md +108 -0
- package/templates/ide/antigravity/.agents/skills/dare-review/SKILL.md +111 -111
- 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 -265
- 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 -141
- package/templates/ide/claude/.claude/commands/dare-ax.md +131 -0
- package/templates/ide/claude/.claude/commands/dare-blueprint.md +134 -134
- package/templates/ide/claude/.claude/commands/dare-bugfix-design.md +119 -0
- 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 -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 -145
- package/templates/ide/claude/.claude/commands/dare-reverse.md +139 -0
- 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-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 -141
- package/templates/ide/cursor/.cursor/commands/dag-viz.md +139 -0
- package/templates/ide/cursor/.cursor/commands/generate-blueprint.md +86 -86
- package/templates/ide/cursor/.cursor/commands/generate-design.md +35 -35
- package/templates/ide/cursor/.cursor/commands/generate-tasks.md +184 -184
- package/templates/ide/cursor/.cursor/commands/refine-task.md +107 -107
- package/templates/ide/cursor/.cursor/commands/review-task.md +91 -91
- 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 -141
- 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
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Regenera APENAS o DARE/dare-dag.yaml a partir do BLUEPRINT.md já existente — sem refazer o blueprint nem as specs. Use quando o BLUEPRINT mudou pouco mas o grafo precisa refletir o novo estado, ou para experimentar uma decomposição diferente.
|
|
3
|
+
globs: DARE/BLUEPRINT.md,DARE/dare-dag.yaml,DARE/EXECUTION/**
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: DAG Build — Regerar o grafo
|
|
8
|
+
|
|
9
|
+
Esta skill regenera **apenas** o `DARE/dare-dag.yaml` a partir do BLUEPRINT
|
|
10
|
+
existente. Não refaz o blueprint, não refaz specs, não executa nada.
|
|
11
|
+
|
|
12
|
+
> Para **executar** o grafo, use a skill `skill-dag-runner` (rule) ou o
|
|
13
|
+
> comando `/run-dag`.
|
|
14
|
+
> Para **visualizar** o grafo, use o comando `/dag-viz`.
|
|
15
|
+
> Para **build + run num único passo**, use `skill-dag-runner` que cobre
|
|
16
|
+
> ambos.
|
|
17
|
+
|
|
18
|
+
## Quando usar
|
|
19
|
+
|
|
20
|
+
- O BLUEPRINT foi ajustado e o grafo precisa refletir
|
|
21
|
+
- Você quer experimentar uma decomposição diferente sem refazer o blueprint
|
|
22
|
+
- O `dare-dag.yaml` ficou inconsistente com `EXECUTION/task-*.md`
|
|
23
|
+
- Precisa adicionar/remover/reordenar tasks no grafo
|
|
24
|
+
- A complexidade ou as dependências de tasks mudaram
|
|
25
|
+
|
|
26
|
+
## Pré-requisitos
|
|
27
|
+
|
|
28
|
+
- `DARE/BLUEPRINT.md` existe e está aprovado
|
|
29
|
+
- (Opcional) `DARE/EXECUTION/task-*.md` específicas serão preservadas se não
|
|
30
|
+
forem mencionadas
|
|
31
|
+
|
|
32
|
+
## Procedimento
|
|
33
|
+
|
|
34
|
+
### 1. Ler `DARE/BLUEPRINT.md`
|
|
35
|
+
|
|
36
|
+
Obrigatório. Se faltar, peça ao usuário rodar `/generate-blueprint` antes.
|
|
37
|
+
|
|
38
|
+
### 2. Ler `DARE/dare-dag.yaml` atual (se existir)
|
|
39
|
+
|
|
40
|
+
Para preservar `id`s já em uso e não confundir o usuário com renomeações
|
|
41
|
+
desnecessárias.
|
|
42
|
+
|
|
43
|
+
### 3. Gerar o novo `dare-dag.yaml`
|
|
44
|
+
|
|
45
|
+
Schema canônico:
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
title: "<Nome do Projeto> - Development Tasks"
|
|
49
|
+
version: "1.0.0"
|
|
50
|
+
|
|
51
|
+
limits:
|
|
52
|
+
parent_context_chars: 2000
|
|
53
|
+
task_output_chars: 4000
|
|
54
|
+
timeout_seconds: 600
|
|
55
|
+
|
|
56
|
+
models:
|
|
57
|
+
cursor: { HIGH: gpt-5.3-codex, MED: composer-2, LOW: auto-low }
|
|
58
|
+
claude: { HIGH: claude-sonnet-4-5, MED: claude-haiku-4, LOW: claude-haiku-4 }
|
|
59
|
+
antigravity: { HIGH: gemini-2.5-pro, MED: gemini-2.5-flash, LOW: gemini-2.5-flash }
|
|
60
|
+
|
|
61
|
+
tasks:
|
|
62
|
+
- id: task-001
|
|
63
|
+
title: "..."
|
|
64
|
+
depends_on: []
|
|
65
|
+
complexity: LOW
|
|
66
|
+
spec_file: EXECUTION/task-001.md
|
|
67
|
+
subtask_prompt: |
|
|
68
|
+
<self-contained>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Regras inegociáveis:**
|
|
72
|
+
|
|
73
|
+
- `id` em kebab-case e único
|
|
74
|
+
- `depends_on` mínimo — só quando filha *literalmente* precisa do output do pai
|
|
75
|
+
- `subtask_prompt` self-contained
|
|
76
|
+
- Pelo menos **2 tasks no rank 0** (paralelismo desde o início)
|
|
77
|
+
- Cadeia linear é antipattern — quebre dependências sempre que possível
|
|
78
|
+
- `complexity` honesta — não inflar nem deflar
|
|
79
|
+
|
|
80
|
+
### 4. ANTI-STUB CONTRACT (inegociável)
|
|
81
|
+
|
|
82
|
+
Tasks geradas com `subtask_prompt` ou spec genéricos forçam o agente a
|
|
83
|
+
inventar — e ele vai produzir mock, stub ou esqueleto. O comando
|
|
84
|
+
`/review-task` (ou `dare review <id>`) detecta isso e marca a task como
|
|
85
|
+
FAILED.
|
|
86
|
+
|
|
87
|
+
Cada `subtask_prompt` e `EXECUTION/task-<id>.md` deve atender este contrato:
|
|
88
|
+
|
|
89
|
+
**O `subtask_prompt` precisa ser auto-suficiente.** O subagente recebe
|
|
90
|
+
**apenas** o `subtask_prompt` + snippets de 2000 chars dos pais. Inclua:
|
|
91
|
+
|
|
92
|
+
- Caminho exato dos arquivos a criar/modificar
|
|
93
|
+
- Assinaturas exatas das funções/endpoints
|
|
94
|
+
- Schema de request/response com tipos
|
|
95
|
+
- Validações específicas (não "validar input" — `email: regex /^.../`)
|
|
96
|
+
- Edge cases enumerados
|
|
97
|
+
- Lista de testes esperados com nome + comportamento
|
|
98
|
+
|
|
99
|
+
**A `spec_file` precisa ter Definition of Done anti-stub:**
|
|
100
|
+
|
|
101
|
+
```markdown
|
|
102
|
+
## Definition of Done (ANTI-STUB)
|
|
103
|
+
|
|
104
|
+
- [ ] Nenhum TODO, FIXME, XXX ou HACK em arquivos modificados
|
|
105
|
+
- [ ] Nenhuma função vazia
|
|
106
|
+
- [ ] Nenhum `throw new Error('not implemented')`, `unimplemented!()`, `todo!()`, `NotImplementedError`
|
|
107
|
+
- [ ] Nenhum return null/undefined/{} como única statement de função pública
|
|
108
|
+
- [ ] Mocks SOMENTE em *.test.*, *.spec.*, __tests__/, tests/, spec/
|
|
109
|
+
- [ ] Todos os endpoints retornam dados reais (não hardcoded)
|
|
110
|
+
- [ ] Cada validação produz erro real com status code correto (testado)
|
|
111
|
+
- [ ] Cada edge case tem teste demonstrando comportamento
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Sinais de spec rasa (auto-validar antes de salvar):**
|
|
115
|
+
|
|
116
|
+
- ❌ "Implementar X" — sem assinatura, sem retorno, sem validações
|
|
117
|
+
- ❌ "Tratar erros adequadamente" — quais erros? como? que código?
|
|
118
|
+
- ❌ "Adicionar validações" — quais regras?
|
|
119
|
+
- ✅ "Implementar `POST /auth/login` retornando `{ token, refresh }` com 200 se válido, 401 se inválido, 429 se rate limit"
|
|
120
|
+
|
|
121
|
+
### 5. Validar consistência com `EXECUTION/task-*.md`
|
|
122
|
+
|
|
123
|
+
Se uma spec existe em `DARE/EXECUTION/task-<id>.md`:
|
|
124
|
+
- Mantenha o mesmo `id` no YAML
|
|
125
|
+
- Aponte `spec_file: EXECUTION/task-<id>.md`
|
|
126
|
+
- Se a `complexity` ou `depends_on` mudou, atualize **também** a spec e o `TASKS.md`
|
|
127
|
+
|
|
128
|
+
Se uma task nova entrou no YAML mas não tem spec:
|
|
129
|
+
- Crie a spec correspondente em `EXECUTION/task-<id>.md`
|
|
130
|
+
|
|
131
|
+
Se uma task saiu do YAML mas a spec ficou:
|
|
132
|
+
- Pergunte ao usuário: arquivar (mover para `EXECUTION/_archived/`) ou apagar?
|
|
133
|
+
|
|
134
|
+
### 6. Validar grafo
|
|
135
|
+
|
|
136
|
+
- Sem ciclos
|
|
137
|
+
- Todos os `depends_on` apontam para `id`s existentes
|
|
138
|
+
- `id`s únicos
|
|
139
|
+
- Pelo menos 2 tasks no rank 0
|
|
140
|
+
|
|
141
|
+
### 7. Atualizar `DARE/TASKS.md`
|
|
142
|
+
|
|
143
|
+
Reflita o novo grafo na tabela master.
|
|
144
|
+
|
|
145
|
+
### 8. Mensagem ao usuário
|
|
146
|
+
|
|
147
|
+
> `dare-dag.yaml` regenerado:
|
|
148
|
+
> - Total de tasks: N
|
|
149
|
+
> - Ranks paralelos: N
|
|
150
|
+
> - Adicionadas: [...]
|
|
151
|
+
> - Removidas: [...]
|
|
152
|
+
> - Modificadas: [...]
|
|
153
|
+
>
|
|
154
|
+
> Revise e aprove. Para executar: `/run-dag`.
|
|
155
|
+
|
|
156
|
+
## Quando NÃO usar
|
|
157
|
+
|
|
158
|
+
- Se você nunca rodou `/generate-blueprint` antes — use ele primeiro
|
|
159
|
+
- Se o BLUEPRINT está desatualizado — atualize o BLUEPRINT primeiro
|
|
160
|
+
- Se você só quer executar o grafo já aprovado — use `skill-dag-runner` ou `/run-dag`
|
|
161
|
+
- Se você quer build + run num único passo — `skill-dag-runner` cobre
|
|
162
|
+
|
|
163
|
+
## Referências
|
|
164
|
+
|
|
165
|
+
- Schema: `DARE/dare-dag.yaml`
|
|
166
|
+
- Specs: `DARE/EXECUTION/task-*.md`
|
|
167
|
+
- Status: `DARE/TASKS.md`
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Licença
|
|
172
|
+
|
|
173
|
+
Esta skill é parte do DARE Method e está sob licença MIT (D-001).
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Executa o grafo de tasks definido em DARE/dare-dag.yaml usando Cursor como executor e o CLI dare como orquestrador. Sem API keys — usa o plano nativo da IDE. O canvas ao vivo fica em DARE/.canvas.md.
|
|
3
|
+
globs: DARE/dare-dag.yaml,DARE/EXECUTION/**,DARE/.canvas.md
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: DAG Run — Executar o grafo
|
|
8
|
+
|
|
9
|
+
Esta skill **executa** o grafo que já foi construído — não regenera o
|
|
10
|
+
`dare-dag.yaml`, não modifica o BLUEPRINT, não cria specs novas. Apenas
|
|
11
|
+
roda as tasks na ordem topológica correta.
|
|
12
|
+
|
|
13
|
+
> Para **(re)construir** o grafo, use `skill-dag-build`.
|
|
14
|
+
> Para **visualizar** o grafo, use o comando `/dag-viz`.
|
|
15
|
+
> Para **build + run num único passo**, use `skill-dag-runner`.
|
|
16
|
+
|
|
17
|
+
> **Sem API keys.** Você (Cursor) usa o plano nativo da IDE. O CLI `dare`
|
|
18
|
+
> apenas coordena estado, monta prompts e atualiza o canvas.
|
|
19
|
+
|
|
20
|
+
## Quando usar
|
|
21
|
+
|
|
22
|
+
- `DARE/dare-dag.yaml` está aprovado e pronto
|
|
23
|
+
- As specs em `DARE/EXECUTION/task-<id>.md` estão geradas
|
|
24
|
+
- É hora de implementar as tasks na ordem do grafo
|
|
25
|
+
- O usuário aprovou os ANTI-STUB contracts
|
|
26
|
+
|
|
27
|
+
## Pré-requisitos
|
|
28
|
+
|
|
29
|
+
- `DARE/dare-dag.yaml` existe e foi aprovado pelo usuário
|
|
30
|
+
- Specs em `DARE/EXECUTION/task-<id>.md` geradas (se não, use `skill-dag-build`)
|
|
31
|
+
- `dare` disponível no PATH (`npm i -g @dewtech/dare-cli`)
|
|
32
|
+
|
|
33
|
+
## Procedimento
|
|
34
|
+
|
|
35
|
+
### 1. Validar pré-condições
|
|
36
|
+
|
|
37
|
+
- Confirme que `DARE/dare-dag.yaml` existe. Se não, oriente
|
|
38
|
+
`/generate-blueprint` ou `skill-dag-build`
|
|
39
|
+
- Leia o YAML e verifique: sem ciclos, ids únicos, ranks paralelizáveis
|
|
40
|
+
- Liste para o usuário: total de tasks, ranks, próximas ready
|
|
41
|
+
|
|
42
|
+
### 2. Pegar próximas tasks
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
dare execute --next
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
O CLI imprime as tasks **ready** do rank atual com o prompt completo
|
|
49
|
+
(snippets de até 2000 chars dos outputs dos pais já costurados). Use esses
|
|
50
|
+
prompts diretamente.
|
|
51
|
+
|
|
52
|
+
### 3. Sugerir abrir o canvas
|
|
53
|
+
|
|
54
|
+
Antes de começar, peça ao usuário abrir `DARE/.canvas.md` em outra aba do
|
|
55
|
+
Cursor. Esse é o feedback visual ao vivo da execução.
|
|
56
|
+
|
|
57
|
+
### 4. Executar cada task
|
|
58
|
+
|
|
59
|
+
Para cada task ready:
|
|
60
|
+
|
|
61
|
+
1. Leia `spec_file` se houver (`DARE/EXECUTION/task-<id>.md`)
|
|
62
|
+
2. Implemente conforme o `subtask_prompt` — **não invente, não use mock fora de tests, sem TODOs**
|
|
63
|
+
3. Rode o Ralph Loop completo: build → test → lint
|
|
64
|
+
4. Registre o resultado no CLI:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Sucesso
|
|
68
|
+
dare execute --complete task-001 --output "Resumo curto + paths dos arquivos criados/modificados"
|
|
69
|
+
|
|
70
|
+
# Falha
|
|
71
|
+
dare execute --fail task-002 --reason "Mensagem clara da falha"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 5. Avançar de rank
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
dare execute --next
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Se aparecer `✅ All tasks resolved`, todas terminaram. Reporte o resumo.
|
|
81
|
+
Caso contrário, continue executando o próximo rank.
|
|
82
|
+
|
|
83
|
+
### 6. Pós-execução
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
dare execute --status
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Snapshot do canvas + sumário (X DONE, Y FAILED, Z SKIPPED).
|
|
90
|
+
|
|
91
|
+
Para retentar tasks FAILED:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
dare execute --reset task-002
|
|
95
|
+
dare execute --next
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Comandos do orquestrador `dare`
|
|
99
|
+
|
|
100
|
+
| Comando | Função |
|
|
101
|
+
|---------|--------|
|
|
102
|
+
| `dare execute --next` | Próximas tasks ready com prompts compostos |
|
|
103
|
+
| `dare execute --complete <id> --output "..."` | Marca DONE |
|
|
104
|
+
| `dare execute --fail <id> --reason "..."` | Marca FAILED + cascade-skip |
|
|
105
|
+
| `dare execute --reset <id>` | Volta para PENDING |
|
|
106
|
+
| `dare execute --status` | Snapshot + sumário |
|
|
107
|
+
|
|
108
|
+
## Erros comuns
|
|
109
|
+
|
|
110
|
+
| Sintoma | Causa | Correção |
|
|
111
|
+
|---------|-------|----------|
|
|
112
|
+
| `dare-dag.yaml not found` | Não foi gerado | `/generate-blueprint` ou `skill-dag-build` |
|
|
113
|
+
| Cascata de SKIPPED | Pai falhou | Corrija pai → `dare execute --reset` → `--next` |
|
|
114
|
+
| Output truncado | Cap de 4000 chars | Escreva em arquivo, retorne resumo |
|
|
115
|
+
| Spec inconsistente | TASKS.md ≠ dare-dag.yaml | Re-gere com `skill-dag-build` |
|
|
116
|
+
|
|
117
|
+
## Quando NÃO usar
|
|
118
|
+
|
|
119
|
+
- Se `dare-dag.yaml` não existe — use `/generate-blueprint` ou `skill-dag-build`
|
|
120
|
+
- Se você quer só visualizar — use `/dag-viz`
|
|
121
|
+
- Se você quer build + run num único passo — `skill-dag-runner`
|
|
122
|
+
|
|
123
|
+
## Referências
|
|
124
|
+
|
|
125
|
+
- Schema: `DARE/dare-dag.yaml`
|
|
126
|
+
- Canvas: `DARE/.canvas.md`
|
|
127
|
+
- Specs: `DARE/EXECUTION/task-*.md`
|
|
128
|
+
- Status: `DARE/TASKS.md`
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Licença
|
|
133
|
+
|
|
134
|
+
Esta skill é parte do DARE Method e está sob licença MIT (D-001).
|