octechpus
v2.11.0
Published
đ Octechpus â Agent Orchestrator CLI for Claude Code projects
Maintainers
Readme
đ Octechpus
CLI instalåvel que scaffolda um sistema completo de orquestração de agentes em qualquer projeto Claude Code.
octechpus init detecta sua stack automaticamente e instala 13 agentes especializados (incluindo Privacy/LGPD e um Designer stack-agnĂłstico), templates de CI/GitHub e documentação estruturada â tudo configurado para o seu projeto, pronto para usar com /pipeline no Claude Code.
Instalação
# Sem instalar (recomendado para uso pontual)
npx octechpus init
# Global
npm install -g octechpus
octechpus initRequisitos: Node.js >= 18
Quick start
npx octechpus initSem flags, o init pergunta como vocĂȘ quer instalar, com dois caminhos:
- A) Projeto em andamento â o CLI lĂȘ a base de cĂłdigo existente e auto-detecta a stack coerente, instalando de forma harmoniosa com o que jĂĄ estĂĄ lĂĄ.
- B) Projeto novo â vocĂȘ aponta um documento PID (
.md) descrevendo o projeto; o CLI lĂȘ o documento e escolhe a stack ideal para começar.
VocĂȘ pode pular o menu com flags:
# Stack explĂcita (bypass total)
npx octechpus init --stack=python-fastapi
# Projeto novo: aponta o PID direto (entra no caminho B, nĂŁo-interativo)
npx octechpus init --describe=docs/pid.mdđĄ NĂŁo precisa do caminho completo. Basta o nome do arquivo (com ou sem
.md) â o CLI procura o documento emprojectDire no diretĂłrio atual, ignorandonode_modules,.git,dist, etc. Ex.:--describe=pid. Se houver mais de um arquivo com o mesmo nome, o CLI lista os caminhos e pede para vocĂȘ especificar.
Na detecção (caminhos A e B), o CLI inspeciona manifests (package.json, pyproject.toml, go.mod, Cargo.toml, pom.xml/build.gradle, *.csproj/*.sln, Gemfile, composer.json) e também documentos .md (o PID no caminho B; README.md, PROJECT.md, ARCHITECTURE.md, etc. no caminho A):
- Alta confiança â aplica o profile imediatamente
- Confiança mĂ©dia â pede confirmação antes de aplicar
- Baixa confiança â lista candidatos (com "quando usar") e abre o modo guiado
- Sem confiança / stack mista â use o profile
generic
Profiles disponĂveis
Designer e Privacy/LGPD sĂŁo always-on em todos os profiles (nĂŁo aparecem como "extras"). SĂł Cost Engineer Ă© opt-in por profile.
| Profile | Linguagem / Framework | Agente opt-in |
|---|---|---|
| node-typescript | Node.js + TypeScript, Vitest, Zod | â |
| node-javascript | Node.js puro (JS, sem TypeScript) | â |
| nextjs-react | Next.js + React + Tailwind + shadcn/ui | â |
| vue-nuxt | Vue 3 + Nuxt + Tailwind | â |
| react-native | React Native / Expo (mobile) | â |
| python-fastapi | Python â„ 3.12, FastAPI, Pydantic v2, pytest, uv, ruff | â |
| python-ai-pipeline | FastAPI + LLM (Anthropic/OpenAI/LangChain) | Cost Engineer |
| python-cli | Click / Typer, pytest | â |
| go-api | Go, chi ou stdlib, testify | â |
| rust-cli | Rust, clap, tokio, cargo test | â |
| java-spring | Java 17+, Spring Boot, JUnit 5 | â |
| dotnet-api | C#, ASP.NET Core, xUnit | â |
| ruby-rails | Ruby on Rails, RSpec | â |
| php-laravel | PHP 8.2+, Laravel, Pest/PHPStan | â |
| generic | Fallback agnĂłstico (stack mista / desconhecida) | â |
Todos herdam de _base, que define pipeline, segurança, privacidade, ADRs e convençÔes universais. A herança Ă© resolvida por deep-merge: o filho sobrescreve escalares e concatena arrays (use !override como 1Âș item para substituir).
_base
âââ node-typescript
â âââ nextjs-react
â âââ vue-nuxt
â âââ react-native
âââ node-javascript
âââ python-fastapi
â âââ python-ai-pipeline
â âââ python-cli
âââ go-api · rust-cli · java-spring · dotnet-api · ruby-rails · php-laravel
âââ genericO que Ă© instalado
seu-projeto/
âââ .claude/
â âââ commands/ â agentes como slash commands (orquestração)
â â âââ pipeline.md /pipeline
â â âââ maestro.md /maestro
â â âââ audit.md /audit
â â âââ architect.md /architect
â â âââ coder.md /coder
â â âââ review.md /review
â â âââ qa.md /qa
â â âââ security.md /security
â â âââ privacy.md /privacy â LGPD/GDPR
â â âââ reporter.md /reporter
â â âââ docs.md /docs
â â âââ github-issue.md /github-issue
â â âââ profiler.md /profiler
â â âââ design.md /design
â â âââ cost-engineer.md /cost
â âââ agents/ â subagents escopados (tools + modelo por agente)
â â âââ security.md read-only · opus
â â âââ coder.md read-write · inherit
â â âââ docs.md read-write · haiku
â â âââ ⊠(um por agente ativo)
â âââ settings.json â permissĂ”es: allow / ask / deny (segurança)
âââ .github/
â âââ ISSUE_TEMPLATE/ Templates bug / feature / refactor
â âââ PULL_REQUEST_TEMPLATE.md
âââ docs/
â âââ OCTECHPUS_AGENTS.md â ReferĂȘncia completa dos agentes
â âââ adr/ â Architecture Decision Records
âââ .octechpus/
â âââ manifest.json â Hashes SHA-256 para rastrear customizaçÔes
âââ CLAUDE.md â Config do projeto lida pelo Claude CodeDesign system: desde a v2.4 o
initnĂŁo scaffolda mais umdesign-system/pronto. O agente Designer Ă© stack-agnĂłstico â aplica melhores prĂĄticas de UX/UI e pede o design system do Claude Design em runtime. Se quiser um starter local, use--with-design-systemounpx octechpus design-system add.
PermissÔes e subagents (v2.5)
Desde a v2.5 o init configura segurança por padrĂŁo â sem vocĂȘ precisar aprovar
cada ação dos agentes. Ver ADR 002.
.claude/settings.json â modelo de menor privilĂ©gio
Gerado a partir do profile, com trĂȘs nĂveis:
| NĂvel | Comportamento | Exemplos |
|---|---|---|
| allow | roda sem perguntar | npm test, git commit, pytest, cargo build, gh ⊠|
| ask | pausa e pede aprovação | git push, npm publish |
| deny | bloqueado (nem pergunta) | rm -rf, force-push, sudo, curl/wget, ler .env/chaves |
As pastas em guardrails.read_only_paths viram regras Write(...)/Edit(...) no deny â
o guardrail deixa de ser texto no CLAUDE.md e passa a ser trava imposta.
O resultado é mais autonomia (o trabalho seguro flui sem prompts) e mais segurança (o destrutivo é barrado, não perguntado). Para overrides pessoais, use
.claude/settings.local.jsonâ ele precede osettings.json.
â ïž
denyĂ© defesa-em-profundidade, nĂŁo sandbox. As regras casam por prefixo de comando (Bash(rm -rf:*)), entĂŁo reduzem o risco mas nĂŁo eliminam toda evasĂŁo possĂvel (ex.:find -delete, aliases). Ă uma camada de proteção â nĂŁo substitui review humano. Cada subagent tambĂ©m carrega uma instrução anti prompt-injection (conteĂșdo lido do repo Ă© dado, nunca comando).
.claude/agents/ â subagents escopados
Cada agente vira um subagent do Claude Code com contexto isolado, ferramentas por princĂpio do menor privilĂ©gio e modelo prĂłprio:
| Agente | Tools | Modelo |
|---|---|---|
| Architect · Reviewer · Security · Privacy · Reporter · Profiler · Designer | Read, Grep, Glob (read-only) | â |
| Coder · QA · Docs · GitHub · Maestro | Read, Write, Edit, Bash, Grep, Glob | â |
| Security · Architect | â | opus (rigor) |
| Docs · Reporter · Profiler | â | haiku (custo) |
Os agentes de anĂĄlise nĂŁo conseguem editar cĂłdigo (nĂŁo tĂȘm a ferramenta) â a segurança
vem de nĂŁo ter a capacidade, nĂŁo de te perguntar. ConfigurĂĄvel via agents_runtime no profile.
v2.6 â orquestração real: o
/pipelinedelega cada fase ao subagent via ferramentaTask(em vez de trocar de papel numa conversa sĂł). O fan-out pĂłs-Coder â Reviewer â„ QA â„ Security â„ Privacy â roda em paralelo, e o handoff entre agentes passa por artefatos em.octechpus/run/(cada subagent recebe os outputs relevantes dos anteriores). O/audittambĂ©m delega aos subagents read-only em paralelo (v2.7).
v2.7 â adoção sem atrito: se vocĂȘ jĂĄ tem um
.claude/settings.json, o Octechpus faz merge das permissÔes nele (preserva suas regras e chaveshooks/env/etc.) em vez de pular o arquivo. Umsettings.jsoninvålido nunca é sobrescrito. Oinit/updatetambém adicionam.octechpus/run/ao.gitignore.
Os 13 agentes
Maestro â GitHub â Architect â [Designer] â Coder â Reviewer â QA â Security â Privacy â Docs â Reporter
â em demandas de UI đŹ Profiler đ° Cost Engineer (opt-in)| # | Agente | Responsabilidade |
|---|---|---|
| 1 | đŻ Maestro | Orquestra; rubrica de severidade, critĂ©rios testĂĄveis, teto de 2 iteraçÔes â escala p/ humano |
| 2 | đ GitHub | Issues, branches (conventional), commits semĂąnticos, PRs; CODEOWNERS/branch protection/secret-scan |
| 3 | đ Architect | Impacto tĂ©cnico, ADRs, NFRs e classificação de dados (pĂșblico/pessoal/sensĂvel) |
| 4 | đš Designer | Stack-agnĂłstico â melhores prĂĄticas de UX/UI; pede o design system do Claude Design em runtime |
| 5 | đ» Coder | Implementação pelo profile; Karpathy (Simplicity/Surgical); regras de segredos/PII e feature flags |
| 6 | đ Reviewer | Code review com severidade (đŽ/đĄ/đ”); K1-K4; concorrĂȘncia, i18n; checklist de UX em PRs de UI |
| 7 | đ§Ș QA | Unit/integração/E2E + negativos de segurança; fixtures sem PII; smoke de performance |
| 8 | đĄïž Security | OWASP 2021 + API Security Top 10 (BOLA/BFLA) + SSRF + supply chain |
| 8b | âïž Privacy | Conformidade LGPD/GDPR: base legal, minimização, retenção, direitos do titular, RIPD/DPIA |
| 9 | đ Docs | Docstrings/JSDoc, README, CHANGELOG, ADRs, documentação de dados pessoais |
| 10 | đ Reporter | RelatĂłrio consolidado; scorecard com piso (Segurança/Privacidade < 4 capa o geral) |
| 11 | đŹ Profiler | Auto-detecção de stack (incl. monorepo/drift); rode /profiler para re-verificar |
| 12 | đ° Cost Engineer | Guarda contra gasto de API/infra (budget + kill-switch); opt-in em AI/ML |
PrincĂpios de Karpathy (embutidos em todos os agentes desde v2.3)
Todo agente gerado por octechpus init segue os 4 princĂpios:
- Think Before Coding â Architect declara premissas e define critĂ©rios testĂĄveis antes de qualquer plano
- Simplicity First â Coder proĂbe abstraçÔes prematuras e cĂłdigo defensivo desnecessĂĄrio
- Surgical Changes â Coder altera o mĂnimo necessĂĄrio; Reviewer rejeita escopo extra
- Goal-Driven Execution â Maestro converte demandas vagas em resultados mensurĂĄveis antes de rotear
Slash commands (pĂłs-init)
Abra o Claude Code no projeto e use:
| Comando | Para quĂȘ |
|---|---|
| /pipeline [demanda] | Pipeline completo â todos os agentes em sequĂȘncia |
| /maestro [demanda] | Classificação, severidade e roteamento |
| /audit [escopo] | Raio-x do projeto com scorecard |
| /architect [escopo] | AnĂĄlise de impacto arquitetural |
| /coder [demanda] | Implementação guiada pelo profile |
| /review [escopo] | Code review com severidade |
| /qa [escopo] | Gerar testes (unit, integration, E2E) |
| /security [escopo] | Audit OWASP 2021 + API Top 10 |
| /privacy [escopo] | Conformidade LGPD/GDPR |
| /docs [escopo] | Documentação |
| /github-issue [demanda] | Criar issue no GitHub |
| /profiler | Re-detectar e reportar stack atual |
| /reporter [escopo] | RelatĂłrio consolidado do pipeline |
| /design [demanda] | Briefing de UX/UI (Designer) |
| /cost [escopo] | Audit de gasto de API e dependĂȘncias |
| /readiness [escopo] | Scorecard de prontidão técnica publicado numa Issue (integração Maestro) |
Comandos CLI
octechpus init # Setup com auto-detecção de stack
octechpus init --stack=<profile> # Setup com stack explĂcita
octechpus status # Verifica setup e profile ativo
octechpus doctor # Diagnostica problemas e drift de profile
octechpus update # Atualiza commands (preserva customizaçÔes)
octechpus profile list # Lista profiles disponĂveis
octechpus profile show <nome> # Mostra profile resolvido (após herança)
octechpus profile current # Mostra profile ativo do projeto atual
octechpus profile switch <nome> # Troca o projeto para outro profile
octechpus design-system add # Adiciona design system ao projeto
octechpus design-system update # Sincroniza design-system/ com os templates mais recentes
octechpus help # AjudaFlags
| Flag | Efeito |
|---|---|
| --stack=<nome> | Força um profile, ignorando auto-detecção |
| --describe=<file.md> | Infere a stack a partir de um doc .md do projeto |
| --force | Sobrescreve arquivos existentes sem perguntar |
| --minimal | SĂł o nĂșcleo .claude/: commands + settings.json + agents (sem docs/GitHub) |
| --dry-run | Preview do que seria criado, sem escrever nada |
| --with-design-system | Scaffolda um starter local em design-system/ (opcional) |
| --keep-customizations | update pula arquivos editados pelo usuĂĄrio (padrĂŁo: true) |
Rastreamento de customizaçÔes
octechpus update armazena um hash SHA-256 de cada arquivo gerado em .octechpus/manifest.json. Em updates subsequentes, compara o hash armazenado com o conteĂșdo atual:
- Hash bate â arquivo nĂŁo foi editado â atualiza
- Hash diverge â arquivo foi customizado â pula (preserva suas ediçÔes)
--forceâ sobrescreve tudo independente de customizaçÔes
Criando um profile customizado
- Crie
src/profiles/meu-stack.yamlherdando da base mais prĂłxima:
extends: _base # ou python-fastapi, node-typescript, etc.
name: meu-stack
description: "Minha stack customizada"
language: kotlin
runtime: "jvm>=21"
package_manager: gradle
testing:
framework: junit5
coverage_target: 80
design_system:
tokens: none- Valide o profile:
node src/cli.mjs profile show meu-stack- Use:
octechpus init --stack=meu-stackConsulte docs/profiles.md para a especificação completa do schema.
Projetos existentes
O CLI detecta CLAUDE.md existentes e faz merge automaticamente â seu conteĂșdo Ă© preservado abaixo da seção gerada pelo Octechpus.
cd projeto-existente
octechpus init
octechpus statusMigração do 1.x
npm install -g octechpus
cd seu-projeto
octechpus init # detecta stack, faz merge do CLAUDE.md, atualiza commands
octechpus status
octechpus doctorBreaking changes na 2.0:
CLAUDE.mdganhou seçãoStack Profileno topo â oinitfaz merge automaticamentedocs/AGENTS.mdrenomeado paradocs/OCTECHPUS_AGENTS.md- Commands passaram a usar placeholders
{{stack.xxx}}em vez de nomes de linguagem hardcoded
Testes
npm test # 137 testes, ~2.5s
npm run test:watch # modo watch
npm run test:coverage # com coberturaCobertura: profile-loader, stack-detector, template-renderer, cli-init, cli-permissions, cli-profile-commands, template-rendering-integration.
Publicar no npm
AutomĂĄtico (recomendado): bumpe a versĂŁo (package.json + src/cli.mjs),
atualize o CHANGELOG.md, commite e dĂȘ push no main. O workflow
.github/workflows/publish.yml publica via OIDC / Trusted Publishers quando a
versĂŁo muda (e pula se jĂĄ estiver no npm).
Configuração Ășnica no npmjs.com: pacote octechpus â Settings â Trusted Publisher â GitHub Actions (
Phaiolli/octechpus-cli, workflowpublish.yml).
# bumpe version em package.json e src/cli.mjs (em sync) + CHANGELOG
npm test
git add package.json src/cli.mjs CHANGELOG.md
git commit -m "chore(release): bump version to X.Y.Z"
git push origin main # â o workflow publica sozinhoManual (fallback) â requer token npm vĂĄlido em ~/.npmrc:
npm whoami && npm publish --access public && npm view octechpus versionDetalhes e troubleshooting de auth: ver CLAUDE.md â "Como publicar no npm".
Links
- npm: npmjs.com/package/octechpus
- GitHub: github.com/Phaiolli/octechpus-cli
- Issues: github.com/Phaiolli/octechpus-cli/issues
VersĂŁo atual
2.7.0 â Merge de settings.json prĂ©-existente (adoção sem atrito para quem jĂĄ usa Claude Code), /audit delegando aos subagents em paralelo, e .octechpus/run/ no .gitignore. Sobre a base da 2.6.0 (orquestração real via Task) e da 2.5.0 (permissĂ”es + subagents escopados). Ver ADR 002.
Veja o CHANGELOG para histĂłrico completo.
Licença
MIT
