Claude CodeAIDeveloper ToolsConfigurationWorkflow

Guia Definitivo: Todos os Arquivos de Configuração do Claude Code

Você começa a usar o Claude Code, cria um CLAUDE.md, e tudo funciona. Aí descobre que existe CLAUDE.local.md. Depois .claude/rules/. Depois settings.json. Depois memórias automáticas. Depois skills, agents, hooks…

De repente, tem uma dúzia de arquivos markdown e JSON que influenciam o comportamento do Claude — e nenhuma clareza sobre o que vai onde.

Este guia resolve isso. Vamos cobrir todos os arquivos de configuração que o Claude Code suporta, explicar o propósito de cada um, e dar regras claras de quando usar cada opção.


A Visão Geral

Antes de mergulhar nos detalhes, aqui está o mapa completo de tudo que existe:

# Nível do sistema (gerenciado por IT/organização)
/Library/Application Support/ClaudeCode/    # macOS
/etc/claude-code/                           # Linux
  managed-settings.json
  CLAUDE.md

# Nível do usuário (pessoal, todos os projetos)
~/.claude/
  CLAUDE.md              # Instruções globais pessoais
  settings.json          # Configurações globais
  rules/*.md             # Regras pessoais
  skills/*/SKILL.md      # Skills pessoais
  agents/*.md            # Agents pessoais
  commands/*.md          # Comandos (legado)
  projects/*/memory/     # Memória automática por projeto
    MEMORY.md
    *.md

~/.claude.json           # Estado do app, MCP servers pessoais

