smart_ide/docs/features/initial-rag-sync-4nkaiignore.md
Nicolas Cantu 69ab265560 feat: initial RAG sync with .4nkaiignore (extension 0.3, server 0.2)
**Motivations:**
- Seed AnythingLLM workspace from cloned repo using gitignore-style filters

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Template 4nkaiignore.default; server copies after clone; extension uploads via POST /api/v1/document/upload
- New commands /workspace-sync; settings initialSync*; dependency ignore

**Pages affectées:**
- extensions/anythingllm-workspaces/*
- services/repos-devtools-server/*
- docs/features/initial-rag-sync-4nkaiignore.md
2026-03-24 22:36:37 +01:00

36 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Synchronisation RAG initiale et `.4nkaiignore`
**Author:** 4NK
## Objectif
À la **création du clone** (ou chargement sync), disposer dun **workspace AnythingLLM** aligné sur le dépôt et importer une **première vague de fichiers** utiles au RAG, en excluant le bruit via un fichier **`.4nkaiignore`** (syntaxe **identique à `.gitignore`**).
## Comportement
1. **Serveur `repos-devtools-server`** : après `git clone` réussi, copie **`templates/4nkaiignore.default`** vers **`<repo>/.4nkaiignore`** si absent.
2. **Extension 0.3.0** : après `/repos-clone-sync`, `/repos-load-sync`, ou sur **`/workspace-sync <nom>`**, si loption **`anythingllm.initialSyncAfterClone`** nest pas à `false` :
- assure **`.4nkaiignore`** depuis le template bundlé si toujours absent ;
- parcourt le dépôt, applique règles de base + `.4nkaiignore` ;
- envoie chaque fichier accepté via **`POST /api/v1/document/upload`** avec **`addToWorkspaces`** = slug du workspace.
## Fichier type
- **`extensions/anythingllm-workspaces/templates/4nkaiignore.default`**
- **`services/repos-devtools-server/templates/4nkaiignore.default`** (même contenu ; à maintenir en parité).
Lutilisateur renomme / copie en **`.4nkaiignore`** à la racine du projet et adapte les règles.
## Prérequis AnythingLLM
Le **collecteur / processeur de documents** doit être joignable par linstance AnythingLLM ; sinon lupload API échoue avec le message renvoyé par le serveur.
## Modalités danalyse
- Compter les champs **`uploaded`**, **`skipped`**, **`errors`**, **`capped`**, **`dotfileCreated`** dans la section **Initial RAG sync** du panneau Dev tools.
- Vérifier les logs AnythingLLM / collector en cas déchec systématique des uploads.
## Modalités de déploiement
- Rebuild et redémarrage de **repos-devtools-server** ; repackaging / réinstallation de lextension **0.3.0+**.