Parent : [[INDEX-IA]]
Knowledge Core — Système de connaissances branché à Windsurf
Problème
Une IA (Windsurf/Cascade) ne se souvient pas d'une discussion à l'autre. Sans système externe, chaque conversation repart de zéro — les connaissances métier, les patterns validés, les erreurs connues ne sont jamais réutilisés automatiquement.
Solution
Un dépôt knowledge-core structuré avec des fichiers .md chargés automatiquement
par Windsurf via le mécanisme Rules (.windsurf/rules/).
Architecture du système
knowledge-core/
├── .windsurf/
│ ├── rules/ ← Chargées automatiquement par Windsurf selon le contexte
│ │ ├── global.md ← alwaysApply: true (toujours chargée)
│ │ ├── fivem.md ← déclenchée si la conv parle de FiveM/Lua
│ │ ├── cybersecu.md ← déclenchée si la conv parle de sécurité
│ │ ├── site-web.md ← déclenchée si la conv parle de web/frontend
│ │ └── ia.md ← déclenchée si la conv parle d'IA/connaissances
│ └── workflows/
│ ├── knowledge-add.md ← /knowledge-add
│ └── exportk.md ← /exportk
├── validated/ ← Connaissances validées par domaine
│ ├── fivem/
│ ├── cybersecu/
│ ├── web-uiux/
│ └── ia/
├── inbox/ ← Zone temporaire avant validation
└── meta/
├── INDEX.md ← Catalogue auto-généré
├── TAXONOMY.yml ← Valeurs autorisées (domaines, types, phases...)
└── validators/
├── validate-all.py ← Pipeline complet en 1 commande
├── generate-rules.py ← Génère .windsurf/rules/ depuis validated/
├── extract-from-conversation.py ← Extrait connaissances depuis une conv
├── check-consistency.py
├── check-duplicates.py
├── check-expired.py
├── check-orphans.py
└── update-index.py
Comment Windsurf charge les connaissances
Chaque fichier dans .windsurf/rules/ a un frontmatter YAML :
---
description: "FiveM Lua - scripts serveur ESX QBCore anti-cheat inventory"
alwaysApply: false
---
alwaysApply: true→ chargé dans toutes les discussionsalwaysApply: false→ Windsurf décide selon ladescriptionet le contexte de la conv
La description contient les mots-clés déclencheurs.
Si tu parles de fivem, lua, esx → fivem.md est injecté dans le contexte.
Pipeline de mise à jour (1 commande)
python meta\validators\validate-all.py
Enchaîne automatiquement :
- Vérification schémas
- Détection doublons
- Vérification expirations
- Mise à jour INDEX.md
- Régénération des
.windsurf/rules/*.md
Flux pour ajouter une connaissance
Nouvelle connaissance
↓
Créer fichier .md dans validated/{domaine}/{type}/
↓
python meta\validators\validate-all.py
↓
Rules Windsurf régénérées automatiquement
↓
Dispo dans la prochaine discussion
Flux pour extraire depuis une conversation
Copier conv dans inbox/conv-export.txt
↓
python meta\validators\extract-from-conversation.py inbox\conv-export.txt --domain fivem
↓
Fichiers générés dans inbox/raw/ (avec checklist de validation)
↓
Review manuelle → déplacer vers validated/
↓
python meta\validators\validate-all.py
Commandes disponibles dans Windsurf
| Commande | Action |
|---|---|
/knowledge-add |
Ajouter une connaissance guidée |
/exportk |
Extraire connaissances depuis une conversation |
Règles strictes
- Chaque connaissance : ID unique
KNOW-{TYPE}-{NNN} - Date d'expiration max 6 mois
inbox/raw/vidé chaque semaine- Tout ajout passe par
validate-all.py