# Convenções de código Fonte: `AGENTS.md`. ## Branches (Git Flow) - `feat/feature-name` — nova funcionalidade - `fix/bug-description` — correção - `docs/update-readme` — documentação - Sem commits direto em `main` — sempre via PR. ## Commits (Conventional Commits) ``` feat(auth): add 2FA with TOTP support fix(crm): resolve WebSocket timeout issue docs(readme): update installation steps refactor(processor): simplify agent orchestration test(services): add contact sync tests chore(deps): upgrade Rails to 7.1.4 ``` ## Ruby/Rails | Elemento | Convenção | |---|---| | Classes | `PascalCase` | | Arquivos | `snake_case.rb` | | Métodos | `snake_case` (público), `_private_method` | | Constantes | `SCREAMING_SNAKE_CASE` | | Migrations | `YYYYMMDDHHMMSS_description.rb` | | Specs | espelham a estrutura de `app/` | ## TypeScript/JavaScript | Elemento | Convenção | |---|---| | Componentes | `PascalCase.tsx` | | Arquivos | `kebab-case.ts` ou `PascalCase.tsx` | | Funções/variáveis | `camelCase` | | Tipos/Interfaces | `PascalCase` | | Hooks | `use*` | | Constantes | `SCREAMING_SNAKE_CASE` | ## Python | Elemento | Convenção | |---|---| | Módulos | `snake_case.py` | | Classes | `PascalCase` | | Funções/variáveis | `snake_case` | | Constantes | `SCREAMING_SNAKE_CASE` | | Docstrings | reStructuredText ou Google style | | Type hints | obrigatórios (PEP 484) | ## Go | Elemento | Convenção | |---|---| | Packages | `lowercase` | | Types | `PascalCase` | | Funções | `PascalCase` (exportadas), `camelCase` (internas) | | Variáveis | `camelCase` | | Constantes | `PascalCase` | | Arquivos | `snake_case.go` |