Files
Jogo3/RULES.md
T

2.7 KiB
Executable File

RULES — Regras para IA codar neste projeto

1. Estilo de código

  • Seguir o estilo existente do código — sem mudanças cosméticas não solicitadas.
  • Sem comentários em código a menos que a lógica seja objetivamente complexa e ambígua sem eles.
  • Nomes de variáveis funções em português (já que o domínio do projeto é em PT-BR).
  • Usar snake_case para funções e variáveis, PascalCase para classes.

2. Arquitetura

  • main.py é o único entry point. Código adicional de suporte deve ficar em dados_*.py ou módulos separados com _ no nome.
  • Toda config vem de variáveis de ambiente (os.getenv), nunca de arquivos de configuração fixos.
  • O sistema assíncrono usa asyncio com python-telegram-bot. Manter o padrão de corrotinas (async def).
  • Não adicionar dependências a menos que seja estritamente necessário e aprovado.

3. Tratamento de erros

  • Usar try/except apenas onde o erro é esperado (Telegram API, arquivo ausente, JSON mal formatado).
  • Erros inesperados devem subir e ser capturados no main() com log.error.
  • Sem try/except genéricos silenciando exceções.

4. Logging

  • Usar logging.getLogger(__name__) em cada módulo.
  • Nível INFO para eventos normais (ordem enviada, ciclo iniciado, etc.).
  • Nível WARNING para situações anômalas não críticas.
  • Nível ERROR para falhas que impedem execução.

5. Arquivos de ordens (JSON)

  • Cada arquivo ordens{n}.json é um array de strings.
  • O arquivo deve ser JSON válido (sempre validar com json.tool após editar).
  • Não quebrar a formatação nem reordenar itens existentes.
  • Ao adicionar novas ordens, respeitar o estilo e tom do arquivo existente.

6. Variáveis de ambiente

  • Novos canais de envio seguem o padrão ENVIAR{n}_*.
  • Toda nova variável de ambiente deve ter default seguro no código e ser documentada no .env.example.

7. Modificações

  • Nunca remover funcionalidade existente.
  • Nunca alterar o comportamento de envio sem necessidade explícita.
  • Sempre atualizar .env.example quando uma nova variável de ambiente for adicionada.
  • Manter iniciar.sh sincronizado com os canais definidos em main.py.

8. IA — regras específicas

  • Complete tasks — implemente completamente, não left placeholders/TODO markers.
  • Before creating new files, check if existing ones can be extended instead.
  • Keep responses concise and technical. No conversational filler.
  • When implementing, consider the full context: env vars, data files, existing patterns.
  • Do not add emojis to code or documentation unless explicitly requested.
  • Always validate JSON after writing (use python3 -m json.tool).
  • Maintain the explicit/picante tone of the ordens files when creating new orders.