migrate-workspace
Référence de la CLI pour la commande apothem migrate-workspace.
Migre un espace de travail hérité, propre à chaque environnement, vers la
disposition partagée .apothem.
Synopsis
apothem migrate-workspace [--project PATH] [--dry-run]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]migrate-workspace regroupe un répertoire de données hérité propre à chaque
environnement (.apothem/<harness>/...) et une arborescence .plans/ héritée
dans l'unique répertoire de travail partagé
.apothem/{plans,memory,learning,contexts}. La base est la racine --project
résolue lorsqu'elle est fournie, sinon le répertoire de travail courant (la
valeur par défaut locale au projet).
Les magasins de mémoire, de contextes et d'apprentissage propres à chaque
environnement fusionnent par union dans le magasin partagé, par id ; les signaux
d'apprentissage sont concaténés puis dédupliqués ; un enregistrement en conflit
(même id, corps différent) est ignoré, jamais écrasé. Une arborescence
.plans/ héritée est déplacée sous .apothem/plans/. Chaque source consommée
est d'abord sauvegardée. La migration est idempotente — la relancer sur une
arborescence déjà migrée n'a aucun effet.
Options
| Option | Description |
|---|---|
--project PATH | Racine de projet pour les adaptateurs à portée de projet qui se matérialisent dans une arborescence de projet plutôt que dans un répertoire de configuration à portée d'utilisateur. |
--dry-run | Détecte la disposition héritée et signale ce qui serait migré, sans écrire. |
--quiet, -q | Supprime la sortie informative ; seules les erreurs sont émises. |
--verbose, -v | Émet une sortie de diagnostic supplémentaire. |
--format plain|json | Format de sortie (par défaut : plain). |
--json | Raccourci de --format json. |
--no-color | Désactive les codes de couleur ANSI dans la sortie. |
-h, --help | Affiche l'aide et quitte. |
Sortie JSON
L'enveloppe --json porte le résultat de la migration. Pour une migration
terminée, status vaut success et la charge utile indique le nombre
d'enregistrements fusionnés, si une arborescence .plans/ a été déplacée, la
racine de sauvegarde et les éventuels conflits ignorés. Une invocation
--dry-run indique plutôt legacy_layout_detected.
{
"schema_version": 1,
"command": "migrate-workspace",
"status": "success",
"base": "/home/example/project",
"migrated": true,
"backup_root": "/home/example/project/.apothem/backups/migrate-20260101T120000Z",
"memory_merged": 12,
"contexts_merged": 4,
"learning_merged": 7,
"conflicts": [],
"plans_moved": true,
"notes": []
}Lorsqu'aucune disposition héritée n'est présente, migrated vaut false et
rien n'est écrit. L'enveloppe --dry-run omet les décomptes du résultat et
n'indique que la détection :
{
"schema_version": 1,
"command": "migrate-workspace",
"base": "/home/example/project",
"dry_run": true,
"legacy_layout_detected": false
}Exemples
apothem migrate-workspace
apothem migrate-workspace --project .
apothem migrate-workspace --dry-run --jsonCodes de sortie
| Code | Signification |
|---|---|
| 0 | Migration terminée, ou aucune disposition héritée trouvée (rien à migrer) |
| 1 | Erreur attendue — une erreur de validation ou de racine de projet, ou un échec de la migration |
| 64 | Erreur d'utilisation : une option ou une commande inconnue, ou une valeur d'option manquante ou invalide. Sous --json, l'erreur est une enveloppe JSON avec le code cli.usage. |
Voir aussi
- apothem install — matérialise un environnement à partir du profil partagé
- apothem status — signale l'état d'installation, de vérification et de dérive
- Discipline des plans — la disposition partagée
.apothem/plans/