Skip to content

Latest commit

 

History

History
79 lines (60 loc) · 2.4 KB

File metadata and controls

79 lines (60 loc) · 2.4 KB

Guia de Contribuição

Obrigado pelo interesse em contribuir para o Gmail CLI! Este documento define os padrões que garantem a qualidade e a consistência do projeto, tanto para desenvolvedores humanos quanto para Agentes de IA.

🛠️ Stack Tecnológica

  • Linguagem: Python 3.10+
  • Gerenciador de Pacotes: Poetry
  • CLI Framework: Typer
  • UI Library: Rich
  • Linting/Formatting: Black, Isort, Flake8

🤖 Regras para Agentes de IA

Se você é um Agente de IA (Co-Pilot, Devin, etc.) trabalhando neste repositório, siga estas Regras de Ouro:

  1. Type Hints Obrigatórios: Todo o código novo deve ter type hints completos.
  2. Docstrings Google-Style: Documente todas as funções e classes.
  3. Sem Segredos: Nunca commite chaves de API ou tokens. Verifique o .gitignore.
  4. Consistência: Siga o padrão de commit abaixo rigorosamente.

📝 Padrão de Commits

Adotamos um padrão estrito para manter o histórico limpo e descritivo.

  • Idioma: Português Brasileiro (PT-BR).
  • Estrutura: Título conciso + Lista de alterações.

Formato do Commit

<tipo>: <título curto no imperativo> (#<issue_id>)

- <detalhe da alteração 1>
- <detalhe da alteração 2>
- <detalhe da alteração 3>

Exemplo: feat: adiciona login (#1)

Tipos Permitidos

  • feat: Nova funcionalidade.
  • fix: Correção de bug.
  • docs: Alterações na documentação.
  • style: Formatação, falta de ponto e vírgula, etc.
  • refactor: Refatoração de código (sem mudança de funcionalidade).
  • test: Adição ou correção de testes.
  • chore: Atualização de build, configs, etc.

Exemplo Real

feat: implementa comando de busca de e-mails

- Adiciona serviço de integração com Gmail API em services/gmail.py
- Cria comando 'search' no Typer com suporte a paginação
- Implementa flag --json para saída estruturada
- Adiciona testes unitários para o parser de query

🐛 Issues e Pull Requests

Utilize os templates fornecidos ao abrir Issues ou PRs:

  • Bug Report: Para relatar erros.
  • Feature Request: Para sugerir melhorias.
  • Pull Request: Preencha o checklist de verificação.

🧪 Desenvolvimento Local

  1. Instale as dependências:
    poetry install
  2. Ative o shell:
    poetry shell
  3. Rode os testes (em breve):
    pytest