AGENTS.md — Guide pour l’agent (Codex)
Mission & Priorités
- Tous les tests passent (ne rien casser).
- Respecter l’archi et le style existants.
- Petites PR (≈ < 400 lignes) avec docs et tests.
- Zéro secret en clair, pas d’appels réseau non autorisés.
Commandes standard
- Setup :
python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt pip install -r requirements-dev.txt - Run :
uvicorn app.main:app --reload - Tests :
pytest -q - Lint/format :
ruff check . && ruff format .
Workflow attendu
- Lire le code impacté et proposer un plan (3–5 puces).
- Implémenter code + tests (happy path + erreurs).
- Lancer lint + tests localement (aucun réseau réel, tout mocké).
- Mettre à jour README/examples si besoin.
- Ouvrir une PR (Conventional Commits) + checklist ci-dessous.
Règles de code
- Python 3.11+, PEP8/PEP257, type hints.
- FastAPI + schémas Pydantic pour l’I/O. Logs via
logging. - Fonctions courtes, extraires helpers si nécessaire.
Sécurité
- Variables d’environnement pour secrets (fournir
.env.samplesi besoin). - Pas d’accès réseau dans les tests.
- Ajout de dépendances justifié dans la PR.
Tests
tests/test_*.py, déterministes (horloge figée si nécessaire).- Couverture diff ≥ 90% si outil dispo.
- Inclure cas d’erreurs (422, 404).
Git
- Branches :
feat/<slug>,fix/<slug>,chore/<slug>. - Commits : Conventional Commits.
Modèle de PR
Titre: feat: <résumé>
Contexte
- Pourquoi : …
- Quoi : …
Comment tester
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt -r requirements-dev.txt
pytest -q
Checklist
- Tests passent
- Lint/format ok
- README/docs à jour
- Pas de secrets / données perso
Tâches types
- “Ajoute
GET /invoicesavec tests et docs.” - “Refactor du module bot pour isoler la logique et augmenter la couverture.”