MODULO 2.3

📁 Trabalhando com Projetos

Configure contexto de projeto, use CLAUDE.md, integre com Git e defina permissoes especificas.

6
Topicos
35
Minutos
Interm.
Nivel
Pratico
Tipo
1

📁 Contexto de Projeto

Claude Code entende projetos atraves de arquivos de configuracao na pasta .claude/ e arquivos especiais como CLAUDE.md na raiz.

Estrutura de Configuracao

projeto/
├── CLAUDE.md              # Instrucoes de projeto (raiz)
├── .claude/
│   ├── settings.json      # Configuracoes locais
│   └── skills/            # Skills de projeto
│       └── my-skill/
│           └── SKILL.md
├── .claudeignore          # Arquivos a ignorar
└── src/
    └── ...

Prioridade de Configuracao

  1. 1. .claude/settings.json do projeto (maior prioridade)
  2. 2. ~/.claude/settings.json global
  3. 3. Padroes do sistema
2

📝 Arquivo CLAUDE.md

O arquivo CLAUDE.md na raiz do projeto e lido automaticamente e define convencoes e instrucoes para o agente.

Exemplo de CLAUDE.md

# Projeto: E-commerce API

## Tech Stack
- Node.js 20 + TypeScript
- Express.js
- PostgreSQL + Prisma ORM
- Jest para testes

## Convencoes
- Use async/await, nunca callbacks
- Funcoes com mais de 20 linhas devem ser divididas
- Todos os endpoints precisam de testes
- Commits em ingles, mensagens no formato conventional

## Estrutura
- src/controllers/ - Handlers de rotas
- src/services/ - Logica de negocio
- src/models/ - Schemas Prisma
- src/utils/ - Funcoes auxiliares

💡 Dica

CLAUDE.md e versionado com o projeto. Use para documentar convencoes que todo o time deve seguir.

3

🔒 Permissoes de Projeto

O arquivo .claude/settings.json permite configurar permissoes especificas por projeto.

.claude/settings.json

{
  "permissions": {
    "allowedTools": ["Read", "Write", "Edit", "Glob", "Grep"],
    "blockedCommands": ["rm -rf", "sudo"]
  },
  "autoApprove": ["Read", "Glob", "Grep"],
  "model": "claude-sonnet-4-20250514"
}
4

📚 Integracao com Git

Claude Code integra nativamente com Git para commits, branches e pull requests.

Operacoes Git Comuns

# Claude pode executar:
"Faca commit das mudancas"         # git add + commit
"Crie uma branch para o fix"       # git checkout -b
"Mostre o diff das mudancas"       # git diff
"Crie um PR com estas mudancas"    # gh pr create

✓ Claude FAZ

  • • Commits com mensagens semanticas
  • • Branches com nomes descritivos
  • • PRs com descricao completa
  • • Analise de diffs

✗ Claude NAO FAZ

  • • Force push sem pedir
  • • Reset --hard automatico
  • • Deletar branches sem confirmar
  • • Rebase interativo
5

🚫 Ignorando Arquivos

Use .claudeignore para excluir arquivos do contexto do agente - similar ao .gitignore.

Exemplo de .claudeignore

# Dependencias
node_modules/
vendor/

# Build
dist/
build/
*.min.js

# Segredos
.env
.env.local
*.pem
credentials.json

# Outros
*.log
coverage/
6

🔄 Memoria de Projeto

O arquivo CLAUDE.local.md permite notas pessoais que NAO sao versionadas.

CLAUDE.local.md

# Notas Pessoais

## TODO
- [ ] Revisar implementacao do cache
- [ ] Testar com dados de producao

## Anotacoes
- API externa esta lenta, usar mock local
- Credenciais de teste em 1Password

💡 Adicione ao .gitignore

Lembre de adicionar CLAUDE.local.md ao .gitignore para nao versionar notas pessoais.

📚 Resumo do Modulo

.claude/ - Pasta de configuracao do projeto
CLAUDE.md - Instrucoes e convencoes do projeto
Permissoes - settings.json com allowedTools e blockedCommands
Git - Integracao nativa para commits, branches, PRs
.claudeignore - Excluir arquivos do contexto

Proximo Modulo:

2.4 - Skills Personalizadas