Skip to content
Apothem
Référence de la CLI

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

OptionDescription
--project PATHRacine 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-runDétecte la disposition héritée et signale ce qui serait migré, sans écrire.
--quiet, -qSupprime la sortie informative ; seules les erreurs sont émises.
--verbose, -vÉmet une sortie de diagnostic supplémentaire.
--format plain|jsonFormat de sortie (par défaut : plain).
--jsonRaccourci de --format json.
--no-colorDésactive les codes de couleur ANSI dans la sortie.
-h, --helpAffiche 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 --json

Codes de sortie

CodeSignification
0Migration terminée, ou aucune disposition héritée trouvée (rien à migrer)
1Erreur attendue — une erreur de validation ou de racine de projet, ou un échec de la migration
64Erreur 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

On this page