# Nível do projeto (compartilhado com o time)
<projeto>/
  CLAUDE.md              # Instruções do projeto
  CLAUDE.local.md        # Instruções pessoais do projeto (gitignored)
  .mcp.json              # MCP servers do projeto
  .worktreeinclude       # Arquivos gitignored para worktrees
  .claude/
    CLAUDE.md            # Alternativa ao CLAUDE.md na raiz
    settings.json        # Configurações do projeto (compartilhado)
    settings.local.json  # Configurações locais (gitignored)
    rules/*.md           # Regras do projeto
    skills/*/SKILL.md    # Skills do projeto
    agents/*.md          # Agents do projeto
    commands/*.md        # Comandos (legado)

Parece muito? É porque existem duas dimensões ortogonais:

  1. Tipo de arquivo — o que ele faz (instruções, configuração, automação, extensão)
  2. Escopo — a quem se aplica (organização, usuário, projeto, local)

Vamos entender cada dimensão — mas antes, vale ver como tudo se encaixa no que o Claude realmente recebe.


Como o Claude Code Monta o Contexto

Antes de detalhar cada arquivo, é útil entender a estrutura completa do que chega ao modelo. Essa visão vem da engenharia reversa do código-fonte do Claude Code: em março de 2026, descobriu-se que releases no npm incluíam source maps com o código TypeScript completo. Isso resultou em dois projetos de referência:

  • OpenClaude — fork open-source do Claude Code construído a partir do código vazado, com suporte a múltiplos providers (OpenAI, Gemini, Ollama, etc.)
  • Claude Code From Source — livro técnico em 18 capítulos analisando cada parte do código (GitHub)

A Arquitetura do System Prompt

De acordo com o Capítulo 4 (API Layer), o system prompt é construído em duas grandes seções, separadas por um marcador interno. A razão é econômica: a API da Anthropic oferece cache de prompts — prefixos idênticos entre requisições são reutilizados no servidor, economizando latência e custo.

┌──────────────────────────────────────────────────────────────┐
│  SEÇÃO ESTÁTICA  (cache global — idêntica para todos os      │
│                   usuários do Claude Code no mundo)          │
│                                                              │
│  1. Identidade e introdução do Claude                        │
│  2. Regras de comportamento do sistema                       │
│  3. Instruções de execução de tarefas                        │
│  4. Orientações de ações e cautela                           │
│  5. Instruções de uso de ferramentas                         │
│  6. Tom e estilo                                             │
│  7. Eficiência de output                                     │
│                                                              │
├──────────────────────────────────────────────────────────────┤
│        === DYNAMIC BOUNDARY ===                              │
├──────────────────────────────────────────────────────────────┤
│  SEÇÃO DINÂMICA  (cache por sessão — específica do usuário)  │
│                                                              │
│  8. Orientações de sessão                                    │
│  9. Instruções: arquivos CLAUDE.md (na ordem abaixo)        │
│ 10. Informações de ambiente (data, OS, modelo, session ID)   │
│ 11. Preferência de idioma                                    │
│ 12. Instruções MCP (quando há servidores configurados)       │
│ 13. Estilo de output                                         │
│                                                              │
│  + MEMORY.md (sempre presente, primeiras 200 linhas)         │
│  + Até 5 arquivos de memória (selecionados por sub-query)    │
└──────────────────────────────────────────────────────────────┘

Tudo antes do boundary é idêntico para todos os usuários — compartilha um cache global no servidor. Tudo depois é específico da sua sessão. Qualquer condição dinâmica colocada antes do boundary multiplica as variações no cache (problema 2^N), por isso o código-fonte usa um padrão de nomenclatura explícito: seções que quebram o cache são nomeadas DANGEROUS_uncachedSystemPromptSection.

Onde Cada Arquivo Se Encaixa

Arquivos CLAUDE.md — todos vão para o item 9 da seção dinâmica, concatenados nesta ordem:

OrdemArquivoQuando
1Managed CLAUDE.mdSempre
2~/.claude/CLAUDE.mdSempre
3CLAUDE.md de diretórios paiSempre
4./CLAUDE.md / .claude/CLAUDE.mdSempre
5./CLAUDE.local.mdSempre

Demais arquivos:

ArquivoOnde apareceQuando
MEMORY.md (índice)Seção dinâmicaSempre (máx. 200 linhas / 25KB)
Arquivos de memória (tópicos)Seção dinâmicaSob demanda (até 5 por turno)
Rules sem paths:Seção dinâmicaSempre
Rules com paths:Injetadas na conversaQuando o Claude acessa arquivos com match
Skills (frontmatter)Seção dinâmicaSempre (descrições no menu)
Skills (conteúdo completo)Injetado na conversaQuando invocado
HooksNão aparecem no promptExecutam código externo nos eventos
SettingsNão aparecem no promptControlam permissões e comportamento
MCP serversSeção dinâmica, item 12Quando há servidores configurados

A Seleção de Memórias por LLM

De acordo com o Capítulo 11 (Memory), a seleção de quais arquivos de memória carregar não é por keywords nem embeddings — é feita por um modelo Sonnet em uma side-query paralela:

  1. Usuário envia um prompt
  2. Uma side-query async dispara em paralelo com o modelo principal
  3. O sistema lê o frontmatter de todos os .md de memória (máx. 30 linhas cada)
  4. Formata um manifesto com tipo, nome, data e descrição de cada arquivo
  5. Sonnet recebe o manifesto + o prompt do usuário
  6. Sonnet retorna até 5 nomes de arquivo via JSON estruturado
  7. Os arquivos selecionados são lidos por completo e injetados no contexto, com aviso de staleness se antigos

O MEMORY.md (índice) é sempre carregado. O conteúdo completo dos tópicos é selecionado por relevância. Arquivos com mais de 1 dia recebem um aviso automático — “essa memória tem X dias, verifique se ainda está válida” — porque modelos raciocinam melhor com “47 dias atrás” do que com um timestamp ISO.

Implicações Práticas

Entendendo essa estrutura, algumas decisões de configuração ficam mais claras:

  1. CLAUDE.md longo = tokens desperdiçados em toda sessão. O arquivo inteiro vai para o item 9 da seção dinâmica em cada conversa. Use rules com paths: para carregar instruções só quando relevantes.

  2. MCP quebra o cache global. Quando você configura MCP servers, o item 12 injeta definições de ferramentas específicas — isso impede o caching global do system prompt.

  3. Rules sem paths: = sempre no prompt. Elas ficam na seção dinâmica assim como os CLAUDE.md — só as rules com paths: são carregadas condicionalmente.

  4. Skills têm carregamento em duas fases. O frontmatter (nome, descrição) entra no system prompt para o Claude saber que existem. O conteúdo completo só é injetado quando a skill é invocada.

  5. O MEMORY.md tem limite duro. 200 linhas ou 25KB — o que vier primeiro. Acima disso, o sistema injeta um aviso pedindo para condensar.

Com esse mapa mental, as seções a seguir vão fazer mais sentido — cada arquivo tem um lugar preciso nessa estrutura.


Parte 1: Os Arquivos de Instrução (Markdowns)

Estes são os arquivos que dizem ao Claude como se comportar. São todos markdown, carregados no contexto da conversa, e influenciam diretamente as respostas do Claude.

CLAUDE.md — Instruções do Projeto

PropriedadeValor
Caminho./CLAUDE.md ou ./.claude/CLAUDE.md
EscopoProjeto (todo o time)
GitSim, commitado
CarregamentoInício de toda sessão
ContextoSempre presente na janela de contexto

Este é o arquivo mais importante. Ele define as regras do projeto — convenções de código, comandos de build, arquitetura, o que o Claude deve ou não fazer.

Exemplo:

# Projeto Newsletter App

## Stack
- Backend: FastAPI + Python 3.12
- Frontend: Next.js 15
- DB: PostgreSQL via SQLAlchemy

## Comandos
- Testes: `uv run pytest`
- Lint: `uv run ruff check .`
- Dev server: `uv run uvicorn app.main:app --reload`

## Convenções
- Sempre use type hints em Python
- Endpoints devem retornar Pydantic models
- Testes ficam em tests/ espelhando a estrutura de src/

Dicas:

  • Mantenha abaixo de 200 linhas — arquivos longos reduzem a aderência do Claude
  • Use a sintaxe @caminho/arquivo para importar outros arquivos (resolve relativo ao CLAUDE.md)
  • Imports são recursivos (máximo 5 níveis)
  • Comentários HTML (<!-- nota -->) são removidos antes da injeção no contexto
  • Pode colocar em .claude/CLAUDE.md para manter a raiz do projeto limpa

Descoberta hierárquica: O Claude busca CLAUDE.md em todos os diretórios pai até a raiz. Em um monorepo, isso permite instruções em camadas:

monorepo/
  CLAUDE.md              # Regras gerais do monorepo
  packages/
    api/
      CLAUDE.md          # Regras específicas da API
    frontend/
      CLAUDE.md          # Regras específicas do frontend

Os CLAUDE.md de subdiretórios são carregados sob demanda — apenas quando o Claude lê arquivos naquele diretório.


CLAUDE.local.md — Instruções Pessoais do Projeto

PropriedadeValor
Caminho./CLAUDE.local.md
EscopoPessoal (apenas você, neste projeto)
GitNão (automaticamente no .gitignore)
CarregamentoInício de toda sessão, após CLAUDE.md
PrecedênciaMaior que CLAUDE.md quando há conflito

Use para preferências pessoais que só se aplicam a este projeto.

Exemplo:

# Preferências Locais

- Meu ambiente de staging: https://staging-fernando.example.com
- Sempre rodar testes com -v (verbose)
- Eu prefiro usar docker compose ao invés de rodar localmente

Quando usar:

  • URLs de sandbox pessoais
  • Caminhos de máquina específicos
  • Preferências de teste pessoais
  • Qualquer instrução que não faz sentido para o time

~/.claude/CLAUDE.md — Instruções Globais Pessoais

PropriedadeValor
Caminho~/.claude/CLAUDE.md
EscopoPessoal (todos os seus projetos)
GitN/A (não está em nenhum repo)
CarregamentoInício de toda sessão, em todo projeto
PrecedênciaMenor que instruções do projeto

Este é o seu perfil global. Regras que valem para qualquer projeto.

Exemplo:

# Python Environment
- Always use `uv` for Python package management
- Always use `.venv` for virtual environments
- Install packages with `uv pip install`, never `pip install`

# Git
- Commit messages in English
- Use conventional commits (feat:, fix:, etc.)

# Style
- Respostas curtas e diretas
- Sem emojis

Dica: Mantenha curto. Este arquivo é carregado em toda sessão de todo projeto. Cada linha consome tokens.


Resumo: Qual CLAUDE.md Usar?

PerguntaArquivo
Regra vale para todo o time neste projeto?CLAUDE.md (raiz)
Regra é só minha, mas específica deste projeto?CLAUDE.local.md
Regra é minha e vale para qualquer projeto?~/.claude/CLAUDE.md
Regra é da organização inteira?Managed CLAUDE.md

Ordem de carregamento (todos são concatenados, não substituídos):

  1. Managed CLAUDE.md (organização)
  2. ~/.claude/CLAUDE.md (usuário global)
  3. CLAUDE.md dos diretórios pai (monorepo)
  4. ./CLAUDE.md ou ./.claude/CLAUDE.md (projeto)
  5. ./CLAUDE.local.md (pessoal do projeto)

Parte 2: Rules — Instruções Condicionais

.claude/rules/*.md

PropriedadeValor
Caminho.claude/rules/*.md
EscopoProjeto (time) ou pessoal (~/.claude/rules/)
GitSim (projeto) / N/A (pessoal)
CarregamentoCondicional (com paths:) ou sempre (sem paths:)

Rules resolvem um problema específico: o CLAUDE.md fica grande demais. Em vez de um arquivo monolítico de 500 linhas, você divide em arquivos temáticos — que podem ser carregados sempre ou apenas quando relevantes, dependendo se possuem o campo paths: no frontmatter.

Regra incondicional (sempre carregada):

# .claude/rules/code-quality.md

- Todo código novo precisa de testes
- Funções públicas precisam de docstrings
- Máximo 50 linhas por função

Regra condicional (carregada só quando o Claude trabalha com arquivos que batem no glob):

---
paths:
  - "**/*.test.ts"
  - "**/*.test.tsx"
  - "**/*.spec.ts"
