From 060119c91ca2e43d4832b00128230d7386ed57c9 Mon Sep 17 00:00:00 2001 From: Richard Dern Date: Sat, 28 Mar 2026 18:05:03 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20des=20instructions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 61 ++++++++----------------------------------------------- 1 file changed, 8 insertions(+), 53 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 23468c40..ea9d24ae 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -22,57 +22,16 @@ Il s'agit d'un site statique généré avec Hugo, dont la version peut être vé - Ne jamais faire de `git push` automatiquement, sauf si demandé explicitement - Les commits doivent être atomiques -- Les commits sont écrits en français +- Les commits sont écrits en français UTF-8 - Aucun commit ne doit être effectué sans demande explicite de l'utilisateur -### Code - -- Le code doit être architecturé, propre, clair, concis, minimaliste - - Préférer la création de plusieurs petits fichiers pour éviter le code monolithique - - Ne pas implémenter de fonctionnalités non demandées - - Respecter les principes DRY, KISS et SOLID - - Si une librairie existe pour accomplir une tâche donnée, exploiter cette librairie - - S'assurer de sa popularité et de son activité récente -- Le code doit être écrit en anglais mais documenté en français, lisible par un humain - - Documenter clairement toutes les fonctions et méthodes - - Choisir des noms de variables appropriées et compréhensibles, tout en restant courts - - Ne JAMAIS utiliser d'opérateurs ternaires -- La gestion des erreurs est considérée comme dangereuse - - On ne doit jamais utiliser de fallbacks - - On ne doit jamais utiliser de structures de type `try/catch` -- Le code est écrit pour être spécifique à mon site - - Je suis l'unique utilisateur des outils créés - - Le code doit être compris de tous, mais pas adaptable à tous - ### Outils en console -- S'assurer de l'harmonisation des entrées/sorties - - Toujours utiliser le français dans les interactions avec l'utilisateur -- Pour toute vérification locale avec Hugo, l'agent doit isoler son instance de celle de l'utilisateur - - En mode serveur: `hugo server --port 1314 --renderToDisk --destination .codex/public` - - En mode build: `hugo --cleanDestinationDir --destination .codex/public` - - Ne pas utiliser `public/` pour ces vérifications afin d'éviter les conflits de cache - -### Python - -- Accéder à l'environnement virtuel via la commande `source .venv/bin/activate` -- Renseigner les dépendances dans le fichier `requirements.txt` - -### Javascript - -- Mettre à jour régulièrement les dépendances -- Auditer régulièrement les dépendances avec `npm audit` +- L'agent peut se servir du script `manage` présent à la racine du projet pour gérer divers aspects du site +- L'agent peut interroger ce script pour obtenir de l'aide (`--help`) ### CSS -- Le thème de base est nommé `42` (`themes/42`) (référence à H2G2, mais aussi parce que je l'ai créé à l'occasion de mon anniversaire) -- Je n'utilise aucun framework connu ; je fais du CSS "vanilla" -- Nous ne supporterons jamais de thème clair -- Il fait usage de variables CSS définies dans `themes/42/assets/css/variables` -- L'agent peut créer de nouvelles variables, à condition de respecter les conventions de nommage des autres variables -- Ce thème de base peut être hérité par d'autres thèmes - - Le thème par défaut est actuellement `themes/default` - - Un thème hérité n'est censé devoir surcharger que les variables qualifiées "d'esthétique" (telles que les couleurs ou les effets visuels), par opposition aux variables qualifiées de "structurelles" (telles que les marges ou le positionnement) - Le CSS doit rester le plus simple possible - On ne doit pas exploiter d'effets visuels complexes tels que les agrandissements, les shifts, les apparitions ou disparitions progressives, etc. - Le code CSS doit respecter les règles d'accessibilité pour le contenu, notamment : @@ -86,6 +45,7 @@ Il s'agit d'un site statique généré avec Hugo, dont la version peut être vé - Utiliser exclusivement les apostrophes (`'`) et les guillemets (`"`) non-typographiques - Une phrase par ligne - Ne jamais terminer une ligne par un double-espace +- Utiliser un français UTF-8 ### Structure du contenu @@ -189,20 +149,15 @@ Il s'agit d'un site statique généré avec Hugo, dont la version peut être vé ### Markdown -- Lorsque l'utilisateur demande à être aidé pour la rédaction de ses articles, employer un ton neutre, utiliser un vocabulaire approprié au sujet traité +- Lorsque l'utilisateur demande à être aidé pour la rédaction de ses articles, employer un ton neutre, utiliser un vocabulaire soutenu mais approprié au sujet traité - Rester neutre, objectif, factuel - Présenter des sources vérifiables lors de toute affirmation portant sur un concept-clé, sous la forme de liens markdown vers : - la Wikipédia en français (ou à défaut, en anglais) - une ou plusieurs études scientifiques, si approprié -- Corriger l'attribut `date` du frontmatter lorsqu'il est renseigné mais incomplet, pour indiquer la date et l'heure courante, dans un format supporté par Hugo. Ne jamais ajouter l'attribut s'il n'existe pas déjà. +- Corriger l'attribut `date` du frontmatter lorsqu'il est renseigné mais incomplet, pour indiquer la date et l'heure courante, au format `2026-03-28 18:04:56`. Ne jamais ajouter l'attribut s'il n'existe pas déjà. - Les sections démarrent toujours au deuxième niveau dans le corps du markdown (`##`) - Ne jamais ajouter de numérotation aux sections - Ne jamais utiliser de caractères comme les emojis dans les sections +- Ne jamais utiliser de séparateurs (`---` ou `***`) - Ne jamais ajouter d'émojis dans le corps de l'article -- Ne jamais supprimer les émojis existant - -## Déploiement - -- Tout le déploiement du site est confié au script `deploy.sh`. -- Certains scripts sont exécutés avant le déploiement. S'ils modifient des fichiers dans `content/`, leur exécution doit stopper le déploiement et informer l'utilisateur que des fichiers ont été modifiés - - Exploiter `set -euo pipefail` pour éviter les blocs `if` à chaque script +- Ne jamais supprimer les émojis existants