add_rules

This commit is contained in:
shooter-dev committed 2026-10-08 06:20:43 +02:00
1 parent 551e283f54
commit a51eb33496
9 files changed
+82

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
# Compilation et développement
## Quand cette règle s’applique
- Lors de la construction des bibliothèques ou des images du dépôt, ou de l’exécution d’une tâche ponctuelle.
## Règles
- Privilégier une cible du `makefile` racine lorsqu’elle couvre l’opération demandée.
- `make build_libs` construit les wheels locales dans `_dist/`.
- `make build_api` et `make build_worker` construisent les images correspondantes et dépendent de `build_libs`.
- `make run_docker` construit les deux images puis lance la pile Compose.
- Pour les tâches ponctuelles sans cible Make dédiée, utiliser `job_id="$(portly temp '<command>' --path . --timeout 30m)"`, puis `portly wait "$job_id"`.
+10
View File
@@ -0,0 +1,10 @@
# Style de code
## Quand cette règle s’applique
- Lors de la modification du code Python de l’API ou des workers.
## Règles
- Indenter avec quatre espaces.
- Utiliser `snake_case` pour les modules, fonctions et variables, et `CapWords` pour les classes.
- Garder les noms de tâches et de files d’attente identiques entre l’API et les workers.
- Aucun formateur ni linter n’est configuré : suivre le code voisin.
@@ -0,0 +1,8 @@
# Configuration et secrets
## Quand cette règle s’applique
- Lors de la configuration de l’API ou du worker.
## Règles
- Les paramètres de l’API et du worker sont chargés depuis l’environnement dans `app/core/config.py`.
- Ne pas versionner de secrets ; fournir les secrets locaux via l’environnement.
+10
View File
@@ -0,0 +1,10 @@
# Serveurs de développement
## Quand cette règle s’applique
- Lors du démarrage ou de la gestion de la pile locale persistante.
## Règles
- Vérifier d’abord `portly status` et réutiliser un serveur géré sain, ou créer un projet et un serveur Portly.
- Configurer `make run_docker` comme commande du serveur Portly au premier plan sur le port `5001`.
- Ne pas démarrer directement les services persistants ni les lancer en arrière-plan.
- La documentation de l’API est disponible sur `http://127.0.0.1:5001/docs`.
+10
View File
@@ -0,0 +1,10 @@
# Git et demandes de fusion
## Quand cette règle s’applique
- Lors de la préparation d’un commit ou d’une demande de fusion.
## Règles
- Utiliser un sujet de commit bref à l’impératif, par exemple `Gérer les reprises du worker`.
- Décrire le changement, les services touchés, les vérifications et le ticket associé s’il existe.
- Ajouter des captures uniquement si un tableau de bord change.
- Le dépôt ne définit pas de convention de commit ni de modèle de demande de fusion.
+7
View File
@@ -0,0 +1,7 @@
# Structure de l’API
## Quand cette règle s’applique
- Lorsqu’il faut s’orienter dans l’API ou modifier ses routes, utilitaires ou tests.
## Règles
- `booksync-api/booksync-api/` contient l’API FastAPI, ses routes (`app/api/`), ses utilitaires partagés (`app/core/`) et ses tests (`tests/`).
@@ -0,0 +1,7 @@
# Structure du worker
## Quand cette règle s’applique
- Lorsqu’il faut s’orienter dans le worker ou modifier ses tâches.
## Règles
- `booksync-worker/booksync-worker/` contient les tâches Celery et leur configuration.
+9
View File
@@ -0,0 +1,9 @@
# Structure du dépôt
## Quand cette règle s’applique
- Lorsqu’il faut s’orienter dans la structure générale du dépôt.
## Règles
- `docker-compose.yml` définit les services ; `_docker/` contient leurs configurations.
- Centraliser toute la documentation du projet dans `_docs/`, triée par dossier concerné (par exemple `_docs/app/`, `_docs/api/`, `_docs/worker/` et `_docs/libs/`).
- Pour la structure détaillée de chaque application, consulter les règles API et worker liées dans `AGENTS.md`.
+10
View File
@@ -0,0 +1,10 @@
# Tests
## Quand cette règle s’applique
- Lors de l’ajout ou de la modification du comportement de l’API ou des workers.
## Règles
- Ajouter des tests ciblés pour l’API et les workers.
- Lancer les tests API avec `python -m pytest booksync-api/booksync-api/tests`.
- Pytest doit être installé ; le dépôt contient une fixture, mais aucun test, et ne déclare pas pytest dans ses dépendances.
- Aucun seuil de couverture n’est défini.