diff --git a/40_decisions_et_archi.md b/40_decisions_et_archi.md
index 86abce2..ba4e4e8 100644
--- a/40_decisions_et_archi.md
+++ b/40_decisions_et_archi.md
@@ -28,10 +28,109 @@ Dernière mise à jour : 2026-03-10
- [Authentification et autorisation centrales](#decision-auth-central)
- [Idempotence et gestion des retries](#decision-idempotence-retries)
- [Structure Docker et données persistantes](#decision-structure-docker)
+- [Accès réseau des VM de développement via Tailscale](#decision-reseau-tailscale-vm-dev)
+
+---
+
+
+
+## Accès réseau des VM de développement via Tailscale
+
+- Date : 2026-03-12
+- Statut : Accepted
+- Périmètre : infra
+
+### Contexte
+
+Les machines de développement personnelles (NUC / homelab) hébergent plusieurs VM :
+
+- Home Assistant
+- Docker-dev
+- OpenClaw
+- autres services internes
+
+Ces VM exposent parfois :
+
+- SSH
+- bases de données
+- interfaces web d’administration
+- services de développement
+
+Exposer ces services sur le LAN local ou sur Internet augmente inutilement la surface d’attaque et complique la lecture de l’infrastructure.
+
+Le réseau privé Tailscale est utilisé comme couche d’accès sécurisée entre les machines de confiance.
+
+### Options envisagées
+
+- Exposer certains services sur le LAN local et filtrer “au cas par cas”
+- Utiliser Tailscale comme frontière réseau principale pour les accès d’administration et de développement
+- Lier directement les services à une interface donnée sans politique firewall explicite
+
+### Décision
+
+Les VM internes n’acceptent les connexions entrantes que via l’interface Tailscale.
+
+Le pare-feu local (`ufw`) applique cette politique avec la configuration minimale suivante :
+
+```bash
+ufw default deny incoming
+ufw default allow outgoing
+```
+
+Les services explicitement nécessaires sont autorisés uniquement sur `tailscale0`.
+
+Exemples :
+
+```bash
+ufw allow in on tailscale0 to any port 22
+ufw allow in on tailscale0 to any port 8080
+ufw allow in on tailscale0 to any port 5432
+```
+
+Tout accès depuis Internet, le LAN local ou une autre interface réseau est refusé par défaut.
+
+### Justification
+
+- Réduit fortement la surface d’attaque
+- Évite les expositions accidentelles de services de dev ou d’administration
+- Simplifie l’accès distant sans ouvrir de ports ni gérer du NAT
+- Rend la topologie réseau plus lisible et plus cohérente entre les VM
+
+### Conséquences
+
+- Tailscale devient la frontière réseau de confiance pour les VM internes
+- SSH est accessible via Tailscale uniquement
+- Les interfaces web de dev/admin et services de données ne sont ouverts que si un besoin réel existe
+- Les règles `ufw` font partie de la configuration standard d’une nouvelle VM
+
+Quand c’est possible, les services doivent écouter directement sur l’interface Tailscale plutôt que sur toutes les interfaces.
+
+Exemples :
+
+- préférable : `100.x.x.x:5432`
+- acceptable si le firewall est strict : `0.0.0.0:5432`
+- à éviter : écoute large + politique réseau permissive
+
+Certains services restent fermés par défaut tant qu’un besoin explicite n’existe pas, en particulier :
+
+- Redis
+- bases de données non nécessaires en accès distant
+- interfaces d’administration
+
+Modèle visé :
+
+```txt
+Internet → ❌
+LAN local → ❌
+Tailscale → ✅
+```
+
+Cette convention est recommandée pour toutes les nouvelles VM du NUC, notamment `docker-dev` et `openclaw`.
---
+
## Story sizing — foundations bloquantes vs qualité non bloquante (CI mobile)
- Date : 2026-03-09
@@ -68,6 +167,7 @@ On distingue explicitement :
---
+
## Code review adversariale — passe dédiée en contexte frais
- Date : 2026-03-09
@@ -124,6 +224,7 @@ La code review doit être une passe **séparée** de l’implémentation, en **c
---
+
## Workflows n8n complexes = mini-systèmes
- Date : 2025-12-19
@@ -160,6 +261,7 @@ Les considérer comme du code.
---
+
## Le front-end est un logiciel en production
- Date : 2026-01-25
@@ -213,6 +315,7 @@ Il est soumis aux mêmes principes que le backend :
---
+
## Le back-end est un logiciel en production (qualité, observabilité, sécurité)
- Date : 2026-01-25
@@ -263,6 +366,7 @@ Exigences minimales :
---
+
## Contrats d’API explicites et versionnés
- Date : 2026-01-25
@@ -304,6 +408,7 @@ Minimum attendu :
---
+
## Single source of truth des contrats — schémas runtime partagés (Zod) + z.infer (No-DTO)
- Date : 2026-03-10
@@ -345,6 +450,7 @@ Principe opérationnel :
---
+
## User views — User public par défaut + MeUser explicite
- Date : 2026-03-10
@@ -387,6 +493,7 @@ Règles associées :
---
+
## Gestion standard des erreurs et des statuts HTTP
- Date : 2026-01-25
@@ -427,6 +534,7 @@ Les erreurs HTTP sont standardisées :
---
+
## Migrations et évolution de schéma maîtrisées
- Date : 2026-01-25
@@ -468,6 +576,7 @@ Principes :
---
+
## Observabilité minimale obligatoire (logs, corrélation, signaux)
- Date : 2026-01-25
@@ -508,6 +617,7 @@ Observabilité minimale obligatoire :
---
+
## Authentification et autorisation comme responsabilités centrales
- Date : 2026-01-25
@@ -551,6 +661,7 @@ Principes :
---
+
## Idempotence et gestion des retries pour les opérations sensibles
- Date : 2026-01-25
@@ -593,6 +704,7 @@ Principes :
---
+
## Convention de structure pour les projets Docker et les données persistantes
- Date : 2026-03-06
diff --git a/70_templates/projet_CLAUDE.md b/70_templates/projet_CLAUDE.md
index 09fc656..4590605 100644
--- a/70_templates/projet_CLAUDE.md
+++ b/70_templates/projet_CLAUDE.md
@@ -294,7 +294,7 @@ $LEADTECH/95_a_capitaliser.md
En pratique :
- Mac : `~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md`
-- NUC : `/srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md`
+- NUC : `/srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md`
## Quand capitaliser
diff --git a/80_bmad/articulation_avec_lead_tech.md b/80_bmad/articulation_avec_lead_tech.md
index b5493e6..c56f2e3 100644
--- a/80_bmad/articulation_avec_lead_tech.md
+++ b/80_bmad/articulation_avec_lead_tech.md
@@ -98,7 +98,7 @@ de la machine courante.
En pratique :
- Mac : `~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md`
-- NUC : `/srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md`
+- NUC : `/srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md`
## Quand capitaliser
diff --git a/80_bmad/base/_bmad/_config/agents/bmm-analyst.customize.yaml b/80_bmad/base/_bmad/_config/agents/bmm-analyst.customize.yaml
index e49e238..f176c16 100644
--- a/80_bmad/base/_bmad/_config/agents/bmm-analyst.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/bmm-analyst.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a reusable analysis pattern, requirements anti-pattern, or domain insight emerges, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_product_patterns_valides.md | 10_backend_patterns_valides.md | 40_decisions_et_archi.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a reusable analysis pattern, requirements anti-pattern, or domain insight emerges, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_product_patterns_valides.md | 10_backend_patterns_valides.md | 40_decisions_et_archi.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/bmm-architect.customize.yaml b/80_bmad/base/_bmad/_config/agents/bmm-architect.customize.yaml
index ae4ffe9..d733022 100644
--- a/80_bmad/base/_bmad/_config/agents/bmm-architect.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/bmm-architect.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a reusable pattern, difficult bug fix, anti-pattern, or architecture decision emerges during architecture or technical design, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <40_decisions_et_archi.md | 10_backend_patterns_valides.md | 10_backend_risques_et_vigilance.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a reusable pattern, difficult bug fix, anti-pattern, or architecture decision emerges during architecture or technical design, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <40_decisions_et_archi.md | 10_backend_patterns_valides.md | 10_backend_risques_et_vigilance.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/bmm-dev.customize.yaml b/80_bmad/base/_bmad/_config/agents/bmm-dev.customize.yaml
index d8590c1..acd6db0 100644
--- a/80_bmad/base/_bmad/_config/agents/bmm-dev.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/bmm-dev.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a reusable pattern, difficult bug fix, anti-pattern, or architecture decision emerges during implementation, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_backend_patterns_valides.md | 10_frontend_patterns_valides.md | 10_backend_risques_et_vigilance.md | 10_frontend_risques_et_vigilance.md | 90_debug_et_postmortem.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a reusable pattern, difficult bug fix, anti-pattern, or architecture decision emerges during implementation, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_backend_patterns_valides.md | 10_frontend_patterns_valides.md | 10_backend_risques_et_vigilance.md | 10_frontend_risques_et_vigilance.md | 90_debug_et_postmortem.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/bmm-pm.customize.yaml b/80_bmad/base/_bmad/_config/agents/bmm-pm.customize.yaml
index 1c4c612..a389d3b 100644
--- a/80_bmad/base/_bmad/_config/agents/bmm-pm.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/bmm-pm.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a product decision, prioritization pattern, or recurring friction is identified, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_product_patterns_valides.md | 40_decisions_et_archi.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a product decision, prioritization pattern, or recurring friction is identified, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_product_patterns_valides.md | 40_decisions_et_archi.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/bmm-qa.customize.yaml b/80_bmad/base/_bmad/_config/agents/bmm-qa.customize.yaml
index 5cddb52..06871cc 100644
--- a/80_bmad/base/_bmad/_config/agents/bmm-qa.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/bmm-qa.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a reusable test pattern, tricky bug, or quality anti-pattern is identified, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a reusable test pattern, tricky bug, or quality anti-pattern is identified, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml b/80_bmad/base/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml
index d8590c1..acd6db0 100644
--- a/80_bmad/base/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a reusable pattern, difficult bug fix, anti-pattern, or architecture decision emerges during implementation, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_backend_patterns_valides.md | 10_frontend_patterns_valides.md | 10_backend_risques_et_vigilance.md | 10_frontend_risques_et_vigilance.md | 90_debug_et_postmortem.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a reusable pattern, difficult bug fix, anti-pattern, or architecture decision emerges during implementation, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_backend_patterns_valides.md | 10_frontend_patterns_valides.md | 10_backend_risques_et_vigilance.md | 10_frontend_risques_et_vigilance.md | 90_debug_et_postmortem.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/bmm-sm.customize.yaml b/80_bmad/base/_bmad/_config/agents/bmm-sm.customize.yaml
index 9fa5a57..d1ac9b8 100644
--- a/80_bmad/base/_bmad/_config/agents/bmm-sm.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/bmm-sm.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a process improvement, recurring friction, or architecture decision emerges during sprint work, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a process improvement, recurring friction, or architecture decision emerges during sprint work, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/bmm-tech-writer.customize.yaml b/80_bmad/base/_bmad/_config/agents/bmm-tech-writer.customize.yaml
index 9e8a133..3fcc7d1 100644
--- a/80_bmad/base/_bmad/_config/agents/bmm-tech-writer.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/bmm-tech-writer.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a reusable documentation pattern, writing convention, or recurring documentation friction emerges, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_conventions_redaction.md | 40_decisions_et_archi.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a reusable documentation pattern, writing convention, or recurring documentation friction emerges, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_conventions_redaction.md | 40_decisions_et_archi.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/bmm-ux-designer.customize.yaml b/80_bmad/base/_bmad/_config/agents/bmm-ux-designer.customize.yaml
index 0292eb6..4588683 100644
--- a/80_bmad/base/_bmad/_config/agents/bmm-ux-designer.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/bmm-ux-designer.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a reusable UX/UI pattern, interaction anti-pattern, or UX decision emerges, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_ux_patterns_valides.md | 10_ux_risques_et_vigilance.md | 40_decisions_et_archi.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a reusable UX/UI pattern, interaction anti-pattern, or UX decision emerges, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_ux_patterns_valides.md | 10_ux_risques_et_vigilance.md | 40_decisions_et_archi.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/core-bmad-master.customize.yaml b/80_bmad/base/_bmad/_config/agents/core-bmad-master.customize.yaml
index 85997df..7e5f1e2 100644
--- a/80_bmad/base/_bmad/_config/agents/core-bmad-master.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/core-bmad-master.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "As the orchestrating agent, when any cross-cutting pattern, process improvement, recurring friction, or architectural decision emerges across the project, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_backend_patterns_valides.md | 10_frontend_patterns_valides.md | 10_product_patterns_valides.md | 10_ux_patterns_valides.md | 10_backend_risques_et_vigilance.md | 10_frontend_risques_et_vigilance.md | 40_decisions_et_archi.md | 90_debug_et_postmortem.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "As the orchestrating agent, when any cross-cutting pattern, process improvement, recurring friction, or architectural decision emerges across the project, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <10_backend_patterns_valides.md | 10_frontend_patterns_valides.md | 10_product_patterns_valides.md | 10_ux_patterns_valides.md | 10_backend_risques_et_vigilance.md | 10_frontend_risques_et_vigilance.md | 40_decisions_et_archi.md | 90_debug_et_postmortem.md> / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/80_bmad/base/_bmad/_config/agents/tea-tea.customize.yaml b/80_bmad/base/_bmad/_config/agents/tea-tea.customize.yaml
index 5cddb52..06871cc 100644
--- a/80_bmad/base/_bmad/_config/agents/tea-tea.customize.yaml
+++ b/80_bmad/base/_bmad/_config/agents/tea-tea.customize.yaml
@@ -18,7 +18,7 @@ critical_actions: []
# Add persistent memories for the agent
memories:
- - "When a reusable test pattern, tricky bug, or quality anti-pattern is identified, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/projects/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
+ - "When a reusable test pattern, tricky bug, or quality anti-pattern is identified, write a proposal to ~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md (NUC: /srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md). Format: DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: / Pourquoi: / Proposition: . Never write directly to Lead_tech validated files."
# Example:
# memories:
# - "User prefers detailed technical explanations"
diff --git a/AGENTS.md b/AGENTS.md
index cdd9752..681311e 120000
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1 +1 @@
-/srv/projects/_Assistant_Lead_Tech/CLAUDE.md
\ No newline at end of file
+CLAUDE.md
\ No newline at end of file
diff --git a/scripts/aliases.sh b/scripts/aliases.sh
index 87c53c5..ecec385 100644
--- a/scripts/aliases.sh
+++ b/scripts/aliases.sh
@@ -6,24 +6,24 @@
# (ex: $LEADTECH/95_a_capitaliser.md)
if [ -d "$HOME/AI_RULES/_Assistant_Lead_Tech" ]; then
export LEADTECH="$HOME/AI_RULES/_Assistant_Lead_Tech"
-elif [ -d "/srv/projects/_Assistant_Lead_Tech" ]; then
- export LEADTECH="/srv/projects/_Assistant_Lead_Tech"
+elif [ -d "/srv/helpers/_Assistant_Lead_Tech" ]; then
+ export LEADTECH="/srv/helpers/_Assistant_Lead_Tech"
fi
# Aller au repo Lead_tech
alias leadtech='cd "$LEADTECH"'
# Générer mémoire projet
-alias gen-claude='~/AI_RULES/_Assistant_Lead_Tech/scripts/generate_project_claude.sh 2>/dev/null || /srv/projects/_Assistant_Lead_Tech/scripts/generate_project_claude.sh'
+alias gen-claude='~/AI_RULES/_Assistant_Lead_Tech/scripts/generate_project_claude.sh 2>/dev/null || /srv/helpers/_Assistant_Lead_Tech/scripts/generate_project_claude.sh'
# Créer un projet
-alias mkproj='~/AI_RULES/_Assistant_Lead_Tech/scripts/mkproj.sh 2>/dev/null || /srv/projects/_Assistant_Lead_Tech/scripts/mkproj.sh'
+alias mkproj='~/AI_RULES/_Assistant_Lead_Tech/scripts/mkproj.sh 2>/dev/null || /srv/helpers/_Assistant_Lead_Tech/scripts/mkproj.sh'
# Sync mémoire agents
-alias sync-ai='~/AI_RULES/_Assistant_Lead_Tech/scripts/sync-ai-instructions.sh 2>/dev/null || /srv/projects/_Assistant_Lead_Tech/scripts/sync-ai-instructions.sh'
+alias sync-ai='~/AI_RULES/_Assistant_Lead_Tech/scripts/sync-ai-instructions.sh 2>/dev/null || /srv/helpers/_Assistant_Lead_Tech/scripts/sync-ai-instructions.sh'
# Initialiser la structure BMAD dans un projet existant
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'
\ No newline at end of file
+alias projects='cd ~/Volumes/TeraSSD/Projets_Dev 2>/dev/null || cd /srv/projects'