@propel-code/codex-mover 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -34
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# codex-mover
|
|
2
2
|
|
|
3
|
-
`codex-mover` packages portable Codex and Claude Code history
|
|
3
|
+
`codex-mover` packages portable Codex and Claude Code history into a tarball and merges it into another machine's local data.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
It is meant for moving useful context between machines without copying machine-local or account-local state.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Run without installing:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
npx @propel-code/codex-mover --help
|
|
@@ -17,10 +17,9 @@ Install globally:
|
|
|
17
17
|
```bash
|
|
18
18
|
npm install -g @propel-code/codex-mover
|
|
19
19
|
codex-mover --help
|
|
20
|
-
codeport --help
|
|
21
20
|
```
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
Run with Bun:
|
|
24
23
|
|
|
25
24
|
```bash
|
|
26
25
|
bunx @propel-code/codex-mover --help
|
|
@@ -33,56 +32,52 @@ codex-mover pack [--output ./codex-mover-archive.tar.gz] [--provider codex|claud
|
|
|
33
32
|
codex-mover merge --input ./codex-mover-archive.tar.gz [--provider codex|claude|all] [--path-map /old=/new]
|
|
34
33
|
```
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
Commands print a JSON summary to stdout.
|
|
36
|
+
|
|
37
|
+
### Examples
|
|
37
38
|
|
|
38
39
|
```bash
|
|
39
|
-
codex-mover pack --output ./
|
|
40
|
-
codex-mover merge --input ./
|
|
41
|
-
codex-mover merge --input ./
|
|
40
|
+
codex-mover pack --output ./context.tar.gz
|
|
41
|
+
codex-mover merge --input ./context.tar.gz
|
|
42
|
+
codex-mover merge --input ./context.tar.gz --provider codex
|
|
43
|
+
codex-mover merge --input ./context.tar.gz --path-map /old/workspace=/new/workspace
|
|
42
44
|
```
|
|
43
45
|
|
|
44
|
-
Options
|
|
45
|
-
|
|
46
|
-
- `--input`
|
|
47
|
-
|
|
48
|
-
- `--
|
|
49
|
-
|
|
50
|
-
- `--
|
|
51
|
-
|
|
52
|
-
- `--
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Override the Claude config directory.
|
|
56
|
-
- `--path-map OLD=NEW`
|
|
57
|
-
Rewrite stored project paths during merge. Repeat this flag when multiple roots moved.
|
|
58
|
-
- `--help`
|
|
59
|
-
Print usage information.
|
|
60
|
-
|
|
61
|
-
## What It Copies
|
|
46
|
+
### Options
|
|
47
|
+
|
|
48
|
+
- `--input` Archive path to merge in `merge` mode.
|
|
49
|
+
- `--output`, `-o` Archive path to create in `pack` mode. Defaults to `./codex-mover-<timestamp>.tar.gz`.
|
|
50
|
+
- `--provider codex|claude|all` Package or merge a single provider or both. Default is `all`.
|
|
51
|
+
- `--codex-home PATH` Override the Codex home directory. Otherwise `codex-mover` uses `$CODEX_HOME` or `~/.codex`.
|
|
52
|
+
- `--claude-config-dir PATH` Override the Claude config directory. Otherwise `codex-mover` uses `$CLAUDE_CONFIG_DIR`, `~/.claude`, or `~/.config/claude`.
|
|
53
|
+
- `--path-map OLD=NEW` Rewrite stored project paths during merge. Repeat this flag when multiple roots moved.
|
|
54
|
+
- `--help`, `-h` Print usage information.
|
|
55
|
+
|
|
56
|
+
## What Gets Moved
|
|
62
57
|
|
|
63
58
|
By default, `codex-mover` includes portable history and context:
|
|
64
59
|
|
|
65
|
-
- Codex: `sessions/`, `archived_sessions/`, `history.jsonl`, `session_index.jsonl`
|
|
60
|
+
- Codex history: `sessions/`, `archived_sessions/`, `history.jsonl`, `session_index.jsonl`
|
|
66
61
|
- Codex context: `memories/`, `automations/`, `AGENTS.md`, `rules/`, `policy/`, `skills/`
|
|
67
62
|
- Claude Code: `projects/`, `history.jsonl`, `todos/`
|
|
68
63
|
|
|
69
|
-
## What
|
|
64
|
+
## What Stays Local
|
|
70
65
|
|
|
71
|
-
By default, `codex-mover` excludes machine- and account-local state:
|
|
66
|
+
By default, `codex-mover` excludes machine-local and account-local state:
|
|
72
67
|
|
|
73
68
|
- Codex: `auth.json`, `config.toml`, caches, logs, sqlite state, shell snapshots, temp files, vendor imports, worktrees
|
|
74
69
|
- Claude Code: backups, caches, debug logs, plugins, `settings.json`, shell snapshots, stats caches
|
|
75
70
|
|
|
76
71
|
## Merge Behavior
|
|
77
72
|
|
|
78
|
-
- JSONL history files are merged by unique line content.
|
|
79
|
-
-
|
|
80
|
-
-
|
|
73
|
+
- JSONL history files are merged by unique line content.
|
|
74
|
+
- Session JSONL files prefer the imported copy when both sides identify the same session.
|
|
75
|
+
- `--path-map` rewrites Claude project paths and stored `cwd` and `project` references during merge.
|
|
76
|
+
- Conflicting non-appendable files are preserved as `*.imported-<bundle>` siblings instead of overwriting local data.
|
|
81
77
|
|
|
82
78
|
## Development
|
|
83
79
|
|
|
84
80
|
```bash
|
|
85
|
-
cd /Users/tony/dev/codex-mover
|
|
86
81
|
bun install
|
|
87
82
|
bun test
|
|
88
83
|
bun run typecheck
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@propel-code/codex-mover",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Package and merge portable Codex and Claude Code history/context between machines.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "bun@1.3.9",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"package.json"
|
|
12
12
|
],
|
|
13
13
|
"bin": {
|
|
14
|
-
"codex-mover": "
|
|
15
|
-
"codeport": "
|
|
14
|
+
"codex-mover": "dist/bin.js",
|
|
15
|
+
"codeport": "dist/bin.js"
|
|
16
16
|
},
|
|
17
17
|
"scripts": {
|
|
18
18
|
"build": "tsc -p tsconfig.build.json",
|