{"slug": "setup-2025-https-www-youtube-com-watch-v-6m7lgykxs4g", "title": "Setup 2025 - https://www.youtube.com/watch?v=6M7LgYkxS4g", "summary": "A developer shared a starter configuration for Claude Code, a tool that uses AI to assist with coding tasks. The configuration includes a curated allowlist of safe commands, integration with the open-source RTK tool to reduce token usage by 60-90%, and settings to maximize reasoning effort. Destructive commands are excluded by default to ensure safety.", "body_md": "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.\n\nAntes de colar\n\n- Instala o RTK primeiro: rtk init.\n\nO 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)).\n\n- Cola o bloco abaixo em ~/.claude/settings.json (vide doc\n[https://code.claude.com/docs/en/settings](https://code.claude.com/docs/en/settings))\n\nsettings.json:\n\n```\n{\n  \"env\": {\n    \"CLAUDE_CODE_SUBAGENT_MODEL\": \"sonnet\"\n  },\n  \"attribution\": { \"commit\": \"\", \"pr\": \"\" },\n  \"permissions\": {\n    \"defaultMode\": \"auto\",\n    \"allow\": [\n      \"WebSearch\", \"WebFetch\",\n      \"Bash(ls:*)\", \"Bash(cat:*)\", \"Bash(head:*)\", \"Bash(tail:*)\",\n      \"Bash(grep:*)\", \"Bash(rg:*)\", \"Bash(find:*)\", \"Bash(tree:*)\",\n      \"Bash(wc:*)\", \"Bash(diff:*)\", \"Bash(pwd:*)\", \"Bash(which:*)\",\n      \"Bash(file:*)\", \"Bash(stat:*)\", \"Bash(env:*)\", \"Bash(date:*)\",\n      \"Bash(jq:*)\", \"Bash(yq:*)\", \"Bash(git:*)\",\n      \"Bash(node:*)\", \"Bash(npx:*)\", \"Bash(pnpm:*)\", \"Bash(python3:*)\",\n      \"Bash(tsc:*)\", \"Bash(tsx:*)\"\n    ]\n  },\n  \"hooks\": {\n    \"PreToolUse\": [\n      { \"matcher\": \"Bash\", \"hooks\": [ { \"type\": \"command\", \"command\": \"rtk hook claude\" } ] }\n    ]\n  },\n  \"effortLevel\": \"xhigh\",\n  \"skipWorkflowUsageWarning\": true\n}\n```\n\nO que cada bloco faz\n\n- CLAUDE_CODE_SUBAGENT_MODEL: \"sonnet\" — o trabalho pesado roda no Opus; os subagentes, no Sonnet. Economia sem perder qualidade onde importa.\n- 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.\n- 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\".\n- attribution: \"\" — tira o rodapé \"Generated with Claude Code\" dos commits e PRs.\n- effortLevel: \"xhigh\" — raciocínio no máximo.\n\nO que deixei de fora de propósito\n\n- Comandos destrutivos no allow (rm, kill, docker, curl…): no meu setup eu libero, aqui não. Comece seguro e vá adicionando o que confia.\n- skipDangerousModePermissionPrompt / skipAutoPermissionPrompt: eu uso, mas são flags de power-user. Entenda o que fazem antes de ligar.\n- statusLine, plugins e agent teams: são coisas minhas/experimentais, não entram num starter genérico.", "url": "https://wpnews.pro/news/setup-2025-https-www-youtube-com-watch-v-6m7lgykxs4g", "canonical_source": "https://gist.github.com/felipefontoura/79808fed106b343ab605c3406fa5c4c2", "published_at": "2026-07-12 22:10:31+00:00", "updated_at": "2026-07-14 02:22:40.486462+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence", "large-language-models", "ai-tools"], "entities": ["Claude Code", "RTK", "Sonnet", "Opus"], "alternates": {"html": "https://wpnews.pro/news/setup-2025-https-www-youtube-com-watch-v-6m7lgykxs4g", "markdown": "https://wpnews.pro/news/setup-2025-https-www-youtube-com-watch-v-6m7lgykxs4g.md", "text": "https://wpnews.pro/news/setup-2025-https-www-youtube-com-watch-v-6m7lgykxs4g.txt", "jsonld": "https://wpnews.pro/news/setup-2025-https-www-youtube-com-watch-v-6m7lgykxs4g.jsonld"}}