@dewtech/dare-cli 3.1.0 → 3.3.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 +5 -1
- package/dist/__tests__/dag-runner/ralph-loop.test.js +107 -45
- package/dist/__tests__/dag-runner/ralph-loop.test.js.map +1 -1
- package/dist/__tests__/dag-runner/state-store.test.d.ts +2 -0
- package/dist/__tests__/dag-runner/state-store.test.d.ts.map +1 -0
- package/dist/__tests__/dag-runner/state-store.test.js +74 -0
- package/dist/__tests__/dag-runner/state-store.test.js.map +1 -0
- package/dist/__tests__/ensure-skills.test.d.ts +2 -0
- package/dist/__tests__/ensure-skills.test.d.ts.map +1 -0
- package/dist/__tests__/ensure-skills.test.js +67 -0
- package/dist/__tests__/ensure-skills.test.js.map +1 -0
- package/dist/__tests__/ide-command-parity.test.d.ts +2 -0
- package/dist/__tests__/ide-command-parity.test.d.ts.map +1 -0
- package/dist/__tests__/ide-command-parity.test.js +59 -0
- package/dist/__tests__/ide-command-parity.test.js.map +1 -0
- package/dist/__tests__/project-generator.test.d.ts +2 -0
- package/dist/__tests__/project-generator.test.d.ts.map +1 -0
- package/dist/__tests__/project-generator.test.js +56 -0
- package/dist/__tests__/project-generator.test.js.map +1 -0
- package/dist/__tests__/reverse-collection.test.d.ts +2 -0
- package/dist/__tests__/reverse-collection.test.d.ts.map +1 -0
- package/dist/__tests__/reverse-collection.test.js +87 -0
- package/dist/__tests__/reverse-collection.test.js.map +1 -0
- package/dist/bin/dare.js +2 -0
- package/dist/bin/dare.js.map +1 -1
- package/dist/commands/__tests__/bench.spec.d.ts +2 -0
- package/dist/commands/__tests__/bench.spec.d.ts.map +1 -0
- package/dist/commands/__tests__/bench.spec.js +106 -0
- package/dist/commands/__tests__/bench.spec.js.map +1 -0
- package/dist/commands/__tests__/execute.best-of.spec.d.ts +2 -0
- package/dist/commands/__tests__/execute.best-of.spec.d.ts.map +1 -0
- package/dist/commands/__tests__/execute.best-of.spec.js +24 -0
- package/dist/commands/__tests__/execute.best-of.spec.js.map +1 -0
- package/dist/commands/__tests__/execute.telemetry.spec.d.ts +2 -0
- package/dist/commands/__tests__/execute.telemetry.spec.d.ts.map +1 -0
- package/dist/commands/__tests__/execute.telemetry.spec.js +93 -0
- package/dist/commands/__tests__/execute.telemetry.spec.js.map +1 -0
- package/dist/commands/__tests__/execute.verify.spec.d.ts +2 -0
- package/dist/commands/__tests__/execute.verify.spec.d.ts.map +1 -0
- package/dist/commands/__tests__/execute.verify.spec.js +150 -0
- package/dist/commands/__tests__/execute.verify.spec.js.map +1 -0
- package/dist/commands/bench.d.ts +10 -0
- package/dist/commands/bench.d.ts.map +1 -0
- package/dist/commands/bench.js +64 -0
- package/dist/commands/bench.js.map +1 -0
- package/dist/commands/dna.d.ts.map +1 -1
- package/dist/commands/dna.js +4 -0
- package/dist/commands/dna.js.map +1 -1
- package/dist/commands/execute-verification.d.ts +51 -0
- package/dist/commands/execute-verification.d.ts.map +1 -0
- package/dist/commands/execute-verification.js +201 -0
- package/dist/commands/execute-verification.js.map +1 -0
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +139 -2
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +4 -0
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/reverse.d.ts.map +1 -1
- package/dist/commands/reverse.js +27 -8
- package/dist/commands/reverse.js.map +1 -1
- package/dist/dag-runner/ralph-loop.d.ts +9 -9
- package/dist/dag-runner/ralph-loop.d.ts.map +1 -1
- package/dist/dag-runner/ralph-loop.js +89 -113
- package/dist/dag-runner/ralph-loop.js.map +1 -1
- package/dist/dag-runner/state-store.d.ts +14 -1
- package/dist/dag-runner/state-store.d.ts.map +1 -1
- package/dist/dag-runner/state-store.js +39 -8
- package/dist/dag-runner/state-store.js.map +1 -1
- package/dist/exec/npm-invoke.d.ts +8 -0
- package/dist/exec/npm-invoke.d.ts.map +1 -0
- package/dist/exec/npm-invoke.js +45 -0
- package/dist/exec/npm-invoke.js.map +1 -0
- package/dist/exec/safe-spawn.d.ts +21 -0
- package/dist/exec/safe-spawn.d.ts.map +1 -0
- package/dist/exec/safe-spawn.js +108 -0
- package/dist/exec/safe-spawn.js.map +1 -0
- package/dist/graphrag/types.d.ts +2 -2
- package/dist/graphrag/types.d.ts.map +1 -1
- package/dist/stacks/dna-emitter.d.ts.map +1 -1
- package/dist/stacks/dna-emitter.js +1 -10
- package/dist/stacks/dna-emitter.js.map +1 -1
- package/dist/utils/UpdateApplier.d.ts.map +1 -1
- package/dist/utils/UpdateApplier.js +8 -0
- package/dist/utils/UpdateApplier.js.map +1 -1
- package/dist/utils/datamodel.d.ts.map +1 -1
- package/dist/utils/datamodel.js +97 -20
- package/dist/utils/datamodel.js.map +1 -1
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +23 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/path-safety.d.ts +22 -0
- package/dist/utils/path-safety.d.ts.map +1 -0
- package/dist/utils/path-safety.js +83 -0
- package/dist/utils/path-safety.js.map +1 -0
- package/dist/utils/project-generator.d.ts +21 -0
- package/dist/utils/project-generator.d.ts.map +1 -1
- package/dist/utils/project-generator.js +71 -0
- package/dist/utils/project-generator.js.map +1 -1
- package/dist/utils/reverse-facts.d.ts +3 -2
- package/dist/utils/reverse-facts.d.ts.map +1 -1
- package/dist/utils/reverse-facts.js +89 -8
- package/dist/utils/reverse-facts.js.map +1 -1
- package/dist/utils/stack-bootstrap.js +2 -2
- package/dist/utils/stack-bootstrap.js.map +1 -1
- package/dist/verification/__tests__/anti-tamper.test.d.ts +2 -0
- package/dist/verification/__tests__/anti-tamper.test.d.ts.map +1 -0
- package/dist/verification/__tests__/anti-tamper.test.js +73 -0
- package/dist/verification/__tests__/anti-tamper.test.js.map +1 -0
- package/dist/verification/__tests__/bench-fixtures.test.d.ts +2 -0
- package/dist/verification/__tests__/bench-fixtures.test.d.ts.map +1 -0
- package/dist/verification/__tests__/bench-fixtures.test.js +35 -0
- package/dist/verification/__tests__/bench-fixtures.test.js.map +1 -0
- package/dist/verification/__tests__/bench-harness.test.d.ts +2 -0
- package/dist/verification/__tests__/bench-harness.test.d.ts.map +1 -0
- package/dist/verification/__tests__/bench-harness.test.js +75 -0
- package/dist/verification/__tests__/bench-harness.test.js.map +1 -0
- package/dist/verification/__tests__/bench-report.test.d.ts +2 -0
- package/dist/verification/__tests__/bench-report.test.d.ts.map +1 -0
- package/dist/verification/__tests__/bench-report.test.js +73 -0
- package/dist/verification/__tests__/bench-report.test.js.map +1 -0
- package/dist/verification/__tests__/best-of-n-runner.test.d.ts +2 -0
- package/dist/verification/__tests__/best-of-n-runner.test.d.ts.map +1 -0
- package/dist/verification/__tests__/best-of-n-runner.test.js +94 -0
- package/dist/verification/__tests__/best-of-n-runner.test.js.map +1 -0
- package/dist/verification/__tests__/config.test.d.ts +2 -0
- package/dist/verification/__tests__/config.test.d.ts.map +1 -0
- package/dist/verification/__tests__/config.test.js +50 -0
- package/dist/verification/__tests__/config.test.js.map +1 -0
- package/dist/verification/__tests__/decay-policy.test.d.ts +2 -0
- package/dist/verification/__tests__/decay-policy.test.d.ts.map +1 -0
- package/dist/verification/__tests__/decay-policy.test.js +130 -0
- package/dist/verification/__tests__/decay-policy.test.js.map +1 -0
- package/dist/verification/__tests__/fail-to-pass.test.d.ts +2 -0
- package/dist/verification/__tests__/fail-to-pass.test.d.ts.map +1 -0
- package/dist/verification/__tests__/fail-to-pass.test.js +107 -0
- package/dist/verification/__tests__/fail-to-pass.test.js.map +1 -0
- package/dist/verification/__tests__/failure-signature.test.d.ts +2 -0
- package/dist/verification/__tests__/failure-signature.test.d.ts.map +1 -0
- package/dist/verification/__tests__/failure-signature.test.js +40 -0
- package/dist/verification/__tests__/failure-signature.test.js.map +1 -0
- package/dist/verification/__tests__/logger.test.d.ts +2 -0
- package/dist/verification/__tests__/logger.test.d.ts.map +1 -0
- package/dist/verification/__tests__/logger.test.js +23 -0
- package/dist/verification/__tests__/logger.test.js.map +1 -0
- package/dist/verification/__tests__/mutation-cargo-mutants.test.d.ts +2 -0
- package/dist/verification/__tests__/mutation-cargo-mutants.test.d.ts.map +1 -0
- package/dist/verification/__tests__/mutation-cargo-mutants.test.js +96 -0
- package/dist/verification/__tests__/mutation-cargo-mutants.test.js.map +1 -0
- package/dist/verification/__tests__/mutation-infection.test.d.ts +2 -0
- package/dist/verification/__tests__/mutation-infection.test.d.ts.map +1 -0
- package/dist/verification/__tests__/mutation-infection.test.js +101 -0
- package/dist/verification/__tests__/mutation-infection.test.js.map +1 -0
- package/dist/verification/__tests__/mutation-mutmut.test.d.ts +2 -0
- package/dist/verification/__tests__/mutation-mutmut.test.d.ts.map +1 -0
- package/dist/verification/__tests__/mutation-mutmut.test.js +102 -0
- package/dist/verification/__tests__/mutation-mutmut.test.js.map +1 -0
- package/dist/verification/__tests__/mutation-registry.test.d.ts +2 -0
- package/dist/verification/__tests__/mutation-registry.test.d.ts.map +1 -0
- package/dist/verification/__tests__/mutation-registry.test.js +28 -0
- package/dist/verification/__tests__/mutation-registry.test.js.map +1 -0
- package/dist/verification/__tests__/mutation-stryker.test.d.ts +2 -0
- package/dist/verification/__tests__/mutation-stryker.test.d.ts.map +1 -0
- package/dist/verification/__tests__/mutation-stryker.test.js +88 -0
- package/dist/verification/__tests__/mutation-stryker.test.js.map +1 -0
- package/dist/verification/__tests__/no-shell-true.test.d.ts +2 -0
- package/dist/verification/__tests__/no-shell-true.test.d.ts.map +1 -0
- package/dist/verification/__tests__/no-shell-true.test.js +43 -0
- package/dist/verification/__tests__/no-shell-true.test.js.map +1 -0
- package/dist/verification/__tests__/path-safety.test.d.ts +2 -0
- package/dist/verification/__tests__/path-safety.test.d.ts.map +1 -0
- package/dist/verification/__tests__/path-safety.test.js +59 -0
- package/dist/verification/__tests__/path-safety.test.js.map +1 -0
- package/dist/verification/__tests__/prerank.test.d.ts +2 -0
- package/dist/verification/__tests__/prerank.test.d.ts.map +1 -0
- package/dist/verification/__tests__/prerank.test.js +44 -0
- package/dist/verification/__tests__/prerank.test.js.map +1 -0
- package/dist/verification/__tests__/runner.test.d.ts +2 -0
- package/dist/verification/__tests__/runner.test.d.ts.map +1 -0
- package/dist/verification/__tests__/runner.test.js +200 -0
- package/dist/verification/__tests__/runner.test.js.map +1 -0
- package/dist/verification/__tests__/safe-spawn.test.d.ts +2 -0
- package/dist/verification/__tests__/safe-spawn.test.d.ts.map +1 -0
- package/dist/verification/__tests__/safe-spawn.test.js +36 -0
- package/dist/verification/__tests__/safe-spawn.test.js.map +1 -0
- package/dist/verification/__tests__/security.test.d.ts +2 -0
- package/dist/verification/__tests__/security.test.d.ts.map +1 -0
- package/dist/verification/__tests__/security.test.js +79 -0
- package/dist/verification/__tests__/security.test.js.map +1 -0
- package/dist/verification/__tests__/selector-pareto.test.d.ts +2 -0
- package/dist/verification/__tests__/selector-pareto.test.d.ts.map +1 -0
- package/dist/verification/__tests__/selector-pareto.test.js +77 -0
- package/dist/verification/__tests__/selector-pareto.test.js.map +1 -0
- package/dist/verification/__tests__/telemetry.test.d.ts +2 -0
- package/dist/verification/__tests__/telemetry.test.d.ts.map +1 -0
- package/dist/verification/__tests__/telemetry.test.js +116 -0
- package/dist/verification/__tests__/telemetry.test.js.map +1 -0
- package/dist/verification/__tests__/type-check.test.d.ts +2 -0
- package/dist/verification/__tests__/type-check.test.d.ts.map +1 -0
- package/dist/verification/__tests__/type-check.test.js +52 -0
- package/dist/verification/__tests__/type-check.test.js.map +1 -0
- package/dist/verification/__tests__/worktree.test.d.ts +2 -0
- package/dist/verification/__tests__/worktree.test.d.ts.map +1 -0
- package/dist/verification/__tests__/worktree.test.js +41 -0
- package/dist/verification/__tests__/worktree.test.js.map +1 -0
- package/dist/verification/bench/fixtures.d.ts +11 -0
- package/dist/verification/bench/fixtures.d.ts.map +1 -0
- package/dist/verification/bench/fixtures.js +66 -0
- package/dist/verification/bench/fixtures.js.map +1 -0
- package/dist/verification/bench/harness.d.ts +19 -0
- package/dist/verification/bench/harness.d.ts.map +1 -0
- package/dist/verification/bench/harness.js +138 -0
- package/dist/verification/bench/harness.js.map +1 -0
- package/dist/verification/bench/report.d.ts +53 -0
- package/dist/verification/bench/report.d.ts.map +1 -0
- package/dist/verification/bench/report.js +47 -0
- package/dist/verification/bench/report.js.map +1 -0
- package/dist/verification/best-of-n/runner.d.ts +29 -0
- package/dist/verification/best-of-n/runner.d.ts.map +1 -0
- package/dist/verification/best-of-n/runner.js +76 -0
- package/dist/verification/best-of-n/runner.js.map +1 -0
- package/dist/verification/best-of-n/selector/pareto.d.ts +10 -0
- package/dist/verification/best-of-n/selector/pareto.d.ts.map +1 -0
- package/dist/verification/best-of-n/selector/pareto.js +65 -0
- package/dist/verification/best-of-n/selector/pareto.js.map +1 -0
- package/dist/verification/best-of-n/selector/prerank.d.ts +23 -0
- package/dist/verification/best-of-n/selector/prerank.d.ts.map +1 -0
- package/dist/verification/best-of-n/selector/prerank.js +32 -0
- package/dist/verification/best-of-n/selector/prerank.js.map +1 -0
- package/dist/verification/best-of-n/worktree.d.ts +9 -0
- package/dist/verification/best-of-n/worktree.d.ts.map +1 -0
- package/dist/verification/best-of-n/worktree.js +100 -0
- package/dist/verification/best-of-n/worktree.js.map +1 -0
- package/dist/verification/config.d.ts +24 -0
- package/dist/verification/config.d.ts.map +1 -0
- package/dist/verification/config.js +168 -0
- package/dist/verification/config.js.map +1 -0
- package/dist/verification/decay/policy.d.ts +16 -0
- package/dist/verification/decay/policy.d.ts.map +1 -0
- package/dist/verification/decay/policy.js +64 -0
- package/dist/verification/decay/policy.js.map +1 -0
- package/dist/verification/decay/signature.d.ts +6 -0
- package/dist/verification/decay/signature.d.ts.map +1 -0
- package/dist/verification/decay/signature.js +18 -0
- package/dist/verification/decay/signature.js.map +1 -0
- package/dist/verification/gates/anti-tamper.d.ts +16 -0
- package/dist/verification/gates/anti-tamper.d.ts.map +1 -0
- package/dist/verification/gates/anti-tamper.js +142 -0
- package/dist/verification/gates/anti-tamper.js.map +1 -0
- package/dist/verification/gates/fail-to-pass.d.ts +39 -0
- package/dist/verification/gates/fail-to-pass.d.ts.map +1 -0
- package/dist/verification/gates/fail-to-pass.js +173 -0
- package/dist/verification/gates/fail-to-pass.js.map +1 -0
- package/dist/verification/gates/mutation/adapter.d.ts +34 -0
- package/dist/verification/gates/mutation/adapter.d.ts.map +1 -0
- package/dist/verification/gates/mutation/adapter.js +22 -0
- package/dist/verification/gates/mutation/adapter.js.map +1 -0
- package/dist/verification/gates/mutation/cargo-mutants.d.ts +28 -0
- package/dist/verification/gates/mutation/cargo-mutants.d.ts.map +1 -0
- package/dist/verification/gates/mutation/cargo-mutants.js +170 -0
- package/dist/verification/gates/mutation/cargo-mutants.js.map +1 -0
- package/dist/verification/gates/mutation/infection.d.ts +28 -0
- package/dist/verification/gates/mutation/infection.d.ts.map +1 -0
- package/dist/verification/gates/mutation/infection.js +149 -0
- package/dist/verification/gates/mutation/infection.js.map +1 -0
- package/dist/verification/gates/mutation/mutmut.d.ts +23 -0
- package/dist/verification/gates/mutation/mutmut.d.ts.map +1 -0
- package/dist/verification/gates/mutation/mutmut.js +148 -0
- package/dist/verification/gates/mutation/mutmut.js.map +1 -0
- package/dist/verification/gates/mutation/stryker.d.ts +19 -0
- package/dist/verification/gates/mutation/stryker.d.ts.map +1 -0
- package/dist/verification/gates/mutation/stryker.js +103 -0
- package/dist/verification/gates/mutation/stryker.js.map +1 -0
- package/dist/verification/gates/type-check.d.ts +11 -0
- package/dist/verification/gates/type-check.d.ts.map +1 -0
- package/dist/verification/gates/type-check.js +84 -0
- package/dist/verification/gates/type-check.js.map +1 -0
- package/dist/verification/registry.d.ts +6 -0
- package/dist/verification/registry.d.ts.map +1 -0
- package/dist/verification/registry.js +49 -0
- package/dist/verification/registry.js.map +1 -0
- package/dist/verification/runner.d.ts +27 -0
- package/dist/verification/runner.d.ts.map +1 -0
- package/dist/verification/runner.js +173 -0
- package/dist/verification/runner.js.map +1 -0
- package/dist/verification/telemetry.d.ts +18 -0
- package/dist/verification/telemetry.d.ts.map +1 -0
- package/dist/verification/telemetry.js +71 -0
- package/dist/verification/telemetry.js.map +1 -0
- package/dist/verification/types.d.ts +89 -0
- package/dist/verification/types.d.ts.map +1 -0
- package/dist/verification/types.js +3 -0
- package/dist/verification/types.js.map +1 -0
- package/package.json +5 -3
- package/templates/UPDATE-MANIFEST.json +20 -0
- package/templates/ide/antigravity/.agents/skills/dare-bench/SKILL.md +21 -0
- package/templates/ide/antigravity/.agents/skills/dare-bootstrap/SKILL.md +32 -0
- package/templates/ide/antigravity/.agents/skills/dare-dag/SKILL.md +32 -0
- package/templates/ide/antigravity/.agents/skills/dare-discover/SKILL.md +33 -0
- package/templates/ide/antigravity/.agents/skills/dare-graph/SKILL.md +35 -0
- package/templates/ide/antigravity/.agents/skills/dare-info/SKILL.md +31 -0
- package/templates/ide/antigravity/.agents/skills/dare-init/SKILL.md +35 -0
- package/templates/ide/antigravity/.agents/skills/dare-skill/SKILL.md +35 -0
- package/templates/ide/antigravity/.agents/skills/dare-update/SKILL.md +33 -0
- package/templates/ide/antigravity/.agents/skills/dare-validate/SKILL.md +33 -0
- package/templates/ide/antigravity/.agents/skills/dare-welcome/SKILL.md +30 -0
- package/templates/ide/claude/.claude/commands/dare-bench.md +18 -0
- package/templates/ide/claude/.claude/commands/dare-bootstrap.md +27 -0
- package/templates/ide/claude/.claude/commands/dare-dag.md +27 -0
- package/templates/ide/claude/.claude/commands/dare-discover.md +28 -0
- package/templates/ide/claude/.claude/commands/dare-graph.md +30 -0
- package/templates/ide/claude/.claude/commands/dare-info.md +26 -0
- package/templates/ide/claude/.claude/commands/dare-init.md +30 -0
- package/templates/ide/claude/.claude/commands/dare-skill.md +30 -0
- package/templates/ide/claude/.claude/commands/dare-update.md +28 -0
- package/templates/ide/claude/.claude/commands/dare-validate.md +28 -0
- package/templates/ide/claude/.claude/commands/dare-welcome.md +25 -0
- package/templates/ide/cursor/.cursor/commands/dare-bench.md +18 -0
- package/templates/ide/cursor/.cursor/commands/{generate-blueprint.md → dare-blueprint.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/dare-bootstrap.md +27 -0
- package/templates/ide/cursor/.cursor/commands/{run-dag.md → dare-dag-run.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/{dag-viz.md → dare-dag-viz.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/dare-dag.md +27 -0
- package/templates/ide/cursor/.cursor/commands/{generate-design.md → dare-design.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/dare-discover.md +28 -0
- package/templates/ide/cursor/.cursor/commands/dare-dna.md +75 -0
- package/templates/ide/cursor/.cursor/commands/{generate-docker-compose.md → dare-docker-compose.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/{generate-dockerfile.md → dare-dockerfile.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/{execute-task.md → dare-execute.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/dare-graph.md +30 -0
- package/templates/ide/cursor/.cursor/commands/dare-info.md +26 -0
- package/templates/ide/cursor/.cursor/commands/dare-init.md +30 -0
- package/templates/ide/cursor/.cursor/commands/dare-migrate.md +72 -0
- package/templates/ide/cursor/.cursor/commands/{refine-task.md → dare-refine.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/dare-reverse.md +139 -0
- package/templates/ide/cursor/.cursor/commands/{review-task.md → dare-review.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/dare-skill.md +30 -0
- package/templates/ide/cursor/.cursor/commands/{generate-tasks.md → dare-tasks.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/{telemetry-report.md → dare-telemetry.md} +1 -1
- package/templates/ide/cursor/.cursor/commands/dare-update.md +28 -0
- package/templates/ide/cursor/.cursor/commands/dare-validate.md +28 -0
- package/templates/ide/cursor/.cursor/commands/dare-welcome.md +25 -0
- /package/templates/ide/cursor/.cursor/commands/{generate-bugfix-design.md → dare-bugfix-design.md} +0 -0
- /package/templates/ide/cursor/.cursor/commands/{generate-feature-design.md → dare-feature-design.md} +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export type LoopPolicy = 'decay' | 'fixed';
|
|
2
|
+
export type SaturationAction = 'fresh-start' | 'replan' | 'escalate';
|
|
3
|
+
export type MutationTool = 'stryker' | 'mutmut' | 'cargo-mutants' | 'infection';
|
|
4
|
+
export interface MutationConfig {
|
|
5
|
+
readonly enabled: boolean;
|
|
6
|
+
/** 0..1. Bloqueia DONE se score < minScore. Default 0.70. */
|
|
7
|
+
readonly minScore: number;
|
|
8
|
+
/** Só muta arquivos do git diff da task. Default true (RNF-01). */
|
|
9
|
+
readonly incremental: boolean;
|
|
10
|
+
/** Teto de mutantes por execução. Default 200. */
|
|
11
|
+
readonly maxMutants: number;
|
|
12
|
+
/** Timeout total do gate de mutação, em segundos. Default 900. */
|
|
13
|
+
readonly timeoutSeconds: number;
|
|
14
|
+
}
|
|
15
|
+
export interface LoopConfig {
|
|
16
|
+
readonly policy: LoopPolicy;
|
|
17
|
+
/** Teto duro de tentativas. Veredito ESCALATE ao atingir. Default 5. */
|
|
18
|
+
readonly maxAttempts: number;
|
|
19
|
+
/** Nº de tentativas com a MESMA assinatura → saturado. Default 3 (≤3, idea-3). */
|
|
20
|
+
readonly saturationWindow: number;
|
|
21
|
+
/** Ação ao saturar antes do teto. Default 'fresh-start'. */
|
|
22
|
+
readonly onSaturation: SaturationAction;
|
|
23
|
+
}
|
|
24
|
+
export interface BestOfNConfig {
|
|
25
|
+
readonly default: number;
|
|
26
|
+
readonly max: number;
|
|
27
|
+
/** Orçamento de tokens (null = sem teto no CLI; agente respeita). */
|
|
28
|
+
readonly budgetTokens: number | null;
|
|
29
|
+
}
|
|
30
|
+
export interface VerificationConfig {
|
|
31
|
+
readonly enabled: boolean;
|
|
32
|
+
readonly mutation: MutationConfig;
|
|
33
|
+
readonly failToPass: {
|
|
34
|
+
readonly required: boolean;
|
|
35
|
+
};
|
|
36
|
+
readonly antiTamper: {
|
|
37
|
+
readonly enabled: boolean;
|
|
38
|
+
};
|
|
39
|
+
readonly typeCheck: {
|
|
40
|
+
readonly enabled: boolean;
|
|
41
|
+
};
|
|
42
|
+
readonly loop: LoopConfig;
|
|
43
|
+
readonly bestOfN: BestOfNConfig;
|
|
44
|
+
readonly prerank: {
|
|
45
|
+
readonly enabled: boolean;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export type Aspect = 'build' | 'test' | 'lint' | 'type' | 'fail-to-pass' | 'anti-tamper' | 'mutation';
|
|
49
|
+
export type Verdict = 'PASS' | 'FAIL' | 'SKIP';
|
|
50
|
+
export interface AspectResult {
|
|
51
|
+
readonly aspect: Aspect;
|
|
52
|
+
readonly verdict: Verdict;
|
|
53
|
+
readonly score?: number;
|
|
54
|
+
readonly reason: string;
|
|
55
|
+
readonly durationMs: number;
|
|
56
|
+
}
|
|
57
|
+
export interface VerificationResult {
|
|
58
|
+
readonly taskId: string;
|
|
59
|
+
readonly passed: boolean;
|
|
60
|
+
readonly aspects: ReadonlyArray<AspectResult>;
|
|
61
|
+
readonly mutationScore?: number;
|
|
62
|
+
readonly durationMs: number;
|
|
63
|
+
}
|
|
64
|
+
export type LoopAction = 'CONTINUE' | 'FRESH_START' | 'REPLAN' | 'ESCALATE' | 'DONE';
|
|
65
|
+
export interface AttemptRecord {
|
|
66
|
+
readonly n: number;
|
|
67
|
+
readonly at: string;
|
|
68
|
+
readonly passed: boolean;
|
|
69
|
+
readonly failureSignature?: string;
|
|
70
|
+
readonly failedAspect?: Aspect;
|
|
71
|
+
}
|
|
72
|
+
export interface LoopVerdict {
|
|
73
|
+
readonly action: LoopAction;
|
|
74
|
+
readonly attempt: number;
|
|
75
|
+
readonly saturated: boolean;
|
|
76
|
+
readonly reason: string;
|
|
77
|
+
readonly failureSignature?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface CandidateWorktree {
|
|
80
|
+
readonly id: string;
|
|
81
|
+
readonly path: string;
|
|
82
|
+
readonly branch: string;
|
|
83
|
+
}
|
|
84
|
+
export interface Candidate {
|
|
85
|
+
readonly id: string;
|
|
86
|
+
readonly worktree: CandidateWorktree;
|
|
87
|
+
readonly verification: VerificationResult;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/verification/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/verification/types.ts"],"names":[],"mappings":"AAAA,2EAA2E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dewtech/dare-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "DARE Framework - CLI, GraphRAG engine, MCP server and shared types in a single package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"build": "tsx scripts/sync-implementations.ts && tsc && node -e \"require('fs-extra').copySync('src/skills/registry-mock.json','dist/skills/registry-mock.json')\"",
|
|
25
25
|
"dev": "tsx watch src/bin/dare.ts",
|
|
26
26
|
"test": "vitest run",
|
|
27
|
-
"lint": "eslint src
|
|
27
|
+
"lint": "eslint src",
|
|
28
28
|
"format": "prettier --write src"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
@@ -44,9 +44,11 @@
|
|
|
44
44
|
"pino": "^8.16.0",
|
|
45
45
|
"pino-pretty": "^10.2.0",
|
|
46
46
|
"sql.js": "^1.11.0",
|
|
47
|
-
"yaml": "^2.3.1"
|
|
47
|
+
"yaml": "^2.3.1",
|
|
48
|
+
"zod": "^3.23.8"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
51
|
+
"@stryker-mutator/core": "8.7.1",
|
|
50
52
|
"@types/cors": "^2.8.13",
|
|
51
53
|
"@types/express": "^4.17.0",
|
|
52
54
|
"@types/figlet": "^1.5.8",
|
|
@@ -43,6 +43,26 @@
|
|
|
43
43
|
"optional": false
|
|
44
44
|
}
|
|
45
45
|
]
|
|
46
|
+
},
|
|
47
|
+
"3.3.0": {
|
|
48
|
+
"releasedAt": "2026-06-07",
|
|
49
|
+
"summary": "Reliable Verification Core — mutation, fail-to-pass, decay, best-of-N",
|
|
50
|
+
"changelog": "Adiciona bloco `verification` em dare.config.json (opt-in, enabled:false por padrão) com defaults para mutation, fail-to-pass, anti-tamper, type-check, loop decay, best-of-N e prerank. Projetos existentes recebem o bloco via migration `add-verification-defaults`.",
|
|
51
|
+
"changes": [
|
|
52
|
+
{
|
|
53
|
+
"type": "added",
|
|
54
|
+
"path": "dare.config.json#verification",
|
|
55
|
+
"description": "Adiciona objeto `verification` (enabled:false + defaults) — gate opt-in pós-Ralph Loop",
|
|
56
|
+
"appliesTo": ["*"]
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"migrations": [
|
|
60
|
+
{
|
|
61
|
+
"id": "add-verification-defaults",
|
|
62
|
+
"description": "Adiciona `verification` com defaults (enabled:false) em projetos pré-3.3 — opt-in, não ativa verificação automaticamente",
|
|
63
|
+
"optional": false
|
|
64
|
+
}
|
|
65
|
+
]
|
|
46
66
|
}
|
|
47
67
|
}
|
|
48
68
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-bench
|
|
3
|
+
description: Roda o harness determinístico de fixtures de verificação (Fix·Rate, solve-rate, baseline). Mapeia o CLI `dare bench`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DARE Bench — harness de verificação
|
|
7
|
+
|
|
8
|
+
Roda fixtures versionadas com patches golden/errados; mede Fix·Rate e solve-rate. Determinístico — sem LLM.
|
|
9
|
+
|
|
10
|
+
## Como rodar
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
dare bench --suite fixtures/bench --json
|
|
14
|
+
dare bench --suite fixtures/bench --baseline bench-baseline.json --fail-on-regression 3
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Exit codes
|
|
18
|
+
|
|
19
|
+
- `0` — ok (sem regressão vs baseline)
|
|
20
|
+
- `1` — regressão de solve-rate > limiar
|
|
21
|
+
- `2` — suite inválida
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-bootstrap
|
|
3
|
+
description: Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual. Mapeia o CLI `dare bootstrap`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Rodar o scaffold oficial da stack do projeto
|
|
7
|
+
|
|
8
|
+
Executa o scaffolder oficial da stack registrada em `dare.config.json` para materializar o esqueleto do framework no projeto atual.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare bootstrap` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Logo após `dare init`, para gerar o esqueleto real do framework.
|
|
15
|
+
- Quando `dare.config.json` existe mas os artefatos do framework ainda não foram gerados.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare bootstrap
|
|
21
|
+
dare bootstrap --force # roda mesmo se já houver artefatos (pode sobrescrever)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## O que fazer
|
|
25
|
+
|
|
26
|
+
1. Confirme que existe `dare.config.json` com a stack definida.
|
|
27
|
+
2. Rode `dare bootstrap` (use `--force` apenas se o usuário aceitar sobrescrever arquivos existentes).
|
|
28
|
+
3. Verifique a saída: arquivos gerados e próximos passos sugeridos pelo CLI.
|
|
29
|
+
|
|
30
|
+
## Comandos relacionados
|
|
31
|
+
|
|
32
|
+
`/dare-init` · `/dare-design`
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-dag
|
|
3
|
+
description: Mostra o DAG estático de tasks (`DARE/dare-dag.yaml`): ranks, dependências e caminho crítico. Use `dare dag viz` para exportar o diagrama. Mapeia o CLI `dare dag`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Inspecionar e visualizar o DAG de tasks
|
|
7
|
+
|
|
8
|
+
Mostra o DAG estático de tasks (`DARE/dare-dag.yaml`): ranks, dependências e caminho crítico. Use `dare dag viz` para exportar o diagrama.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare dag` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Você quer ver a ordem de execução, os ranks e o caminho crítico das tasks.
|
|
15
|
+
- Antes de começar a execução, para conferir a topologia do plano.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare dag viz
|
|
21
|
+
dare dag viz --dag DARE/dare-dag.yaml
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## O que fazer
|
|
25
|
+
|
|
26
|
+
1. Rode `dare dag viz` para renderizar o grafo de tasks.
|
|
27
|
+
2. Confira ranks e dependências; tasks de mesmo rank podem rodar em paralelo.
|
|
28
|
+
3. Para validar a integridade do arquivo, use `/dare-validate`. Para executar, `/dare-execute`.
|
|
29
|
+
|
|
30
|
+
## Comandos relacionados
|
|
31
|
+
|
|
32
|
+
`/dare-validate` · `/dare-execute` · `/dare-graph`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-discover
|
|
3
|
+
description: Detecta a stack de um projeto já existente (brownfield) e instala os arquivos da metodologia DARE — incluindo os comandos/skills de IDE — sem tocar no código. Mapeia o CLI `dare discover`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Adotar o DARE em um projeto existente
|
|
7
|
+
|
|
8
|
+
Detecta a stack de um projeto já existente (brownfield) e instala os arquivos da metodologia DARE — incluindo os comandos/skills de IDE — sem tocar no código.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare discover` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- O usuário quer adotar o DARE em um repositório que **já existe**.
|
|
15
|
+
- Para entender/documentar o legado em profundidade depois, encadeie com `/dare-reverse` e `/dare-dna`.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare discover
|
|
21
|
+
dare discover --dir ./caminho/do/projeto
|
|
22
|
+
dare discover --check # só mostra a detecção, sem instalar nada
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## O que fazer
|
|
26
|
+
|
|
27
|
+
1. Rode `dare discover --check` primeiro para revisar a stack detectada.
|
|
28
|
+
2. Se a detecção estiver correta, rode `dare discover` para instalar os artefatos DARE + comandos de IDE.
|
|
29
|
+
3. Próximo passo: `/dare-reverse` (Fase 0 — coleta) e `/dare-dna` (convenções).
|
|
30
|
+
|
|
31
|
+
## Comandos relacionados
|
|
32
|
+
|
|
33
|
+
`/dare-reverse` · `/dare-dna` · `/dare-migrate`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-graph
|
|
3
|
+
description: Consulta e visualiza o grafo de conhecimento do projeto (tasks, arquivos, schemas, endpoints, componentes, entidades e suas relações). Mapeia o CLI `dare graph`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Inspecionar o knowledge graph do DARE
|
|
7
|
+
|
|
8
|
+
Consulta e visualiza o grafo de conhecimento do projeto (tasks, arquivos, schemas, endpoints, componentes, entidades e suas relações).
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare graph` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Você quer entender dependências entre tasks/arquivos/entidades.
|
|
15
|
+
- Precisa achar nós relacionados a um termo, ou exportar um diagrama do grafo.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare graph stats # contagem de nós/arestas por tipo
|
|
21
|
+
dare graph query <termo> --limit 10 # busca nós por label/descrição
|
|
22
|
+
dare graph query auth --type endpoint
|
|
23
|
+
dare graph viz --format mermaid -o graph.mmd
|
|
24
|
+
dare graph ingest # re-sincroniza o grafo do dare-dag.yaml
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## O que fazer
|
|
28
|
+
|
|
29
|
+
1. Escolha o subcomando conforme a intenção: `stats`, `query <termo>`, `viz`, `ingest`.
|
|
30
|
+
2. Rode o comando e interprete a saída (para `viz`, abra/renderize o diagrama gerado).
|
|
31
|
+
3. Se o grafo parecer desatualizado, rode `dare graph ingest` para re-sincronizar.
|
|
32
|
+
|
|
33
|
+
## Comandos relacionados
|
|
34
|
+
|
|
35
|
+
`/dare-dag` · `/dare-execute`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-info
|
|
3
|
+
description: Mostra versão do CLI, caminhos relevantes e a integridade da instalação DARE no projeto atual. Mapeia o CLI `dare info`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Diagnóstico do setup DARE do projeto
|
|
7
|
+
|
|
8
|
+
Mostra versão do CLI, caminhos relevantes e a integridade da instalação DARE no projeto atual.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare info` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Algo parece errado no setup e você quer um diagnóstico rápido.
|
|
15
|
+
- Para confirmar a versão do CLI e os artefatos DARE presentes.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare info
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## O que fazer
|
|
24
|
+
|
|
25
|
+
1. Rode `dare info`.
|
|
26
|
+
2. Revise versão, caminhos e a checagem de integridade.
|
|
27
|
+
3. Se houver artefatos faltando/desatualizados, rode `/dare-update`.
|
|
28
|
+
|
|
29
|
+
## Comandos relacionados
|
|
30
|
+
|
|
31
|
+
`/dare-update` · `/dare-welcome`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-init
|
|
3
|
+
description: Cria um projeto DARE do zero (greenfield) com setup interativo: escolhe stack backend/frontend, knowledge graph, IDE e gera o scaffolder completo + DNA DARE. Mapeia o CLI `dare init`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Inicializar um novo projeto DARE
|
|
7
|
+
|
|
8
|
+
Cria um projeto DARE do zero (greenfield) com setup interativo: escolhe stack backend/frontend, knowledge graph, IDE e gera o scaffolder completo + DNA DARE.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare init` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- O usuário quer começar um projeto **novo** do zero.
|
|
15
|
+
- Não existe código ainda — é greenfield. Para projeto legado, use `/dare-discover`.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare init # fluxo interativo completo
|
|
21
|
+
dare init minha-api --stack node-nestjs
|
|
22
|
+
dare init meu-mcp --mcp node-ts --transport http
|
|
23
|
+
dare init api --stack go-gin --toolchain docker --non-interactive
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## O que fazer
|
|
27
|
+
|
|
28
|
+
1. Rode `dare init` (ou com `--stack`/`--mcp` se o usuário já decidiu a stack).
|
|
29
|
+
2. Responda aos prompts: nome, stack backend, frontend opcional, knowledge graph (json/sqlite/neo4j), IDE(s).
|
|
30
|
+
3. Ao final, o projeto tem scaffolder + os 7 artefatos de DNA + comandos/skills de IDE instalados.
|
|
31
|
+
4. Próximo passo: descreva a ideia com `/dare-design`.
|
|
32
|
+
|
|
33
|
+
## Comandos relacionados
|
|
34
|
+
|
|
35
|
+
`/dare-design` · `/dare-discover` · `/dare-bootstrap`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-skill
|
|
3
|
+
description: Adiciona, remove, lista, inspeciona, atualiza ou publica skills DARE neste projeto. Mapeia o CLI `dare skill`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Gerenciar skills DARE do projeto
|
|
7
|
+
|
|
8
|
+
Adiciona, remove, lista, inspeciona, atualiza ou publica skills DARE neste projeto.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare skill` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Você quer instalar uma skill extra (ex.: uma skill de stack) no projeto.
|
|
15
|
+
- Quer listar/inspecionar as skills disponíveis ou publicar uma própria.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare skill list
|
|
21
|
+
dare skill info <nome>
|
|
22
|
+
dare skill add <nome>
|
|
23
|
+
dare skill remove <nome>
|
|
24
|
+
dare skill update
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## O que fazer
|
|
28
|
+
|
|
29
|
+
1. Use `dare skill list` para ver o que está instalado/disponível.
|
|
30
|
+
2. Rode o subcomando desejado (`add`/`remove`/`info`/`update`/`publish`).
|
|
31
|
+
3. Confirme o resultado e, se mudou comandos de IDE, recarregue a IDE.
|
|
32
|
+
|
|
33
|
+
## Comandos relacionados
|
|
34
|
+
|
|
35
|
+
`/dare-update` · `/dare-info`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-update
|
|
3
|
+
description: Sincroniza os artefatos do projeto (comandos de IDE, skills, templates) com a versão instalada do DARE CLI, preservando customizações. Mapeia o CLI `dare update`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Atualizar o projeto para a versão atual do CLI
|
|
7
|
+
|
|
8
|
+
Sincroniza os artefatos do projeto (comandos de IDE, skills, templates) com a versão instalada do DARE CLI, preservando customizações.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare update` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Depois de atualizar o `@dewtech/dare-cli` para uma versão nova.
|
|
15
|
+
- Quando `dare info` apontar artefatos desatualizados.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare update --dry-run # mostra o que mudaria, sem escrever
|
|
21
|
+
dare update -y # aplica tudo, mantém customizações
|
|
22
|
+
dare update --target 3.2.0
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## O que fazer
|
|
26
|
+
|
|
27
|
+
1. Rode `dare update --dry-run` e revise o diff proposto.
|
|
28
|
+
2. Se estiver ok, rode `dare update -y`.
|
|
29
|
+
3. Evite `--force` salvo se o usuário aceitar sobrescrever arquivos customizados.
|
|
30
|
+
|
|
31
|
+
## Comandos relacionados
|
|
32
|
+
|
|
33
|
+
`/dare-info` · `/dare-welcome`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-validate
|
|
3
|
+
description: Valida `DARE/dare-dag.yaml` (ciclos, referências quebradas, campos obrigatórios). Adequado para pre-commit hooks e CI. Mapeia o CLI `dare validate`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Validar a integridade do dare-dag.yaml
|
|
7
|
+
|
|
8
|
+
Valida `DARE/dare-dag.yaml` (ciclos, referências quebradas, campos obrigatórios). Adequado para pre-commit hooks e CI.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare validate` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Antes de commitar mudanças no DAG.
|
|
15
|
+
- Em CI, como gate de integridade do plano de execução.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare validate
|
|
21
|
+
dare validate --strict # trata warnings como erros (CI-friendly)
|
|
22
|
+
dare validate --dag DARE/dare-dag.yaml
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## O que fazer
|
|
26
|
+
|
|
27
|
+
1. Rode `dare validate` (use `--strict` em CI).
|
|
28
|
+
2. Se houver erros, corrija o `dare-dag.yaml` apontado e rode de novo até passar.
|
|
29
|
+
3. Saída limpa = DAG íntegro e pronto para `/dare-execute`.
|
|
30
|
+
|
|
31
|
+
## Comandos relacionados
|
|
32
|
+
|
|
33
|
+
`/dare-dag` · `/dare-execute`
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dare-welcome
|
|
3
|
+
description: Mostra o banner do DARE e um guia de início rápido com o fluxo Design → Architecture → Review → Execute. Mapeia o CLI `dare welcome`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Banner de boas-vindas e guia rápido
|
|
7
|
+
|
|
8
|
+
Mostra o banner do DARE e um guia de início rápido com o fluxo Design → Architecture → Review → Execute.
|
|
9
|
+
|
|
10
|
+
> Este comando expõe o CLI `dare welcome` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
11
|
+
|
|
12
|
+
## Quando usar
|
|
13
|
+
|
|
14
|
+
- Primeiro contato com o DARE neste projeto.
|
|
15
|
+
- O usuário quer relembrar o fluxo canônico de comandos.
|
|
16
|
+
|
|
17
|
+
## Como rodar
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dare welcome
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## O que fazer
|
|
24
|
+
|
|
25
|
+
1. Rode `dare welcome`.
|
|
26
|
+
2. Apresente o fluxo: `/dare-design` → `/dare-blueprint` → `/dare-tasks` → `/dare-execute`.
|
|
27
|
+
|
|
28
|
+
## Comandos relacionados
|
|
29
|
+
|
|
30
|
+
`/dare-design` · `/dare-info`
|
|
@@ -0,0 +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.
|
|
@@ -0,0 +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`
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# /dare-dag
|
|
2
|
+
|
|
3
|
+
Mostra o DAG estático de tasks (`DARE/dare-dag.yaml`): ranks, dependências e caminho crítico. Use `dare dag viz` para exportar o diagrama.
|
|
4
|
+
|
|
5
|
+
> Este comando expõe o CLI `dare dag` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
6
|
+
|
|
7
|
+
## Quando usar
|
|
8
|
+
|
|
9
|
+
- Você quer ver a ordem de execução, os ranks e o caminho crítico das tasks.
|
|
10
|
+
- Antes de começar a execução, para conferir a topologia do plano.
|
|
11
|
+
|
|
12
|
+
## Como rodar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
dare dag viz
|
|
16
|
+
dare dag viz --dag DARE/dare-dag.yaml
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## O que fazer
|
|
20
|
+
|
|
21
|
+
1. Rode `dare dag viz` para renderizar o grafo de tasks.
|
|
22
|
+
2. Confira ranks e dependências; tasks de mesmo rank podem rodar em paralelo.
|
|
23
|
+
3. Para validar a integridade do arquivo, use `/dare-validate`. Para executar, `/dare-execute`.
|
|
24
|
+
|
|
25
|
+
## Comandos relacionados
|
|
26
|
+
|
|
27
|
+
`/dare-validate` · `/dare-execute` · `/dare-graph`
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# /dare-discover
|
|
2
|
+
|
|
3
|
+
Detecta a stack de um projeto já existente (brownfield) e instala os arquivos da metodologia DARE — incluindo os comandos/skills de IDE — sem tocar no código.
|
|
4
|
+
|
|
5
|
+
> Este comando expõe o CLI `dare discover` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
6
|
+
|
|
7
|
+
## Quando usar
|
|
8
|
+
|
|
9
|
+
- O usuário quer adotar o DARE em um repositório que **já existe**.
|
|
10
|
+
- Para entender/documentar o legado em profundidade depois, encadeie com `/dare-reverse` e `/dare-dna`.
|
|
11
|
+
|
|
12
|
+
## Como rodar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
dare discover
|
|
16
|
+
dare discover --dir ./caminho/do/projeto
|
|
17
|
+
dare discover --check # só mostra a detecção, sem instalar nada
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## O que fazer
|
|
21
|
+
|
|
22
|
+
1. Rode `dare discover --check` primeiro para revisar a stack detectada.
|
|
23
|
+
2. Se a detecção estiver correta, rode `dare discover` para instalar os artefatos DARE + comandos de IDE.
|
|
24
|
+
3. Próximo passo: `/dare-reverse` (Fase 0 — coleta) e `/dare-dna` (convenções).
|
|
25
|
+
|
|
26
|
+
## Comandos relacionados
|
|
27
|
+
|
|
28
|
+
`/dare-reverse` · `/dare-dna` · `/dare-migrate`
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# /dare-graph
|
|
2
|
+
|
|
3
|
+
Consulta e visualiza o grafo de conhecimento do projeto (tasks, arquivos, schemas, endpoints, componentes, entidades e suas relações).
|
|
4
|
+
|
|
5
|
+
> Este comando expõe o CLI `dare graph` na IDE. O agente pode **rodar o comando no terminal** e interpretar a saída.
|
|
6
|
+
|
|
7
|
+
## Quando usar
|
|
8
|
+
|
|
9
|
+
- Você quer entender dependências entre tasks/arquivos/entidades.
|
|
10
|
+
- Precisa achar nós relacionados a um termo, ou exportar um diagrama do grafo.
|
|
11
|
+
|
|
12
|
+
## Como rodar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
dare graph stats # contagem de nós/arestas por tipo
|
|
16
|
+
dare graph query <termo> --limit 10 # busca nós por label/descrição
|
|
17
|
+
dare graph query auth --type endpoint
|
|
18
|
+
dare graph viz --format mermaid -o graph.mmd
|
|
19
|
+
dare graph ingest # re-sincroniza o grafo do dare-dag.yaml
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## O que fazer
|
|
23
|
+
|
|
24
|
+
1. Escolha o subcomando conforme a intenção: `stats`, `query <termo>`, `viz`, `ingest`.
|
|
25
|
+
2. Rode o comando e interprete a saída (para `viz`, abra/renderize o diagrama gerado).
|
|
26
|
+
3. Se o grafo parecer desatualizado, rode `dare graph ingest` para re-sincronizar.
|
|
27
|
+
|
|
28
|
+
## Comandos relacionados
|
|
29
|
+
|
|
30
|
+
`/dare-dag` · `/dare-execute`
|