spb/cluster-skill
Public
HTML 57.2%
Shell 19.1%
Python 11.2%
CSS 7.4%
JavaScript 5.1%
1# Transférer les connaissances Claude Code et l'accès MacLustr sur un autre ordinateur23Un « opérateur » MacLustr = un Mac avec (1) l'accès réseau et SSH au cluster, (2) l'outillage `cluster-skill`, (3) les connaissances4Claude Code (instructions globales, mémoire, commandes). Les trois scripts de `operateur/` automatisent le transfert.56## Ce qui constitue la connaissance Claude Code sur cet ordinateur78| Élément | Emplacement | Rôle |9|---|---|---|10| Instructions globales | `~/.claude/CLAUDE.md` | inventaire, règles, procédure remote-first, tunnel, mld… chargé à chaque session |11| Mémoire persistante | `~/.claude/projects/-Users-<user>/memory/*.md` + `MEMORY.md` | faits appris au fil des sessions (dossier **lié au chemin du projet** : `-Users-simon-pierreboucher` = sessions lancées depuis `$HOME`) |12| Commandes | `~/.claude/commands/cluster*.md` | `/cluster`, `/cluster-status`, `/cluster-run`, `/cluster-compute`, `/cluster-deploy` |13| Réglages | `~/.claude/settings.json` | modèle, hooks, plugins |14| Serveurs MCP | `~/.claude.json` → `mcpServers` | **contiennent des jetons** (Apify, Tavily, Notion…) — export seulement avec `--mcp` |15| Accès | `~/.ssh/config` (alias des 29 Macs + BHS64 + gitsrv), `~/.ssh/maclustr-egress.sh`, clé ed25519 | la clé privée **ne se copie pas** : on en génère une sur le nouveau Mac et on l'autorise |16| Outillage | `~/Desktop/Cluster/cluster-skill` (lien `~/Desktop/cluster-skill`) | clone de `gitsrv:srv/git/cluster-skill.git` : wrappers `mld`, `mlt`, `mlmobile`, docs |1718## Prérequis réseau sur le nouveau Mac19201. **Tailscale** installé et connecté au **même tailnet** : les noms `*.maclustr.io` (GoDaddy) pointent sur les IP Tailscale `100.x` des nœuds. Si l'ACL du tailnet restreint les sources (le SSH inter-nœuds y est bloqué), autoriser la nouvelle machine dans la console Tailscale.212. Homebrew + `python3`, `rsync`, `jq` (installés par le script si absents). `pandoc`/`weasyprint` seulement pour régénérer les PDF.223. Même nom d'utilisateur macOS (`simon-pierreboucher`) recommandé : les chemins absolus des documents restent valables. Sinon le script réécrit `/Users/simon-pierreboucher` → nouveau `$HOME` dans CLAUDE.md, la mémoire et la config SSH.2324## Procédure2526**Sur l'ordinateur actuel (source)**27```bash28~/Desktop/cluster-skill/operateur/export-connaissances.sh [--mcp] [--vers-cluster-skill]29# → ~/Desktop/maclustr-operateur-<date>.tar.gz (0600)30# --mcp inclut les serveurs MCP et leurs jetons31# --vers-cluster-skill copie aussi CLAUDE.md + mémoire + commandes dans cluster-skill/operateur/connaissances/ et pousse sur spbgit32# (seule édition de cluster-skill autorisée depuis le laptop : c'est un export)33```34Transférer l'archive (AirDrop, clé USB, `scp` vers un nœud puis vers le nouveau Mac).3536**Sur le nouvel ordinateur**37```bash38# 1. clé + config SSH + Claude (sans réseau cluster) — depuis l'archive39tar -xzf maclustr-operateur-<date>.tar.gz -C /tmp/op && bash /tmp/op/operateur/installer-operateur.sh maclustr-operateur-<date>.tar.gz40# génère ~/.ssh/id_ed25519 si absent et affiche la clé publique à autoriser41```42**Sur l'ordinateur actuel** (ou n'importe quelle machine déjà autorisée, M1M32 compris) :43```bash44~/Desktop/cluster-skill/operateur/autoriser-operateur.sh "<clé publique affichée>" # 29 Macs + BHS64 (ubuntu) + gitsrv45```46**Sur le nouvel ordinateur**, relancer l'installeur : il clone `cluster-skill`, pose le lien `~/Desktop/cluster-skill`, vérifie `ssh M1M32` et `mld status`.47```bash48bash /tmp/op/operateur/installer-operateur.sh maclustr-operateur-<date>.tar.gz49```50Puis ouvrir Claude Code depuis `$HOME` (`cd ~ && claude`) : CLAUDE.md et la mémoire sont chargés.5152## Garder deux opérateurs cohérents5354- **Docs, wrappers, procédures** : vivent dans `cluster-skill` (spbgit) → `git pull` sur chaque Mac.55- **CLAUDE.md global et mémoire** : propres à chaque Mac. Après une session qui en a changé beaucoup, relancer `export-connaissances.sh --vers-cluster-skill` sur la machine source puis, sur l'autre, `installer-operateur.sh --depuis-cluster-skill` (importe depuis le clone, sans archive). Les mémoires ne sont pas fusionnées : la plus récente remplace (sauvegarde `~/.claude/backups/operateur-<date>/`).56- **Clés** : une clé par machine, toutes autorisées partout ; pour révoquer une machine, retirer sa ligne des `authorized_keys` (`autoriser-operateur.sh --retirer "<clé>"`).57