**Motivations:** - Single canonical documentation tree under docs/; reduce drift between README copies. **Evolutions:** - Add docs/repo/ with operational guides (cron, systemd, projects, logs, docv, ia_dev, services, scripts, extension). - Replace scattered README.md files with pointers to docs/repo/*.md. - Refresh docs/README.md index and cross-links across docs/, .cursor rules/agents. - Bump ia_dev submodule to matching doc pointer commits.
52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
# anythingllm-pull-sync (`scripts/anythingllm-pull-sync/`)
|
||
|
||
S’exécute après **`git pull`** via le hook Git **`post-merge`** : envoie les **fichiers modifiés** entre `ORIG_HEAD` et `HEAD` vers un workspace AnythingLLM (`POST /api/v1/document/upload`).
|
||
|
||
## Prérequis
|
||
|
||
- Processeur de documents AnythingLLM en ligne.
|
||
- Mêmes règles **`.4nkaiignore`** que l’extension VS Code (racine du dépôt cible).
|
||
- Variables d’environnement ou fichier **`repo/.anythingllm.json`** (`workspaceSlug`).
|
||
|
||
## Variables
|
||
|
||
| Variable | Obligatoire | Description |
|
||
|----------|-------------|-------------|
|
||
| `ANYTHINGLLM_BASE_URL` | oui | Sans `/` final |
|
||
| `ANYTHINGLLM_API_KEY` | oui | Clé API développeur |
|
||
| `ANYTHINGLLM_WORKSPACE_SLUG` | non* | Slug du workspace |
|
||
| `ANYTHINGLLM_SYNC_MAX_FILES` | non | Défaut `200` |
|
||
| `ANYTHINGLLM_SYNC_MAX_FILE_BYTES` | non | Défaut `5242880` |
|
||
|
||
\* Si absent : lecture de **`repo/.anythingllm.json`**.
|
||
|
||
Fichier optionnel **`~/.config/4nk/anythingllm-sync.env`** sourcé par le hook généré.
|
||
|
||
## Installation du hook sur un clone
|
||
|
||
```bash
|
||
/path/vers/smart_ide/scripts/install-anythingllm-post-merge-hook.sh /path/vers/repo-cible
|
||
```
|
||
|
||
Une fois par machine, depuis ce dépôt :
|
||
|
||
```bash
|
||
cd scripts/anythingllm-pull-sync && npm install
|
||
```
|
||
|
||
## Comportement
|
||
|
||
- Uniquement les chemins de `git diff --name-only --diff-filter=ACMRT ORIG_HEAD HEAD`.
|
||
- Si `ORIG_HEAD` ou config manque → **exit 0** avec message (ne bloque pas le pull).
|
||
- Pas de suppression miroir des fichiers supprimés dans AnythingLLM dans cette version (upload seul).
|
||
|
||
## Désinstallation
|
||
|
||
```bash
|
||
rm -f /path/vers/repo/.git/hooks/post-merge
|
||
```
|
||
|
||
## Liens
|
||
|
||
[features/anythingllm-pull-sync-after-pull.md](../features/anythingllm-pull-sync-after-pull.md), [anythingllm-workspaces.md](../anythingllm-workspaces.md), [extension-anythingllm-workspaces.md](./extension-anythingllm-workspaces.md).
|