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'