---

# Regras de Testes

- Use `describe` para agrupar por funcionalidade
- Nomes de teste: "should [esperado] when [condição]"
- Mock dependências externas, nunca módulos internos
- Prefira `toEqual` sobre `toBe` para objetos
---
paths:
  - "src/api/**/*.py"
  - "src/routes/**/*.py"
---

# Regras de API

- Todo endpoint deve ter validação de input via Pydantic
- Retornar 422 para erros de validação, nunca 400
- Sempre incluir paginação em endpoints que retornam listas

Quando usar rules vs CLAUDE.md:

SituaçãoEscolha
Regra se aplica a todos os arquivos, sempreCLAUDE.md
Regra se aplica a um tipo de arquivo específico.claude/rules/ com paths:
CLAUDE.md passou de 200 linhasMigrar tópicos para .claude/rules/
Regra pessoal específica a certos arquivos~/.claude/rules/ com paths:

Suporte a symlinks: Você pode criar symlinks em .claude/rules/ apontando para diretórios compartilhados, útil para regras comuns entre projetos.


Parte 3: Settings — Configuração Técnica

Settings controlam permissões, automações e comportamento técnico do Claude Code. São JSON, não markdown.

.claude/settings.json — Configuração do Projeto

PropriedadeValor
Caminho.claude/settings.json
EscopoProjeto (time)
GitSim
FormatoJSON
{
  "permissions": {
    "allow": [
      "Bash(npm test *)",
      "Bash(npm run *)",
      "Read",
      "Glob",
      "Grep"
    ],
    "deny": [
      "Bash(rm -rf *)"
    ]
  },
  "hooks": {
    "PostToolUse": [{
      "matcher": "Edit|Write",
      "hooks": [{
        "type": "command",
        "command": "npx prettier --write $CLAUDE_FILE_PATH"
      }]
    }]
  },
  "model": "claude-opus-4-6"
}

