ajout script automatisation

This commit is contained in:
MaksTinyWorkshop
2026-03-08 11:05:57 +01:00
parent 2a887bda98
commit e1910740d9
5 changed files with 135 additions and 3 deletions

View File

@@ -1,5 +1,7 @@
# Instructions globales — Lead Tech Copilote # Instructions globales — Lead Tech Copilote
# Chargé automatiquement par OpenAI Codex CLI
Ce fichier est chargé automatiquement par Codex à chaque session.
Il pointe vers la base de connaissance commune à tous les projets.
## Rôle et posture ## Rôle et posture
@@ -39,7 +41,7 @@ Puis propose le contenu à ajouter dans le format du fichier cible.
| Projet | Stack | Localisation | État | | Projet | Stack | Localisation | État |
|---|---|---|---| |---|---|---|---|
| app-alexandrie | NestJS + Expo (React Native) + Prisma + pnpm monorepo | `/srv/projects/app-alexandrie` (NUC) | Epic 2 en préparation | | app-alexandrie | NestJS + Expo (React Native) + Prisma + pnpm monorepo | `/srv/projects/app-alexandrie` | Epic 2 en préparation |
## Patterns clés à appliquer systématiquement ## Patterns clés à appliquer systématiquement

View File

@@ -41,7 +41,7 @@ Puis propose le contenu à ajouter dans le format du fichier cible.
| Projet | Stack | Localisation | État | | Projet | Stack | Localisation | État |
|---|---|---|---| |---|---|---|---|
| app-alexandrie | NestJS + Expo (React Native) + Prisma + pnpm monorepo | `/Volumes/TeraSSD/Projets_Dev/__Mindleaf/app-alexandrie` | Epic 2 en préparation | | app-alexandrie | NestJS + Expo (React Native) + Prisma + pnpm monorepo | `/srv/projects/app-alexandrie` | Epic 2 en préparation |
## Patterns clés à appliquer systématiquement ## Patterns clés à appliquer systématiquement

54
_AI_INSTRUCTIONS.md Normal file
View File

@@ -0,0 +1,54 @@
## Rôle et posture
Tu es mon copilote principal : technicien, lead tech, coach et challenger.
Priorité absolue : justesse, robustesse, réduction du temps de debug.
Jamais de sur-ingénierie. Jamais d'invention de comportements incertains.
Langue de travail : **français**.
## Base de connaissance à consulter en priorité
Ces fichiers sont la mémoire durable inter-projets. Consulte-les avant de proposer
une solution dans leur domaine respectif.
| Fichier | Contenu |
|---|---|
| `10_backend_patterns_valides.md` | Patterns backend validés en conditions réelles |
| `10_frontend_patterns_valides.md` | Patterns frontend/mobile validés |
| `10_backend_risques_et_vigilance.md` | Risques et anti-patterns backend |
| `10_frontend_risques_et_vigilance.md` | Risques et anti-patterns frontend |
| `40_decisions_et_archi.md` | Décisions techniques (mini-ADR) |
| `90_debug_et_postmortem.md` | Post-mortems et bugs capitalisés |
## Règles de mise à jour
Quand tu repères qu'un pattern mérite d'être capitalisé :
```
FILE_UPDATE_PROPOSAL
Fichier : `<nom_du_fichier>`
Pourquoi : <1-2 phrases>
```
Puis propose le contenu à ajouter dans le format du fichier cible.
## Projets actifs
{{PROJECTS_TABLE}}
## Patterns clés à appliquer systématiquement
- **Contracts-First / Zod-Infer / No-DTO** : voir `10_backend_patterns_valides.md`
- **Navigation réactive useEffect** : voir `10_frontend_patterns_valides.md`
- **Guard NestJS — ordre d'enregistrement** : voir `10_backend_patterns_valides.md`
- **Format d'erreur API standardisé** : `{ error: { code, message, requestId } }`
- **Sessions avec TTL** : toujours un champ `expiresAt`, filtrer dans les queries
## Infrastructure NUC
Convention de structure Docker sur le NUC (Proxmox) :
- `/srv/projects` — code applicatif
- `/srv/docker-data` — données persistantes (bind mounts explicites)
- `/srv/backups` — dumps et archives
Éviter SQL Server en LXC Proxmox → préférer PostgreSQL/MariaDB (voir `90_debug_et_postmortem.md`).

5
_projects.conf Normal file
View File

@@ -0,0 +1,5 @@
# Configuration des projets actifs
# Format : nom|stack|path_nuc|path_mac|etat
# Ajouter une ligne par projet
app-alexandrie|NestJS + Expo (React Native) + Prisma + pnpm monorepo|/srv/projects/app-alexandrie|/Volumes/TeraSSD/Projets_Dev/__Mindleaf/app-alexandrie|Epic 2 en préparation

71
sync-ai-instructions.sh Executable file
View File

@@ -0,0 +1,71 @@
#!/usr/bin/env bash
# sync-ai-instructions.sh
# Génère CLAUDE.md et AGENTS.md depuis _AI_INSTRUCTIONS.md + _projects.conf
# selon la machine courante (Darwin = Mac, Linux = NUC)
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SOURCE="$SCRIPT_DIR/_AI_INSTRUCTIONS.md"
PROJECTS_CONF="$SCRIPT_DIR/_projects.conf"
# --- Détection machine ---
OS="$(uname -s)"
# --- Construire la table markdown des projets ---
build_projects_table() {
local os="$1"
echo "| Projet | Stack | Localisation | État |"
echo "|---|---|---|---|"
while IFS='|' read -r nom stack path_nuc path_mac etat; do
# Ignorer lignes vides et commentaires
[[ -z "$nom" || "$nom" == \#* ]] && continue
if [ "$os" = "Darwin" ]; then
path="$path_mac"
else
path="$path_nuc"
fi
echo "| $nom | $stack | \`$path\` | $etat |"
done < "$PROJECTS_CONF"
}
# --- Fonction de génération ---
generate() {
local header="$1"
local dest="$2"
local projects_table
projects_table="$(build_projects_table "$OS")"
{
echo "$header"
echo ""
# Remplacer {{PROJECTS_TABLE}} par la table générée
while IFS= read -r line; do
if [ "$line" = "{{PROJECTS_TABLE}}" ]; then
echo "$projects_table"
else
echo "$line"
fi
done < "$SOURCE"
} > "$dest"
echo " -> $dest"
}
echo "Sync AI instructions (OS: $OS)"
CLAUDE_HEADER="# Instructions globales — Lead Tech Copilote
Ce fichier est chargé automatiquement par Claude Code à chaque session.
Il pointe vers la base de connaissance commune à tous les projets."
CODEX_HEADER="# Instructions globales — Lead Tech Copilote
Ce fichier est chargé automatiquement par Codex à chaque session.
Il pointe vers la base de connaissance commune à tous les projets."
generate "$CLAUDE_HEADER" "$HOME/.claude/CLAUDE.md"
generate "$CLAUDE_HEADER" "$SCRIPT_DIR/CLAUDE.md"
generate "$CODEX_HEADER" "$HOME/.codex/AGENTS.md"
generate "$CODEX_HEADER" "$SCRIPT_DIR/AGENTS.md"
echo "Sync terminé."