smart_ide/docs/features/anythingllm-pull-sync-after-pull.md
Nicolas Cantu 088eab84b7 Platform docs, services, ia_dev submodule, smart_ide project config
- Add ia_dev submodule (projects/smart_ide on forge 4nk)
- Document APIs, orchestrator, gateway, local-office, rollout
- Add systemd/scripts layout; relocate setup scripts
- Remove obsolete nginx/enso-only docs from this repo scope
2026-04-03 16:07:58 +02:00

34 lines
1.8 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.

# AnythingLLM — synchronisation après `git pull`
## Objectif
Déclencher un envoi vers AnythingLLM des fichiers **modifiés ou ajoutés** par un `git pull` (merge fast-forward ou merge classique), sans action manuelle dans léditeur.
## Impacts
- Chaque dépôt concerné peut installer un hook Git **`post-merge`** qui appelle `scripts/anythingllm-pull-sync/sync.mjs`.
- Les mêmes exclusions que **`.4nkaiignore`** (et quelques motifs système) sappliquent.
- Les suppressions ou renommages ne sont pas reflétés comme suppressions côté AnythingLLM dans cette version (upload uniquement).
## Modifications (dépôt smart_ide)
- `scripts/anythingllm-pull-sync/` : script Node (ESM), dépendance `ignore`, `package.json`, `README.md`.
- `scripts/install-anythingllm-post-merge-hook.sh` : pose le hook dans `.git/hooks/post-merge` avec le chemin absolu vers `sync.mjs`.
## Configuration par dépôt
- Fichier optionnel **`.anythingllm.json`** à la racine : `{ "workspaceSlug": "<slug>" }`.
- Ou variable denvironnement **`ANYTHINGLLM_WORKSPACE_SLUG`** (priorité documentée dans le README du script).
## Modalités de déploiement
1. Sur la machine de développement : `npm install` dans `scripts/anythingllm-pull-sync`.
2. Créer `~/.config/4nk/anythingllm-sync.env` avec `ANYTHINGLLM_BASE_URL` et `ANYTHINGLLM_API_KEY` (ne pas commiter la clé).
3. Exécuter `install-anythingllm-post-merge-hook.sh <chemin-du-repo>` pour chaque dépôt à synchroniser.
4. Sassurer quAnythingLLM (collector) est joignable depuis cette machine.
## Modalités danalyse
- Messages sur **stderr** : `uploaded=`, `skipped=`, `errors=`, détail des erreurs dupload (tronqué au-delà de 20 lignes).
- Si `ORIG_HEAD` est absent, ou si URL / clé / slug manquent : message explicite et **code de sortie 0** pour ne pas bloquer le pull.