About Dare CLI
Dare CLI is an MCP server in the RAG category: dARE Framework - CLI, GraphRAG engine, MCP server and shared types in a single package.
Install
claude mcp add dare-cli -- npx -y @dewtech/dare-clinpx -y @dewtech/dare-cliThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Dare CLI
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
DARE Method
Design. Architect. Review. Execute.
A structured methodology for AI-assisted software development with mandatory human-in-the-loop reviews.
Quickstart · Método · Ralph Loop · CLI · Implementações · Comparações
⚡ Quickstart em 5 minutos
Opção 1 — Via CLI (recomendado)
# 1. Instale o CLI globalmente
npm install -g @dewtech/dare-cli
# 2. Inicialize seu projeto de forma interativa
dare init meu-projeto
# → Escolha: Estrutura (Monorepo / Backend / Frontend / MCP Server)
# → Escolha: IDE (Claude Code / Cursor / Antigravity / Hybrid)
# → Escolha: Backend (Rust/Axum, Node/NestJS, Python/FastAPI, PHP/Laravel)
# → Escolha: Frontend (React, Vue, Leptos fullstack, Leptos CSR)
# → [Rust monorepo] Layout: single-crate (crates/server + crates/web) ou multi-crate
# → Escolha: GraphRAG (SQLite, JSON, Neo4j)
# 3. Abra seu projeto e dispare o primeiro comando
cd meu-projeto
dare design "Quero uma API de autenticação JWT"
Projeto já existe? Use
dare discoverpara instalar o DARE sem tocar no código existente:cd meu-projeto-existente dare discover
Opção 2 — Manual (Cursor)
# 1. Clone o repo
git clone https://github.com/dewtech-technologies/dare-method.git
cd dare-method
# 2. Copie a implementação para o seu projeto
cp -r implementations/cursor/.cursor seu-projeto/
cp implementations/cursor/.cursorrules seu-projeto/
# 3. Abra seu projeto no Cursor e dispare o primeiro comando
/generate-design "Quero uma API de autenticação JWT em Node.js"
Pronto. Você está usando DARE.
🎯 O Problema
O desenvolvimento de software com IA hoje opera em dois extremos:
| Vibe Coding | Tradicional |
|---|---|
| "Me dá um código que faça X" + esperança | Especificação detalhada feita só por humanos |
| Rápido pra protótipo, caos pra evoluir | Lento, aproveita pouco a IA |
| Sem auditabilidade do raciocínio | Sem ganho de produtividade real |
DARE preenche o gap entre os dois. Mantém a velocidade da IA, mas com estrutura, contexto e checkpoints humanos.
🚀 O Método
DARE é o acrônimo de 4 fases sequenciais com responsabilidades claras:
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ 1. DESIGN → 2. ARCHITECT → 3. REVIEW → 4. EXECUTE │
│ ───────── ───────────── ───────── ───────── │
│ Humano IA propõe Humano IA implementa │
│ define arquitetura valida + Ralph Loop │
│ requisitos e aprova │
│ │
│ ↓ DESIGN.md ↓ BLUEPRINT.md ↓ ✓ approval ↓ Code + Tests ✓ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
| Fase | O que faz | Quem faz | Saída | Tempo típico |
|---|---|---|---|---|
| 1. Design | Define o que vamos construir e por quê | Humano (IA auxilia) | DARE/DESIGN.md |
15-30 min |
| 2. Architect | Decide como vamos construir, em arquitetura e tasks | IA propõe, humano valida | DARE/BLUEPRINT.md |
5-15 min |
| 3. Review | Aprova ou ajusta o plano antes de gastar tokens | Humano | ✓ approval explícito | 5-10 min |
| 4. Execute | Implementa task por task, com Ralph Loop rodando até gates passarem | IA | Código + testes verdes | varia |
💡 Princípio central: humanos pensam estratégia (1 e 3), IA executa tática (2 e 4). Cada transição entre fases passa por checkpoint explícito.
🤡 Ralph Loop
"I'm in danger 😄"
Inspirado no Ralph Wiggum dos Simpsons, o Ralph Loop é o ciclo de auto-correção pós-execução que acontece dentro da fase 4 (Execute).
A piada esconde uma verdade técnica: agentes de IA são excelentes em iteração até o objetivo, mas ruins em planejamento estratégico. O Ralph Loop usa essa força. As fases anteriores (Design → Architect → Review) suprem a fraqueza.
Como funciona
┌──────────────────────────────────────────────┐
│ IA implementa task (escreve código) │
│ ↓ │
│ Roda os Validation Gates │
│ • testes unitários │
│ • testes de integração │
│ • linter / formatter │
│ • type checker │
│ ↓ │
│ ┌─────────────┐ FAIL ┌──────────────┐ │
│ │ Passou? │ ────────► │ Lê o erro │ │
│ └─────────────┘ │ Corrige │ │
│ PASS │ Tenta de novo│ │
│ ↓ └──────┬───────┘ │
│ ✓ Task done │ │
│ └─────────┘ ⟲
│ Ralph Loop │
└──────────────────────────────────────────────┘
Por que "Ralph"?
Porque a IA, igual ao Ralph Wiggum, persiste confiante mesmo errando. Não desiste até a casa parar de pegar fogo (testes verdes). Não entende inteiramente o porquê — só sabe que precisa fazer passar. E, surpreendentemente, funciona.
Referências externas
- Ralph Loops: automação iterativa e o novo papel do engenheiro — Itai Fos (Medium)
- The greatest AI fix for your bug — CrazyStack
🔁 Fluxo completo
1. /generate-design "Sua ideia em uma frase"
└─► DARE/DESIGN.md
✋ Você revisa e aprova
2. /generate-blueprint DARE/DESIGN.md
└─► DARE/BLUEPRINT.md
✋ Você revisa e aprova
3. /generate-tasks DARE/BLUEPRINT.md
└─► DARE/TASKS.md + DARE/EXECUTION/task-001.md, task-002.md…
✋ Você revisa e aprova
4. /execute-task task-001
└─► IA implementa com Ralph Loop até gates passarem
✓ Código + testes verdes
5. /execute-task task-002
└─► repete para cada task
📊 /telemetry-report (opcional)
└─► Análise de tokens, modelos, custo
🛠️ Implementações
| IDE / Agente | Status | Pasta |
|---|---|---|
| Claude Code | ✅ Production-ready | via dare init / dare discover |
| Cursor IDE | ✅ Production-ready | implementations/cursor/ |
| Antigravity | ✅ Production-ready | implementations/antigravity/ |
| VS Code + Continue | 🔜 Roadmap | — |
| JetBrains AI Assistant | 🔜 Roadmap | — |
Cada implementação tem README próprio com setup detalhado.
🔌 dare discover — projetos existentes
Instalou o DARE em um projeto que já existe? Use dare discover:
cd meu-projeto-existente
dare discover
O CLI detecta automaticamente a stack (NestJS, FastAPI, Laravel, React, Vue, MCP Server…), confirma com você e instala apenas os arquivos DARE — sem tocar no código existente.
dare discover --check # só mostra o que detectou, sem instalar
dare discover --dir ./outro-projeto
📦 DARE CLI — Pacote npm
O DARE Method está disponível como um pacote npm único e instalável: tudo
o que o framework oferece (CLI, servidor MCP, engine GraphRAG, DAG runner)
vem dentro de @dewtech/dare-cli. Não há subpacotes para gerenciar.
Pré-requisitos
Para o CLI rodar
- Node.js 18+ — instala em https://nodejs.org/
Para dare init scaffoldar a stack escolhida
O dare init executa o scaffold oficial da stack (composer create-project,
npx degit vitejs/vite/..., cargo init, go mod init, etc.). Você pode
escolher de onde a toolchain vem:
| Stack | Toolchain nativo | Imagem Docker (fallback) |
|---|---|---|
php-laravel |
PHP 8.2+ · Composer 2+ — https://getcomposer.org/ | composer:latest |
node-nestjs |
Node 18+ (já vem com npx) |
node:20-alpine |
python-fastapi |
Python 3.11+ — https://www.python.org/downloads/ | python:3.12-slim |
rust-axum |
Rust 1.83+ via rustup — https://www.rust-lang.org/tools/install | rust:1.83 |
go-gin |
Go 1.25+ — https://go.dev/dl/ | golang:1.25 |
go-stdlib |
Go 1.22+ (sem framework — só net/http) — https://go.dev/dl/ |
golang:1.25 |
react, vue |
Node 18+ | node:20-alpine |
rust-leptos |
Rust 1.83+ (rustup) + cargo-leptos 0.2.22 | ghcr.io/dewtech-technologies/dare-rust-leptos:1 |
rust-leptos-csr |
Rust 1.83+ (rustup) + trunk | ghcr.io/dewtech-technologies/dare-rust-leptos:1 |
mcp-server-node-ts |
Node 18+ | node:20-alpine |
mcp-server-python |
Python 3.11+ | python:3.12-slim |
TL;DR: se você só tem Docker Desktop, o
dare initconsegue scaffoldar qualquer stack. Se você tem o toolchain nativo, ele é mais rápido. Se você tem os dois, escolha o modo no momento do init.
Instalação
npm install -g @dewtech/dare-cli
Modos de toolchain (a partir da v2.7.0)
Ao rodar dare init, uma pergunta nova aparece:
? Toolchain for scaffolding (composer / npm / cargo / python / go):
❯ 🤖 Auto — usa nativo se disponível, senão Docker (recomendado)
🔧 Native only — exige a CLI no PATH (mais rápido, sem pull de imagem)
🐳 Docker only — sempre usa imagem oficial (hermético, sem instalar nada no host)
A resposta é salva em dare.config.json ("toolchain": "auto") e usada
em todos os dare bootstrap futuros. Override pontual com
dare bootstrap --toolchain <mode>.
| Modo | Quando escolher |
|---|---|
auto |
Default. Não sabe o que tem instalado, ou trabalha em time misto. |
native |
Já tem toolchain instalada. Quer velocidade máxima. |
docker |
Não quer instalar PHP/Cargo/Python/Go no host. Quer build hermético. |
Caveat — Ralph Loop:
dare execute --completeroda os gates (composer dump-autoload,php artisan test,cargo build, etc.) direto no host, não dentro do container do scaffold. Se você escolheudocker onlysem toolchain nativa, o agente da IDE deve rodar os gates viadocker compose exec app <comando>no container que a primeira task (Containerize) cria.
O que vem incluso
| Componente | Função |
|---|---|
CLI dare |
init, discover, design, blueprint, execute |
CLI dare-mcp-server |
Servidor MCP local de contexto (~95% economia de tokens) |
| Engine GraphRAG | Grafo de conhecimento com SQLite + FTS5 |
| DAG Task Runner | Execução paralela de tasks (Kahn's algorithm) |
Histórico: até a v1.x existiam 4 pacotes separados (
dare-cli,dare-core,dare-graphrag,dare-mcp-server). A partir da v2.0 todos foram consolidados em@dewtech/dare-cli. Os 3 pacotes antigos estão deprecated no npm.
Stacks suportados
Backend: Rust/Axum · Node.js/NestJS · Python/FastAPI · PHP/Laravel · Go/Gin · Go/stdlib
Frontend: React 18+ · Vue 3+ · Leptos fullstack (Rust SSR+WASM) · Leptos CSR (Rust WASM)
MCP Server: TypeScript/Node.js · Python — transports stdio, SSE, HTTP Stream
Execução paralela com DAG Task Runner
Inspired by Cursor Cookbook DAG Task Runner, o DARE CLI suporta execução paralela de tasks:
# Gerar grafo de dependências e executar em paralelo
dare blueprint # gera BLUEPRINT.md + dare-dag.yaml
dare execute --parallel # executa tasks independentes em paralelo
| Modo | Tempo estimado |
|---|---|
| Sequencial (anterior) | ~280 minutos |
| Paralelo com DAG | ~70 minutos |
| Ganho | 75% mais rápido |
Economia de tokens com MCP Server
Em vez de a IA reler o BLUEPRINT.md inteiro a cada task, o MCP Server fornece apenas o contexto necessário:
# Iniciar o servidor MCP local
dare-mcp-server
# A IA consulta contexto via HTTP em vez de reler arquivos
# POST http://localhost:3000/context/query
# { "type": "architecture", "query": "authentication", "limit": 3 }
| Método | Tokens usados |
|---|---|
| Reler BLUEPRINT.md completo | ~8.000 tokens |
| Query MCP (5 resultados) | ~400 tokens |
| Economia | ~95% |
📋 Comandos disponíveis (Cursor)
Core (DARE)
| Comando | Entrada | Saída |
|---|---|---|
/generate-design |
Descrição da feature | DARE/DESIGN.md |
/generate-blueprint |
DARE/DESIGN.md |
DARE/BLUEPRINT.md |
/generate-tasks |
DARE/BLUEPRINT.md |
DARE/TASKS.md + task-*.md |
/execute-task |
task-001 |
Código + testes ✓ |
Infraestrutura
| Comando | Saída |
|---|---|
/generate-dockerfile |
Dockerfile + .dockerignore |
/generate-docker-compose |
docker-compose.yml |
Análise
| Comando | Saída |
|---|---|
/telemetry-report |
Análise de tokens / modelos / custo |
/generate-bugfix-design |
DESIGN específico para correção de bug |
/generate-feature-design |
DESIGN específico para feature nova |
📂 Estrutura de arquivos esperada no seu projeto
Após adotar DARE, seu projeto fica assim:
seu-projeto/
├── .cursorrules # Regras globais (do DARE)
├── .cursor/
│ ├── commands/ # Os comandos /generate-*
│ └── rules/ # Skills (Laravel, Docker, Security, etc.)
│
├── DARE/ # Pasta de governança do método
│ ├── DESIGN.md # ← Fase 1 (humano define)
│ ├── BLUEPRINT.md # ← Fase 2 (IA propõe, humano valida)
│ ├── TASKS.md # ← Visão geral
│ ├── EXECUTION/ # ← Fase 4 (specs por task)
│ │ ├── task-001.md
│ │ ├── task-002.md
│ │ └── …
│ └── TELEMETRY.md # ← métricas opcionais
│
└── (resto do seu código)
⚖️ Comparações
| Aspecto | DARE | Vibe Coding | BDD | TDD tradicional |
|---|---|---|---|---|
| Estrutura | Alta (4 fases) | Nenhuma | Alta | Média |
| Velocidade inicial | Média | Alta | Baixa | Baixa |
| Velocidade longo prazo | Alta | Cai com complexidade | Alta | Média |
| Auditabilidade | Total (DESIGN, BLUEPRINT, TASKS) | Nenhuma | Alta (specs) | Média (testes) |
| Uso de IA | Otimizado (fases 2 e 4) | Total mas caótico | Baixo | Baixo |
| Curva de aprendizado | Média | Zero | Alta | Alta |
| Ideal para | Times sérios com IA | Protótipos rápidos descartáveis | Domínios regulados | Bibliotecas / kernels |
🏢 Battle-tested
DARE foi desenvolvido durante a construção de produtos reais de IA generativa na Dewtech e está em uso ativo em projetos de produção desde 2025. A metodologia evoluiu a partir de problemas concretos de:
- Manter qualidade em codebases que crescem rápido com IA
- Garantir que decisões arquiteturais fiquem registradas e revisitáveis
- Reduzir débito técnico gerado por "Vibe Coding" sem estrutura
- Permitir que membros novos do time entrem rapidamente sem perder contexto
O método não é um framework experimental — é o padrão pelo qual a Dewtech entrega software hoje.
📚 Documentação
- 📖 Metodologia detalhada
- 🎭 Ralph Loop em profundidade
- 🔄 Cada uma das 4 fases
- 🧩 Glossário
- ❓ FAQ
- ⚖️ Comparações com outras metodologias
🗺️ Roadmap
Concluído ✅
- CLI standalone (
dare init,dare design,dare blueprint,dare execute) -
dare discover— detecta e instala DARE em projetos existentes sem tocar no código - Tipo de projeto
mcp-server— templates TypeScript e Python com stdio/SSE/HTTP Stream - Suporte ao Claude Code —
CLAUDE.md,.claude/commands/,.claude/settings.jsoncom hooks - Templates por linguagem: Rust/Axum, Node.js/NestJS, Python/FastAPI, PHP/Laravel
- Templates frontend: React 18+, Vue 3+, Leptos fullstack (SSR+WASM), Leptos CSR (WASM)
- Execução paralela de tasks com DAG Task Runner
- MCP Server local para economia de tokens (90% de redução)
- GraphRAG com SQLite para contexto persistente
- Publicação no npm registry (
@dewtech/dare-cli) - GitHub Actions para CI/CD (build, test, release)
- v2.0: consolidação dos pacotes em
@dewtech/dare-cliúnico - v2.11: suporte a Leptos 0.7 — fullstack (cargo-leptos + Axum) e CSR (trunk); skill
/dare-rust-leptoscom idioms, antipatterns e templates de tasks - v2.12: estrutura Rust monorepo corrigida para
crates/server+crates/web(padrão Cargo workspace);--vcs noneautomático em crates membros; opção de layout single-crate vs multi-crate ({name}-core / server / web / cli) nodare init - v2.13: templates de DESIGN e BLUEPRINT reestruturados com RF/RNF/RS numerados, stakeholders, métricas de sucesso e critérios de DONE por fase; Ralph Loop expandido com auditoria de dependências (
npm audit/cargo audit/pip-audit/composer audit) — CVE HIGH/CRITICAL bloqueia task; skill de segurança reescrita (OWASP A01–A10 completo, supply chain, prompt injection, examples por stack); novo slash command/dare-security; blueprint phase separation enforced (/dare-blueprintgera somenteBLUEPRINT.md);cratePrefixprompt para layout multi-crate Rust;Cargo.lockremovido de crates membros do workspace - v2.14: fix sync de templates —
dare initagora instala corretamente os comandos de blueprint com phase separation (tasks só após aprovação humana via/generate-tasks//dare-tasks) - v2.15: fix package names por crate em monorepo Rust (sem colisão de nomes);
Cargo.lockremovido apóscargo fetchem bootstraps Leptos
Próximos passos 🔜
- Implementação para VS Code + Continue
- Templates para Go e Kotlin
- Site dedicado em
dare-method.dev - Curso / certificação
- DARE Cloud (GraphRAG remoto para times)
🤝 Contribuindo
PRs são muito bem-vindos. Veja CONTRIBUTING.md pra:
- Adicionar nova implementação (IDE / agente)
- Adicionar nova skill (Python, Go, Rust, mobile, etc.)
- Reportar bugs ou sugerir melhorias na metodologia
- Compartilhar case studies de uso real
📜 Licença
MIT — veja LICENSE.
🚀 Adotando DARE no seu time?
Workshops, consultoria de adoção e cases study customizados disponíveis via Dewtech.
📧 wanderson@dewtech.tech 🌐 https://dewtech.tech
Feito com ❤️ pela Dewtech em Belo Horizonte, Brasil 🇧🇷
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.