CLI toolkit para desenvolvimento com Claude Code usando framework CADD (Context-Agentic Development & Delivery)
O ADK e um orquestrador de prompts para Claude Code. Ele nao executa codigo diretamente - ele gera prompts estruturados e envia para o Claude Code fazer o trabalho real.
Voce roda: adk feature plan auth
|
ADK gera prompt estruturado com contexto
|
ADK executa: claude "prompt..."
|
Claude Code faz o trabalho (le, escreve, implementa)
Principais caracteristicas:
- Workflow completo de desenvolvimento: PRD > Research > Tasks > Plan > Implement > QA > Docs
- Isolamento via git worktrees (cada feature em branch separada)
- Sistema de memoria hierarquica (4 niveis: Project > Feature > Phase > Session)
- Retrieval dinamico de contexto (Agentic RAG)
- Roteamento inteligente de modelos por fase
- Resiliencia cognitiva (CDR): health probes, retry, recovery, fallback
- AI-on-AI review para maior qualidade
- Quality gates com risk scoring
- 8 agents especializados (analyzer, implementer, tester, etc)
- Integracao com project management (ClickUp)
- TDD enforced (testes primeiro, sempre)
git clone https://github.com/renanlido/agentic-development-kit
cd agentic-development-kit
npm install
npm run build
npm link
adk --versionRequisitos:
- Node.js >= 18
- Git
- Claude Code CLI instalado (
claude --version)
cd meu-projeto-existente
adk initIsso cria a estrutura CADD no seu projeto:
projeto/
├── CLAUDE.md # Instrucoes para Claude Code
└── .claude/
├── memory/project-context.md
├── agents/ # 8 agentes especializados
├── skills/ # 4 skills com templates
├── commands/ # 9 slash commands
├── rules/ # 4 regras de qualidade
├── hooks/ # 6 hooks de automacao
├── settings.json
└── ...
┌─────────────────────────────────────────────────────────────────┐
│ ADK CLI │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ feature │ │workflow │ │ agent │ │ memory │ │ deploy │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │ │ │
│ └───────────┴───────────┴───────────┴───────────┘ │
│ │ │
│ ┌─────────▼─────────┐ │
│ │ Prompt Generator │ │
│ │ (utils/claude.ts) │ │
│ └─────────┬─────────┘ │
└──────────────────────────────┼──────────────────────────────────┘
│
┌──────────▼──────────┐
│ Claude Code CLI │
│ (executa prompts) │
└─────────────────────┘
| Componente | Localizacao | Responsabilidade |
|---|---|---|
| CLI Entry | src/cli.ts |
Parser de comandos (Commander.js) |
| Feature Command | src/commands/feature.ts |
Lifecycle de features |
| Workflow Command | src/commands/workflow.ts |
Workflows automatizados |
| Agent Command | src/commands/agent.ts |
Gerenciamento de agents |
| Memory Command | src/commands/memory.ts |
Sistema de memoria |
| Templates | templates/ |
Templates de PRD, tasks, plans |
| Providers | src/providers/ |
Integracao externa (ClickUp) |
┌─────────┐ ┌──────────┐ ┌───────┐ ┌──────────────┐
│ PRD │───▶│ Research │───▶│ Tasks │───▶│ Architecture │
└─────────┘ └──────────┘ └───────┘ └──────────────┘
│
┌─────────┐ ┌──────────┐ ┌────┐ │
│ Docs │◀───│ QA │◀───│Impl│◀─────────────┘
└─────────┘ └──────────┘ └────┘
│
┌─────▼─────┐
│ Finish │
│(PR/Merge) │
└───────────┘
Cada fase gera arquivos em .claude/plans/features/<nome>/:
prd.md- Product Requirementsresearch.md- Analise do codebasetasks.md- Breakdown de tasksimplementation-plan.md- Plano detalhadoqa-report.md- Relatorio de QA
Adiciona estrutura CADD a um projeto existente.
adk init
adk init -n "Meu Projeto"| Opcao | Descricao | Default |
|---|---|---|
-n, --name |
Nome do projeto | nome da pasta |
Atualiza templates ADK sem perder dados existentes.
adk update # Atualiza todos
adk update --commands # Apenas comandos
adk update --hooks # Apenas hooks
adk update --force # Sem confirmacao| Opcao | Descricao |
|---|---|
--commands |
Atualiza apenas slash commands |
--hooks |
Atualiza apenas hooks |
--agents |
Atualiza apenas agents |
--rules |
Atualiza apenas rules |
--skills |
Atualiza apenas skills |
--all |
Atualiza tudo |
--force |
Sem confirmacao |
--no-backup |
Nao cria backup |
Gerencia o lifecycle completo de features.
adk feature new auth
adk feature new auth "Sistema de autenticacao com JWT"
adk feature new auth -c /path/to/spec.md
adk feature new auth -p P0 # Prioridade| Opcao | Descricao |
|---|---|
[description] |
Descricao da feature |
-c, --context |
Arquivo de contexto |
-p, --priority |
Prioridade (P0-P4) |
--no-sync |
Nao sincroniza com PM tool |
adk feature research auth
adk feature research auth "Focar em seguranca"Output: .claude/plans/features/auth/research.md
adk feature tasks authPrereq: research.md deve existir
Output: .claude/plans/features/auth/tasks.md
adk feature plan auth
adk feature plan auth --skip-specPrereq: tasks.md deve existir
Output: .claude/plans/features/auth/implementation-plan.md
adk feature implement auth
adk feature implement auth --phase 1
adk feature implement auth --base-branch developPrereq: implementation-plan.md deve existir
Comportamento: Cria worktree isolado em .worktrees/auth/
| Opcao | Descricao |
|---|---|
--phase |
Fase especifica |
--skip-spec |
Pula validacao de spec |
--base-branch |
Branch base (default: main) |
adk feature qa authPrereq: Worktree deve existir (rode implement primeiro)
Output: .claude/plans/features/auth/qa-report.md
adk feature docs authPrereq: Worktree deve existir
adk feature finish auth
adk feature finish auth --base-branch developComportamento:
- Commit das mudancas
- Push para remote
- Cria PR ou merge
- Cleanup do worktree
adk feature listOutput:
Features do Projeto:
* auth Planned
* user-profile Researched
* dashboard Created
adk feature next auth # Proxima etapa de auth
adk feature next # Proxima etapa da feature ativa
adk feature n # Aliasadk feature autopilot auth
adk feature autopilot auth "Sistema de login com OAuth"
adk feature autopilot auth -c /path/to/spec.mdComportamento:
- Executa todas as fases automaticamente
- Retomavel: se parar no meio, continua de onde parou
- Isolado: usa worktree separado
Tarefa rapida sem processo formal. Para bugs, ajustes, micro features.
adk quick "corrigir botao de login no mobile"
adk q "adicionar validacao de email"
adk quick "fix parser error" -f src/utils/parser.ts
adk quick "ajustar cor" --no-test
adk quick "fix typo" --commit| Opcao | Descricao | Default |
|---|---|---|
-f, --file |
Arquivo especifico | - |
-t, --test |
Rodar testes | true |
--no-test |
Nao rodar testes | - |
--commit |
Commit automatico | false |
Workflows automatizados de desenvolvimento.
adk workflow dailyComportamento:
- Reviews git log desde ontem
- Atualiza project memory
- Cria nota em
.claude/daily/YYYY-MM-DD.md
adk workflow pre-commitVerifica:
- console.log/debugger
- Secrets hardcoded
- TODOs criticos
- Testes quebrados
adk workflow pre-deploy -f authChecklist:
- Testes passando
- Coverage adequado
- Sem vulnerabilidades
- Documentacao atualizada
- Feature flags configurados
- Monitoring setup
Resultado: GO / NO-GO
Gerencia agents especializados.
adk agent create security-scanner
adk agent create optimizer -t analyzer| Opcao | Descricao |
|---|---|
-t, --type |
Tipo (analyzer, implementer, tester, generic) |
adk agent run security-scanner
adk agent run optimizer -c "Focar em queries SQL"adk agent pipeline authPipeline padrao: analyzer > optimizer > documenter
adk agent parallel auth
adk agent parallel auth --max-agents 5
adk agent parallel auth --fallback-sequential| Opcao | Descricao | Default |
|---|---|---|
--max-agents |
Maximo simultaneo | 3 |
--fallback-sequential |
Fallback se paralelo falhar | false |
adk agent status
adk agent status --watchGerencia memoria persistente do projeto.
adk memory save authSalva: Contexto atual para feature especifica
adk memory load authCarrega: Memoria de feature para sessao
adk memory view auth
adk memory view --globaladk memory compact authComportamento: Compacta memoria grande usando Claude (>800 linhas)
adk memory search "OAuth"
adk memory search "login" -f authadk memory updateAtualiza: Memoria global do projeto
adk memory recall "autenticacao"
adk memory recall "cache" -c architecture -l 10| Opcao | Descricao | Default |
|---|---|---|
-c, --category |
Filtrar por categoria | - |
-l, --limit |
Limite de resultados | 5 |
adk memory link auth ADR-001
adk memory unlink auth ADR-001Comportamento: Vincula/desvincula decisao a feature
adk memory export
adk memory export --format json --output ./backup/Gerencia especificacoes formais de features.
adk spec create auth
adk spec create auth --from-prdadk spec validate auth
adk spec validate auth --fixadk spec generate authComportamento: Gera scaffolding de codigo a partir da spec
adk spec view authGerencia registry de tools.
adk tool search "test"
adk tool search "validation" -c testing -l 10adk tool register my-linter
adk tool register --from-file tools.json
adk tool unregister my-linteradk tool list
adk tool list -c testing
adk tool list --discoverableadk tool indexComportamento: Re-indexa tools de agents e skills
adk tool info my-linterGerencia deployments.
adk deploy staging authComportamento:
- Merge para staging branch
- Trigger CI/CD
- Monitor deploy
- Run smoke tests
adk deploy production auth
adk deploy production auth --percentage 10| Opcao | Descricao | Default |
|---|---|---|
--percentage |
Porcentagem inicial de rollout | 10 |
adk deploy rollback authConfigura integracoes externas.
adk config integration clickup # Setup interativo
adk config integration --show # Ver config atual
adk config integration --disableSincroniza features com ferramenta de projeto.
adk sync # Todas features pendentes
adk sync auth # Feature especifica
adk sync --force # Re-sync ja sincronizadasImporta tasks de ferramenta externa como features.
adk import # Importa todas
adk import --list # Lista sem importar
adk import --dry-run # Preview
adk import --id abc123 # Task especifica
adk import --force # Sobrescreve existentesGera relatorios do projeto.
adk report --weekly # Relatorio semanal
adk report --feature auth # Relatorio de feature.claude/
├── memory/ # Contexto persistente
│ ├── project-context.md # Memoria global
│ └── features/ # Memorias por feature
│ └── auth.md
├── plans/
│ └── features/
│ └── auth/
│ ├── prd.md
│ ├── research.md
│ ├── tasks.md
│ ├── implementation-plan.md
│ ├── spec.md
│ ├── context.md
│ ├── qa-report.md
│ └── progress.json
├── agents/ # 8 agents especializados
│ ├── analyzer.md
│ ├── architect.md
│ ├── implementer.md
│ ├── tester.md
│ ├── reviewer.md
│ ├── prd-creator.md
│ ├── task-breakdown.md
│ └── documenter.md
├── skills/ # 4 skills
│ ├── code-review/
│ ├── tdd-development/
│ ├── task-planning/
│ └── prd-writing/
├── commands/ # 9 slash commands
│ ├── analyze.md
│ ├── daily.md
│ ├── new-feature.md
│ ├── implement.md
│ ├── qa.md
│ ├── finish.md
│ ├── init.md
│ ├── recall.md
│ └── next-step.md
├── rules/ # 4 regras
│ ├── code-style.md
│ ├── testing-standards.md
│ ├── security-rules.md
│ └── git-workflow.md
├── hooks/ # 6 hooks
│ ├── inject-focus.sh
│ ├── scope-check.sh
│ ├── validate-bash.sh
│ ├── post-write.sh
│ ├── context-recall.sh
│ └── update-state.sh
├── decisions/ # ADRs
├── daily/ # Notas diarias
├── reports/ # Relatorios gerados
├── settings.json # Config de hooks
└── active-focus.md # Feature ativa atual
O ADK suporta sincronizacao bidirecional com ClickUp.
adk config integration clickupO assistente ira pedir:
- API Token (salvo em
.env) - Workspace ID
- Space ID
- List ID
Configuracao gerada:
.adk/config.json:
{
"version": "1.0.0",
"integration": {
"provider": "clickup",
"enabled": true,
"autoSync": false,
"syncOnPhaseChange": true,
"conflictStrategy": "local-wins"
},
"providers": {
"clickup": {
"workspaceId": "123456",
"spaceId": "789012",
"listId": "345678"
}
}
}.env:
CLICKUP_API_TOKEN=pk_12345678_XXXX
| ADK | ClickUp |
|---|---|
| Feature name | Task name |
| Phase | Task status |
| PRD content | Task description |
| Progress % | Custom field |
Estrategias disponiveis (conflictStrategy):
local-wins- Local sempre sobrescreve (default)remote-wins- Remoto sempre sobrescrevenewest-wins- Mais recente vencemanual- Gera conflict report
Operacoes que falham sao enfileiradas em .adk/sync-queue.json:
- Max 3 retries com exponential backoff
- Persistente entre sessoes
adk syncprocessa a fila
- Crie arquivo em
.claude/agents/meu-agent.md:
---
name: meu-agent
description: Descricao do agent
context: fork
---
# Agent: Meu Agent
## Objetivo
[Descreva o objetivo]
## Workflow
1. Passo 1
2. Passo 2
3. Passo 3
## Output
[Descreva o output esperado]- Execute:
adk agent run meu-agent- Crie diretorio em
.claude/skills/meu-skill/ - Adicione
SKILL.mdcom instrucoes - Adicione templates em
templates/ - Reference no agent:
skill: meu-skill
- Crie diretorio em
src/providers/meu-provider/ - Implemente interface
ProjectProvider:connect(credentials)createFeature(feature)updateFeature(id, data)syncFeature(feature, remoteId?)getRemoteChanges(since)
- Registre em
src/providers/index.ts - Adicione a
SUPPORTED_PROVIDERSemsrc/commands/config.ts
O ADK utiliza tecnicas avancadas de engenharia de prompt:
Prompts em fases numeradas:
PHASE 1: RESEARCH
PHASE 2: DETAILED PLANNING
PHASE 3: IMPLEMENTATION (TDD)
Input: .claude/plans/features/auth/research.md
Output: .claude/plans/features/auth/implementation-plan.md
Templates com estrutura pre-definida garantem consistencia.
<context>
${contextContent}
</context>
IMPORTANTE: TDD - TESTES PRIMEIRO
IMPORTANTE: Este e apenas o plano. NAO IMPLEMENTE AINDA.
Validacoes que impedem avanco sem pre-requisitos.
Process:
1. WRITE TESTS FIRST
- Escreva TODOS os testes da fase
- Execute e confirme que falham
2. IMPLEMENT
- Implemente codigo minimo
## 1. Tests
- [ ] Unit tests
- [ ] Integration tests
Erro: Claude Code CLI nao esta instalado
Solucao:
# Verifique se claude esta no PATH
which claude
# Se nao estiver, instale via:
npm install -g @anthropic-ai/claude-codeErro: Worktree para feature 'auth' ja existe
Solucao:
# Liste worktrees
git worktree list
# Remova o existente
git worktree remove .worktrees/auth --force
# Tente novamente
adk feature implement authErro: Execute research primeiro: adk feature research auth
Solucao: As fases devem ser executadas em ordem. Execute a fase faltante primeiro.
Erro: Falha ao sincronizar com ClickUp
Solucao:
- Verifique
.envtem token valido - Verifique
.adk/config.jsontem IDs corretos - Verifique conectividade de rede
adk sync --forcepara re-tentar
Warning: Memoria excede 800 linhas
Solucao:
adk memory compact authSolucao:
- Verifique
.claude/settings.jsonexiste - Verifique permissao de execucao:
chmod +x .claude/hooks/*.sh - Verifique sintaxe dos hooks
adk quick "corrigir X" --commitadk feature new nome "descricao"
adk feature research nome
adk feature tasks nome
adk feature plan nome
adk feature implement nome
adk feature qa nome
adk feature docs nome
adk feature finish nomeadk feature autopilot nome "descricao"adk feature autopilot nome # Continua de onde parou
# ou
adk feature next nome # Proxima etapaadk workflow daily
adk feature list
adk feature next # Proxima etapa da feature ativanpm run dev # Watch mode
npm run build # Compilar
npm run check:fix # Lint + format
npm test # Testes
npm run type-check # Verificar tipossrc/
├── cli.ts # Entry point
├── commands/ # Implementacao de comandos
├── providers/ # Integracoes externas
├── types/ # TypeScript types
└── utils/ # Utilitarios
├── claude.ts # Execucao de Claude Code
├── templates.ts # Sistema de templates
├── memory-utils.ts
├── progress.ts
└── ...
- Crie
src/commands/meu-comando.ts - Exporte instancia singleton
- Registre em
src/cli.ts - Siga pattern de error handling (ora + logger)
Status: Alpha / Desenvolvimento Isolado
O ADK v3 introduz session continuity - rastreamento e retomada de sessões Claude entre fases de desenvolvimento, resolvendo o problema crítico de perda de contexto do v2.
No v2, cada comando (feature research, feature plan, etc) criava uma nova sessão Claude isolada, resultando em 0% de continuidade de contexto. O v3 captura session IDs e permite retomada automática.
npm run build
npm run adk3 -- feature status my-featureImportante: v3 é isolado e não afeta comandos v2. Use apenas npm run adk3 para testar.
executeClaudeCommandV3 (spawn assíncrono)
↓
--print-session-id → parseSessionId()
↓
SessionStore.save() → .claude/plans/features/{name}/sessions/
↓
Resume automático quando < 24h de inatividade
- ✅ Captura automática de session ID via
--print-session-id - ✅ Resume automático de sessões (janela de 24h)
- ✅ Persistência em
.claude/plans/features/{name}/sessions/ - ✅ Comando
feature statuscom histórico de sessões - ✅ Atomic writes para consistência de dados
- 🚧 Prompts diferenciados (Initializer/Coding Agent) - Sprint 2
- 🚧 Comando
feature workcom loop - Sprint 3
Ver .claude/plans/features/adk-v3-session-continuity/README.md
MIT
Feito por Renan Lido