mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-04-06 21:41:42 +02:00
ajout script automatisation
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# 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
|
||||
|
||||
@@ -39,7 +41,7 @@ Puis propose le contenu à ajouter dans le format du fichier cible.
|
||||
|
||||
| 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
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ Puis propose le contenu à ajouter dans le format du fichier cible.
|
||||
|
||||
| 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
|
||||
|
||||
|
||||
54
_AI_INSTRUCTIONS.md
Normal file
54
_AI_INSTRUCTIONS.md
Normal 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
5
_projects.conf
Normal 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
71
sync-ai-instructions.sh
Executable 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é."
|
||||
Reference in New Issue
Block a user