Files
Jogo3/RULES.md
T

57 lines
2.7 KiB
Markdown
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.