.claude/settings.local.json — Configuração Local

PropriedadeValor
Caminho.claude/settings.local.json
EscopoPessoal (este projeto)
GitNão (gitignored)

Mesmo formato de settings.json, mas para overrides pessoais.

~/.claude/settings.json — Configuração Global

PropriedadeValor
Caminho~/.claude/settings.json
EscopoPessoal (todos os projetos)

Preferências que valem em qualquer projeto: permissões padrão, modelo preferido, hooks globais.

Precedência de Settings

Do mais forte ao mais fraco:

  1. Managed settings (organização — não pode ser sobrescrito)
  2. CLI arguments (--model, --permission-mode)
  3. settings.local.json (pessoal do projeto)
  4. settings.json (projeto compartilhado)
  5. ~/.claude/settings.json (pessoal global)

Regra de merge: Arrays (como permissions.allow) são combinados entre escopos. Valores escalares usam o mais específico.


Parte 4: Memória Automática

~/.claude/projects/*/memory/

PropriedadeValor
Caminho~/.claude/projects/<projeto>/memory/
EscopoPor projeto, pessoal
GitN/A (fora do repo)
CarregamentoMEMORY.md no início (primeiras 200 linhas / 25KB), arquivos de tópico sob demanda
Quem escreveClaude automaticamente + você pode editar

A memória automática é onde o Claude armazena o que aprendeu ao longo das sessões. Diferente de CLAUDE.md (que você escreve), a memória é mantida pelo Claude com base nas interações.

Estrutura:

~/.claude/projects/<projeto>/memory/
  MEMORY.md              # Índice (carregado automaticamente)
  user_preferences.md    # Arquivo de tópico
  project_context.md     # Arquivo de tópico
  feedback_testing.md    # Arquivo de tópico

MEMORY.md é um índice conciso — cada entrada uma linha com link para o arquivo de detalhes:

- [User role](user_preferences.md) — data scientist, prefers verbose output
- [Testing approach](feedback_testing.md) — always use real DB, never mocks

Arquivos de tópico têm frontmatter:

---
name: testing approach
description: User preference for integration tests over mocks
type: feedback
---

Integration tests must hit a real database, not mocks.

**Why:** Prior incident where mock/prod divergence masked a broken migration.
**How to apply:** When writing or suggesting tests for DB operations, always use the real test database.

Tipos de memória:

  • user — sobre a pessoa (papel, preferências, conhecimento)
  • feedback — correções e confirmações de abordagem
  • project — contexto de trabalho em andamento
  • reference — ponteiros para recursos externos

Memória vs CLAUDE.md:

CLAUDE.mdMemória
Quem escreveVocêClaude (automaticamente)
CarregamentoSempre, totalmenteÍndice no início, detalhes sob demanda
EscopoTime ou pessoalPessoal
ConteúdoRegras, instruçõesAprendizados, contexto, preferências
VersionamentoGitFora do repo

Gerenciar: Use o comando /memory para ver, editar ou desabilitar. Ou configure autoMemoryEnabled: false em settings.


Parte 5: Extensões — Skills, Agents, Commands

.claude/skills/ — Workflows Reutilizáveis

PropriedadeValor
Caminho.claude/skills/<nome>/SKILL.md
EscopoProjeto ou pessoal (~/.claude/skills/)
GitSim (projeto)
CarregamentoDuas fases: frontmatter sempre no prompt, conteúdo completo quando invocado

Skills são o mecanismo mais poderoso de extensão. Cada skill é um diretório com um SKILL.md e opcionalmente arquivos de apoio (checklists, scripts, templates).

Exemplo:

.claude/skills/
  deploy/
    SKILL.md
    checklist.md
    scripts/deploy.sh
  review-pr/
    SKILL.md

SKILL.md:

---
name: deploy
description: Deploy the application to production
allowed-tools: Bash(npm run deploy) Bash(git push)
---

Deploy $ARGUMENTS to production:

1. Run the full test suite
2. Build the application
3. Check the deployment checklist in checklist.md
4. Execute the deploy script
5. Verify health checks pass

Frontmatter principais:

CampoDescrição
nameNome da skill (vira o /comando)
descriptionDescrição (Claude usa para decidir quando auto-invocar)
allowed-toolsFerramentas pré-aprovadas sem pedir permissão
disable-model-invocationtrue = só o usuário pode invocar
user-invocablefalse = escondida do menu, só o Claude invoca
modelModelo override
contextfork = roda em subagent isolado
pathsGlobs para auto-ativação

Variáveis disponíveis: $ARGUMENTS, $0, $1, ${CLAUDE_SESSION_ID}, ${CLAUDE_SKILL_DIR}.

Contexto dinâmico: Use !`comando` para injetar output de shell antes do Claude processar.


.claude/agents/ — Subagentes Customizados

PropriedadeValor
Caminho.claude/agents/<nome>.md
EscopoProjeto ou pessoal (~/.claude/agents/)
GitSim (projeto)
CarregamentoQuando invocado

Agents são especialistas isolados. Cada um tem seu próprio contexto, ferramentas permitidas, e pode usar um modelo diferente.

Exemplo:

---
name: security-reviewer
description: Reviews code for security vulnerabilities
tools: Read, Grep, Glob
model: claude-opus-4-6
---

You are a senior security engineer. Review code for:

1. Injection vulnerabilities (SQL, command, XSS)
2. Authentication/authorization bypasses
3. Data exposure risks
4. Insecure dependencies

Report findings with severity (critical/high/medium/low) and fix recommendations.

Frontmatter principais:

CampoDescrição
nameIdentificador único
descriptionQuando o Claude deve delegar para este agent
toolsLista de ferramentas permitidas (restringe se especificado)
modelsonnet, opus, haiku, ou model ID completo
memoryuser, project, ou local — memória persistente própria
maxTurnsLimite de turnos
isolationworktree para isolar em git worktree

.claude/commands/ — Comandos (Legado)

PropriedadeValor
Caminho.claude/commands/<nome>.md
StatusDepreciado — use skills no lugar

Commands são a versão antiga de skills. Ainda funcionam, mas se uma skill e um command têm o mesmo nome, a skill tem prioridade. Para migrar, mova o arquivo para .claude/skills/<nome>/SKILL.md.


Parte 6: Automação — Hooks

Hooks são definidos dentro de settings.json (qualquer escopo). Executam ações automáticas em resposta a eventos do ciclo de vida.

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Edit|Write",
      "hooks": [{
        "type": "command",
        "command": "npx prettier --write $CLAUDE_FILE_PATH"
      }]
    }],
    "Stop": [{
      "hooks": [{
        "type": "command",
        "command": "echo 'Claude finished' | say"
      }]
    }]
  }
}

Eventos disponíveis:

EventoQuando
SessionStartSessão inicia
UserPromptSubmitUsuário envia prompt
PreToolUseAntes de usar uma ferramenta (pode bloquear)
PostToolUseDepois de usar uma ferramenta
StopClaude termina de responder
SessionEndSessão encerra
FileChangedArquivo monitorado muda
WorktreeCreateWorktree criada

Tipos de hook:

TipoDescrição
commandExecuta shell script
httpPOST para uma URL
promptAvaliação LLM single-turn
agentSubagent com acesso a ferramentas

Exit codes (para command): 0 = permitir, 2 = bloquear ação, outro = erro não-bloqueante.


Parte 7: Outros Arquivos

.mcp.json — Servidores MCP do Projeto

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
    }
  }
}

Compartilhado com o time (commitado). Servidores MCP pessoais ficam em ~/.claude.json.

.worktreeinclude — Arquivos para Worktrees

Lista arquivos gitignored que devem ser copiados para novas worktrees:

.env
.env.local
config/secrets.json

~/.claude/keybindings.json — Atalhos de Teclado

Personalização de keybindings. Gerencie com /keybindings.


Parte 8: Árvore de Decisão

Não sabe onde colocar algo? Use este fluxo:

É uma instrução sobre como o Claude deve se comportar?

  • Sim → É para todo o time? → CLAUDE.md
  • Sim → É pessoal, neste projeto? → CLAUDE.local.md
  • Sim → É pessoal, em todos os projetos? → ~/.claude/CLAUDE.md
  • Sim → Só se aplica a certos arquivos? → .claude/rules/*.md com paths:

É configuração técnica (permissões, modelo, variáveis)?

  • Para o time → .claude/settings.json
  • Pessoal neste projeto → .claude/settings.local.json
  • Pessoal em todos os projetos → ~/.claude/settings.json

É um workflow reutilizável (deploy, review, etc.)?

  • .claude/skills/*/SKILL.md

