Pular para conteúdo

Desenvolvimento

Tudo que um novo dev precisa para contribuir.

Páginas

Convenções

Camada Padrão
Python 3.11+, type hints, from __future__ import annotations
SQL asyncpg parametrizado ($1, $2), EXPLAIN ANALYZE antes de query nova em prod
MQL5 snake_case para functions, PascalCase para structs, prefixo g_ para globais
Frontend Vanilla JS sem framework (mantém build-free), CSS variables em site.css
Configs YAML em configs/, com comentários inline explicando cada parâmetro
Logs logging.info/warning/error com contexto suficiente para grep posterior

Workflow de feature

  1. Branch: feat/<descricao-curta> ou fix/<bug>
  2. Implementar + testes (se for feature crítica)
  3. Atualizar MATURITY_ANALYSIS.md se gap fechou
  4. Atualizar docs/ se mudou comportamento documentado
  5. Commit com mensagem descritiva (não "fix" só)
  6. PR → revisar em produção pequena → merge → deploy

Áreas críticas (high blast radius)

Tocar aqui exige cuidado extra:

Arquivo Motivo
configs/model.yaml Quality gates afetam quais modelos rodam em produção
docker/init.sql Schema; migrations devem ser idempotentes (ALTER TABLE IF NOT EXISTS)
app/api/main.py (auth) Bug aqui = sistema todo afetado
app/db/repository.py::insert_execution EA reporta aqui; mudar interface quebra retro
ea/ML_Sensorial_Scanner.mq5 Roda na máquina do cliente; bugs viram suporte 24/7
.env Secrets; nunca commitado