From a51eb33496878e4f6074ea7deb48b80b97c0696b Mon Sep 17 00:00:00 2001 From: shooter-dev Date: Thu, 8 Oct 2026 06:20:43 +0200 Subject: [PATCH] add_rules --- .agents/rules/build-and-development.md | 11 +++++++++++ .agents/rules/code-style.md | 10 ++++++++++ .agents/rules/configuration-and-secrets.md | 8 ++++++++ .agents/rules/development-servers.md | 10 ++++++++++ .agents/rules/git-and-merge-requests.md | 10 ++++++++++ .agents/rules/project-structure-api.md | 7 +++++++ .agents/rules/project-structure-worker.md | 7 +++++++ .agents/rules/project-structure.md | 9 +++++++++ .agents/rules/testing.md | 10 ++++++++++ 9 files changed, 82 insertions(+) create mode 100644 .agents/rules/build-and-development.md create mode 100644 .agents/rules/code-style.md create mode 100644 .agents/rules/configuration-and-secrets.md create mode 100644 .agents/rules/development-servers.md create mode 100644 .agents/rules/git-and-merge-requests.md create mode 100644 .agents/rules/project-structure-api.md create mode 100644 .agents/rules/project-structure-worker.md create mode 100644 .agents/rules/project-structure.md create mode 100644 .agents/rules/testing.md diff --git a/.agents/rules/build-and-development.md b/.agents/rules/build-and-development.md new file mode 100644 index 0000000..31ae4bd --- /dev/null +++ b/.agents/rules/build-and-development.md @@ -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 '' --path . --timeout 30m)"`, puis `portly wait "$job_id"`. diff --git a/.agents/rules/code-style.md b/.agents/rules/code-style.md new file mode 100644 index 0000000..092bd91 --- /dev/null +++ b/.agents/rules/code-style.md @@ -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. diff --git a/.agents/rules/configuration-and-secrets.md b/.agents/rules/configuration-and-secrets.md new file mode 100644 index 0000000..998ae79 --- /dev/null +++ b/.agents/rules/configuration-and-secrets.md @@ -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. diff --git a/.agents/rules/development-servers.md b/.agents/rules/development-servers.md new file mode 100644 index 0000000..dbff9bc --- /dev/null +++ b/.agents/rules/development-servers.md @@ -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`. diff --git a/.agents/rules/git-and-merge-requests.md b/.agents/rules/git-and-merge-requests.md new file mode 100644 index 0000000..297dc14 --- /dev/null +++ b/.agents/rules/git-and-merge-requests.md @@ -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. diff --git a/.agents/rules/project-structure-api.md b/.agents/rules/project-structure-api.md new file mode 100644 index 0000000..7a93efb --- /dev/null +++ b/.agents/rules/project-structure-api.md @@ -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/`). diff --git a/.agents/rules/project-structure-worker.md b/.agents/rules/project-structure-worker.md new file mode 100644 index 0000000..0b2fceb --- /dev/null +++ b/.agents/rules/project-structure-worker.md @@ -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. diff --git a/.agents/rules/project-structure.md b/.agents/rules/project-structure.md new file mode 100644 index 0000000..a17e7f3 --- /dev/null +++ b/.agents/rules/project-structure.md @@ -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`. diff --git a/.agents/rules/testing.md b/.agents/rules/testing.md new file mode 100644 index 0000000..dec837f --- /dev/null +++ b/.agents/rules/testing.md @@ -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.