É um especialista isolado (reviewer, researcher)?

  • .claude/agents/*.md

É automação que roda em resposta a eventos?

  • hooks dentro de settings.json

É algo que o Claude aprendeu sobre você ou o projeto?

  • → Memória automática (gerenciada pelo Claude, editável por você)

Resumo Final

ArquivoPropósitoEscopoGitCarregamento
CLAUDE.mdInstruções do projetoTimeSimSempre
CLAUDE.local.mdInstruções pessoais do projetoPessoalNãoSempre
~/.claude/CLAUDE.mdInstruções pessoais globaisPessoalN/ASempre
.claude/rules/*.mdInstruções temáticasTime/PessoalSim/N/ASem paths: = sempre; com paths: = condicional
.claude/settings.jsonPermissões, hooks, modeloTimeSimSempre
.claude/settings.local.jsonOverride pessoal de settingsPessoalNãoSempre
~/.claude/settings.jsonSettings globais pessoaisPessoalN/ASempre
~/.claude/projects/*/memory/Memória aprendidaPessoalN/ASob demanda
.claude/skills/*/SKILL.mdWorkflows reutilizáveisTime/PessoalSim/N/AFrontmatter sempre; conteúdo sob demanda
.claude/agents/*.mdSubagentes especializadosTime/PessoalSim/N/ASob demanda
.claude/commands/*.mdComandos (legado)Time/PessoalSim/N/ASob demanda
hooks (em settings)Automação por eventosTime/PessoalDependePor evento
.mcp.jsonServidores MCPTimeSimSempre
.worktreeincludeArquivos para worktreesTimeSimNa criação

O sistema é extenso, mas a lógica é consistente: escopo (time vs pessoal vs global) cruzado com tipo (instrução vs configuração vs extensão vs automação). Entendendo essas duas dimensões, qualquer novo arquivo que a Anthropic adicione vai se encaixar naturalmente no modelo mental.


Referências

  • Documentação oficial do Claude Codecode.claude.com/docs
  • Claude Code From Source — Livro técnico em 18 capítulos baseado na engenharia reversa do código-fonte. Site | GitHub. Capítulos mais relevantes para este guia:
  • OpenClaude — Fork open-source do Claude Code com suporte a múltiplos providers. GitHub