# Setup 2025 - https://www.youtube.com/watch?v=6M7LgYkxS4g

> Source: <https://gist.github.com/felipefontoura/79808fed106b343ab605c3406fa5c4c2>
> Published: 2026-07-12 22:10:31+00:00

Esse é o starter que mostrei no vídeo. É um subconjunto seguro do meu: liberei só o que é tranquilo e deixei os comandos destrutivos de fora (eles continuam pedindo permissão). Adiciona os teus conforme for confiando.

Antes de colar

- Instala o RTK primeiro: rtk init.

O hook lá embaixo depende dele — sem isso, dá erro de comando não encontrado. (RTK é open-source e gratuito: [https://github.com/rtk-ai/rtk>](https://github.com/rtk-ai/rtk%3E)).

- Cola o bloco abaixo em ~/.claude/settings.json (vide doc
[https://code.claude.com/docs/en/settings](https://code.claude.com/docs/en/settings))

settings.json:

```
{
  "env": {
    "CLAUDE_CODE_SUBAGENT_MODEL": "sonnet"
  },
  "attribution": { "commit": "", "pr": "" },
  "permissions": {
    "defaultMode": "auto",
    "allow": [
      "WebSearch", "WebFetch",
      "Bash(ls:*)", "Bash(cat:*)", "Bash(head:*)", "Bash(tail:*)",
      "Bash(grep:*)", "Bash(rg:*)", "Bash(find:*)", "Bash(tree:*)",
      "Bash(wc:*)", "Bash(diff:*)", "Bash(pwd:*)", "Bash(which:*)",
      "Bash(file:*)", "Bash(stat:*)", "Bash(env:*)", "Bash(date:*)",
      "Bash(jq:*)", "Bash(yq:*)", "Bash(git:*)",
      "Bash(node:*)", "Bash(npx:*)", "Bash(pnpm:*)", "Bash(python3:*)",
      "Bash(tsc:*)", "Bash(tsx:*)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      { "matcher": "Bash", "hooks": [ { "type": "command", "command": "rtk hook claude" } ] }
    ]
  },
  "effortLevel": "xhigh",
  "skipWorkflowUsageWarning": true
}
```

O que cada bloco faz

- CLAUDE_CODE_SUBAGENT_MODEL: "sonnet" — o trabalho pesado roda no Opus; os subagentes, no Sonnet. Economia sem perder qualidade onde importa.
- hooks → rtk hook claude — o RTK. Reescreve cada comando de shell e comprime a saída antes de chegar no modelo (60–90% menos token). Você não muda nada no teu jeito de trabalhar.
- permissions.allow + defaultMode: "auto" — a lista curada do que é seguro. O que não está aqui, o Claude ainda pergunta. Fim do "allow, allow, allow".
- attribution: "" — tira o rodapé "Generated with Claude Code" dos commits e PRs.
- effortLevel: "xhigh" — raciocínio no máximo.

O que deixei de fora de propósito

- Comandos destrutivos no allow (rm, kill, docker, curl…): no meu setup eu libero, aqui não. Comece seguro e vá adicionando o que confia.
- skipDangerousModePermissionPrompt / skipAutoPermissionPrompt: eu uso, mas são flags de power-user. Entenda o que fazem antes de ligar.
- statusLine, plugins e agent teams: são coisas minhas/experimentais, não entram num starter genérico.
