diff --git a/00_INDEX.md b/00_INDEX.md index b7957f7..dccd780 100644 --- a/00_INDEX.md +++ b/00_INDEX.md @@ -10,6 +10,19 @@ Il centralise : - les post‑mortems - les playbooks réutilisables +## Identité du repo + +Nom logique : `Lead_tech` + +Emplacements physiques selon l’environnement : + +- Mac : `~/AI_RULES/_Assistant_Lead_Tech` +- NUC : `/srv/helpers/_Assistant_Lead_Tech` + +Référence portable à utiliser dans les scripts et templates : + +- `$LEADTECH` + --- # Structure de la base de connaissance diff --git a/00_README.md b/00_README.md index 82158f2..fb76d12 100644 --- a/00_README.md +++ b/00_README.md @@ -18,9 +18,9 @@ Ce projet sert de **cerveau externe** pour : - Pas de sur-ingénierie - Documentation utile uniquement - Le code (front ou back) est traité comme du **logiciel en production** - - lisible - - testable au bon niveau - - maintenable dans le temps +- Il doit rester lisible +- Il doit être testable au bon niveau +- Il doit être maintenable dans le temps --- @@ -79,11 +79,31 @@ C’est un **partenaire technique** qui aide à : - Les instructions du projet définissent l’âme du copilote - Les fichiers `.md` servent de **mémoire durable** -- Tout ce qui est validé mérite d’être capitalisé : - - patterns (code, front, n8n, archi) - - décisions techniques (mini-ADR) - - post-mortems de debug - - intégrations externes (API, SaaS) +- Tout ce qui est validé mérite d’être capitalisé +- Patterns : code, front, n8n, architecture +- Décisions techniques : mini-ADR +- Post-mortems de debug +- Intégrations externes : API, SaaS + +--- + +## Emplacement du repo + +Le nom logique de cette base de connaissance est `Lead_tech`. + +Son emplacement physique dépend de l’environnement : + +- Mac : `~/AI_RULES/_Assistant_Lead_Tech` +- NUC : `/srv/helpers/_Assistant_Lead_Tech` + +Pour rester portable entre environnements, les scripts et templates doivent +référencer en priorité la variable d’environnement : + +```bash +$LEADTECH +``` + +Cette variable constitue la **référence portable** vers le repo. --- diff --git a/40_decisions_et_archi.md b/40_decisions_et_archi.md index c4506c4..ce3ec6a 100644 --- a/40_decisions_et_archi.md +++ b/40_decisions_et_archi.md @@ -331,16 +331,32 @@ La structure standard suivante est adoptée sur les machines d’infrastructure ``` /srv +├ helpers +├ infra ├ projects +├ shared ├ docker-data └ backups ``` Principes : +- `/srv/helpers` + contient les dépôts, scripts et bases de connaissance transverses utilisés + par plusieurs projets ou par les agents (ex : `_Assistant_Lead_Tech`). + +- `/srv/infra` + contient les éléments d’infrastructure mutualisés ou transverses à la machine + (reverse proxy, stacks techniques partagées, supervision, administration). + - `/srv/projects` contient les projets applicatifs (code, `docker-compose.yml`, `.env`, scripts). +- `/srv/shared` + contient les ressources partagées entre plusieurs projets quand elles ne + relèvent ni du code d’un projet donné ni d’une donnée Docker persistante + d’un seul service. + - `/srv/docker-data` contient les données persistantes des conteneurs (bases de données, uploads, état applicatif). @@ -351,6 +367,8 @@ Principes : ### Justification - séparation claire **code / données / sauvegardes** +- séparation explicite entre **projets applicatifs**, **outillage transverse**, + **infrastructure mutualisée** et **ressources partagées** - sauvegardes plus simples et plus fiables - nettoyage d’un projet possible sans risque pour les autres - lisibilité immédiate de l’infrastructure @@ -370,10 +388,22 @@ lisibilité et la maintenabilité priment. Les données critiques à sauvegarder se trouvent principalement dans : ``` +/srv/helpers +/srv/infra /srv/projects +/srv/shared /srv/docker-data ``` +Règle de placement : + +- si c’est le code ou la config d’une application donnée : `/srv/projects/` +- si c’est de la donnée persistante d’un conteneur : `/srv/docker-data//...` +- si c’est un backup ou un export destiné à la restauration : `/srv/backups//...` +- si c’est un outil, script ou référentiel transverse : `/srv/helpers/...` +- si c’est une stack ou une configuration infra mutualisée : `/srv/infra/...` +- si c’est une ressource commune à plusieurs projets, hors données Docker : `/srv/shared/...` + Convention de nommage recommandée pour les dossiers de données : ``` diff --git a/70_templates/projet_CLAUDE.md b/70_templates/projet_CLAUDE.md index 4590605..abfe980 100644 --- a/70_templates/projet_CLAUDE.md +++ b/70_templates/projet_CLAUDE.md @@ -9,8 +9,8 @@ Dans l’environnement de travail, `Lead_tech` est généralement accessible via Pour les agents, la porte d’entrée de ces règles est : -- `~/CLAUDE.md` : symlink vers `~/Lead_tech/CLAUDE.md` -- `~/AGENTS.md` : symlink vers `~/Lead_tech/CLAUDE.md` +- `~/CLAUDE.md` : symlink vers `$LEADTECH/CLAUDE.md` +- `~/AGENTS.md` : symlink vers `$LEADTECH/CLAUDE.md` Ce fichier sert de **point d’entrée vers la base de connaissance globale** (patterns, anti-patterns, décisions d’architecture, debug). diff --git a/scripts/aliases.sh b/scripts/aliases.sh index ecec385..0496e5a 100644 --- a/scripts/aliases.sh +++ b/scripts/aliases.sh @@ -26,4 +26,4 @@ alias sync-ai='~/AI_RULES/_Assistant_Lead_Tech/scripts/sync-ai-instructions.sh 2 alias bmad-init='"$LEADTECH/scripts/bmad-init-project.sh"' # Aller dans projets -alias projects='cd ~/Volumes/TeraSSD/Projets_Dev 2>/dev/null || cd /srv/projects' +alias projects='cd /Volumes/TeraSSD/Projets_Dev 2>/dev/null || cd /srv/projects'