Harness reutilizável para padronizar o desenvolvimento Python com Claude Code em times de engenharia.
Ele combina dois níveis:
- Scaffold por projeto:
CLAUDE.md,AGENTS.md, regras, hooks, agentes, skills, workflow, configuração Python e CI versionados em cada repositório. - Plugin opcional: pacote reutilizável com agentes, skills e hooks genéricos para carregar em qualquer projeto.
O desenho segue as primitivas oficiais do Claude Code disponíveis em julho de 2026:
CLAUDE.mdpara instruções curtas e persistentes;.claude/rules/para regras modulares e condicionais por caminho;.claude/skills/para procedimentos repetíveis;.claude/agents/para especialistas com contexto e ferramentas próprias;.claude/workflows/para revisão paralela em tarefas maiores;- hooks determinísticos para segurança, formatação e contexto de sessão;
- output style e status line para padronizar a interação;
- plugin para distribuição entre projetos;
- governança MCP opt-in, com configuração validada, hooks de proteção e exemplos de política corporativa.
Crie um projeto novo:
python3 bootstrap.py \
--name payments-api \
--package payments_api \
--target ../payments-api \
--python 3.13 \
--git-init \
--lockAplicar o harness em um repositório existente, preservando arquivos já presentes:
python3 bootstrap.py \
--name existing-service \
--package existing_service \
--target ../existing-service \
--mergeO modo --merge não sobrescreve arquivos existentes. Quando houver conflito, o arquivo sugerido é salvo com o sufixo .harness-new para revisão manual.
cd ../payments-api
uv sync --frozen
claudeNo Claude Code:
/memory
/agents
/quality-gate
/review-change
/security-review
/review-mcp
/configure-mcp
/prepare-pr
Use /doctor para detectar problemas de configuração, /hooks para inspecionar hooks e /mcp para revisar servidores e autenticação.
O repositório também contém .claude-plugin/marketplace.json, permitindo distribuição pelo marketplace interno do time. Exemplo após publicar ou clonar o repositório:
/plugin marketplace add <caminho-ou-repositório-do-harness>
/plugin install python-engineering-harness@python-engineering-standards
Teste o plugin localmente em uma sessão:
claude --plugin-dir ./plugin/python-engineering-harnessOs componentes ficam namespaced, por exemplo:
/python-engineering-harness:quality-gate
/python-engineering-harness:security-review
Para carregamento automático em todos os projetos, copie o diretório do plugin para ~/.claude/skills/python-engineering-harness/. Em ambientes corporativos, prefira publicar o plugin em um marketplace interno e controlar sua instalação por managed settings.
O plugin vem desabilitado por padrão no manifesto porque seus hooks alteram o comportamento da sessão. Habilite-o conscientemente após revisar os scripts.
O harness inclui uma camada MCP, mas não conecta nenhum servidor por padrão. Essa decisão é intencional: cada MCP amplia a superfície de confiança, saída de dados e ações disponíveis ao agente.
Componentes incluídos:
.mcp.json.examplepara configuração de projeto sem credenciais;docs/MCP.mdcom transportes, escopos, autenticação, prompt injection e aprovação;.claude/rules/mcp.mdcom regras carregadas ao alterar a integração;mcp-integratorpara configuração e revisão especializadas;/configure-mcpe/review-mcp;scripts/validate_mcp_config.py, executado no quality gate;- hook
guard_mcp.py, que bloqueia envio de segredos e exige confirmação em ferramentas mutáveis; - exemplos de
managed-mcp.jsone managed settings para allowlist/denylist corporativa.
Para iniciar uma integração compartilhada:
cp .mcp.json.example .mcp.json
# Edite endpoints e nomes de variáveis, nunca valores secretos.
uv run python scripts/validate_mcp_config.py
claudePrimeiro teste o servidor em escopo local. Promova para .mcp.json somente após revisão de segurança, dados, permissões e ownership.
O plugin não embute um servidor MCP genérico. Hooks, scripts e ferramentas nativas já resolvem operações locais com menor superfície de ataque; MCP fica reservado a integrações externas reais.
CLAUDE.md, regras e skills orientam o modelo. Políticas que precisam ser garantidas, como bloqueio de arquivos sensíveis ou comandos destrutivos, ficam em hooks e permissões.
O arquivo principal é curto. Regras específicas são carregadas apenas quando Claude trabalha em caminhos correspondentes. Procedimentos extensos são skills e só entram no contexto quando usados.
O harness inclui CI, Ruff, Mypy, Pytest, Bandit e pip-audit. A revisão do agente complementa essas ferramentas, mas não as substitui.
Os hooks bloqueiam comandos destrutivos e acesso a arquivos sensíveis. A detecção de segredos após escrita interrompe o fluxo e exige correção.
Claude não faz commit, push, merge, publicação ou alteração de infraestrutura sem solicitação explícita. Toda mudança deve ser revisada, testada e atribuída a uma pessoa.
.
├── bootstrap.py
├── .claude-plugin/marketplace.json
├── docs/ENTERPRISE_ROLLOUT.md
├── template/
│ ├── CLAUDE.md
│ ├── AGENTS.md
│ ├── .mcp.json.example
│ ├── pyproject.toml
│ ├── Dockerfile
│ ├── .dockerignore
│ ├── src/
│ ├── tests/
│ ├── docs/
│ ├── .claude/
│ │ ├── settings.json
│ │ ├── rules/
│ │ ├── agents/
│ │ ├── skills/
│ │ ├── hooks/
│ │ ├── workflows/
│ │ └── output-styles/
│ └── .github/workflows/quality.yml
└── plugin/python-engineering-harness/
├── .claude-plugin/plugin.json
├── agents/
├── skills/
├── hooks/hooks.json
├── scripts/
└── output-styles/
Após criar um projeto, ajuste primeiro:
- comandos de execução em
AGENTS.md; - limites entre camadas em
.claude/rules/architecture.md; - caminhos sensíveis em
.claude/hooks/protect_sensitive_files.py; - comandos aprovados em
.claude/settings.json; - servidores, credenciais esperadas e ownership em
.mcp.jsonedocs/MCP.md; - requisitos regulatórios em
docs/PRIVACY.md; - tracing de chamadas LLM (opt-in, desligado por padrão) em
docs/LLM_OBSERVABILITY.mde.env.example; - branch-base do workflow
.claude/workflows/review-branch.js; - lista de dependências proibidas em
scripts/validate_architecture.py; - pacote e módulos reais em
src/; - o
CMDplaceholder emDockerfileassim que o projeto definir um entrypoint real; - isolamento em git worktree (
isolation: worktreeno frontmatter depython-implementer.md) para mudanças maiores ou difíceis de reverter - verdocs/DEVELOPMENT.md.
- Claude Code 2.1.202 ou superior recomendado;
- Python 3.13 por padrão, configurável no bootstrap;
- uv;
- Git;
- macOS, Linux ou WSL para a configuração padrão de hooks.
Os scripts dos hooks usam apenas a standard library do Python. O projeto gerado usa uv para as ferramentas de qualidade.
- Claude Code documentation: memory, rules, hooks, settings, subagents, skills, workflows, plugins, MCP, managed MCP, status line, output styles and security.
- Anthropic
claude-coderepository and official plugin examples. - Astral uv documentation for GitHub Actions and dependency locking.
Consulte SOURCES.md para os endereços e a data da revisão.