@reyanshgupta/ditto-cli 0.3.6 → 0.3.7
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 +17 -4
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -194,7 +194,9 @@ ditto-cli delete work --yes # removes credentials and sessions for good
|
|
|
194
194
|
ditto-cli list
|
|
195
195
|
ditto-cli status client-a # sign-in state for all six tools
|
|
196
196
|
ditto-cli paths client-a
|
|
197
|
-
ditto-cli sync client-a #
|
|
197
|
+
ditto-cli sync client-a # preserve configuration for one profile
|
|
198
|
+
ditto-cli sync --all # preserve it for every managed profile
|
|
199
|
+
ditto-cli sync --all --history # also backfill existing conversations
|
|
198
200
|
|
|
199
201
|
# Launch a tool, with short aliases where shown
|
|
200
202
|
ditto-cli claude client-a # or: cc
|
|
@@ -461,7 +463,7 @@ ditto-cli --json status client-a
|
|
|
461
463
|
}
|
|
462
464
|
```
|
|
463
465
|
|
|
464
|
-
`list`, `status`, `paths`, `create`, `rename`, `delete`, `default`, `workspace`, and `indicator` all answer in JSON. Errors become `{"error": "..."}` on stderr, and every failure exits 1. `shell-init` prints a script for a shell to read rather than a report, so `--json` has nothing to do there.
|
|
466
|
+
`list`, `status`, `paths`, `create`, `rename`, `delete`, `sync`, `default`, `workspace`, and `indicator` all answer in JSON. Errors become `{"error": "..."}` on stderr, and every failure exits 1. `shell-init` prints a script for a shell to read rather than a report, so `--json` has nothing to do there.
|
|
465
467
|
|
|
466
468
|
Running `ditto-cli` with no subcommand opens the picker, which needs an interactive terminal. Without one it exits 1 and names the commands to use instead, rather than failing on a terminal that was never there.
|
|
467
469
|
|
|
@@ -481,11 +483,12 @@ So creating a profile copies `~/.claude/settings.json` into it. What Ditto CLI i
|
|
|
481
483
|
From then on the profile's settings are its own. Change the model in one profile and the others keep theirs; a later `ditto-cli sync` fills in settings the profile has never answered and leaves the ones it has:
|
|
482
484
|
|
|
483
485
|
```bash
|
|
484
|
-
ditto-cli sync client-a # bring
|
|
486
|
+
ditto-cli sync client-a # bring one profile up to date
|
|
487
|
+
ditto-cli sync --all # bring every managed profile up to date
|
|
485
488
|
ditto-cli sync client-a --overwrite # your configuration wins outright
|
|
486
489
|
```
|
|
487
490
|
|
|
488
|
-
`sync` is also how profiles created before this behaviour existed catch up.
|
|
491
|
+
Naming a profile preserves configuration for that profile only; `--all` makes the scope every managed profile. `sync` is also how profiles created before this behaviour existed catch up, including tool directories added by a newer Ditto release.
|
|
489
492
|
|
|
490
493
|
## Skills, subagents, and everything else you set up once
|
|
491
494
|
|
|
@@ -502,12 +505,22 @@ A profile exists to be signed in as somebody else, not to be a different working
|
|
|
502
505
|
|
|
503
506
|
These are symbolic links, so a skill you write tomorrow is in every profile the moment you save it, with nothing to sync and no copies to drift apart. Everything else — `.claude.json`, `auth.json`, sessions, session artifacts, history, `agent.db` — stays inside the profile, which is the whole of what a profile keeps to itself. Prime Agent and Pi keep `models.json` private too, because custom provider definitions may contain literal API keys and secret headers.
|
|
504
507
|
|
|
508
|
+
Conversation history is not linked: chats can contain account- or client-specific work, and shared writable session stores would make every profile's future activity visible to every other profile. Existing Claude Code, Codex, opencode, OMP, Prime Agent, and Pi conversations can instead be copied once, without replacing anything already in the destination. Choose one profile explicitly or all managed profiles explicitly:
|
|
509
|
+
|
|
510
|
+
```bash
|
|
511
|
+
ditto-cli sync client-a --history
|
|
512
|
+
ditto-cli sync --all --history
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
After the copy, every tool keeps writing to that profile's own history store.
|
|
516
|
+
|
|
505
517
|
What is shared is a named list rather than everything-but-the-credentials. Ditto CLI learning about a new extension directory late costs you a missing feature; sharing a new credential file by accident would cost you the isolation the tool exists for.
|
|
506
518
|
|
|
507
519
|
Profiles created before this have real directories where the links go. `sync` reports those and leaves them alone; `--adopt` points them at yours, moving what was there aside as `<name>.before-ditto` rather than deleting it:
|
|
508
520
|
|
|
509
521
|
```bash
|
|
510
522
|
ditto-cli sync client-a # link what can be linked, report what cannot
|
|
523
|
+
ditto-cli sync --all # do that for every managed profile
|
|
511
524
|
ditto-cli sync client-a --adopt # replace the profile's own copies too
|
|
512
525
|
```
|
|
513
526
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reyanshgupta/ditto-cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.7",
|
|
4
4
|
"description": "Switch between Claude Code, Codex, opencode, OMP, and Prime Agent accounts",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"node": ">=18"
|
|
34
34
|
},
|
|
35
35
|
"optionalDependencies": {
|
|
36
|
-
"@reyanshgupta/ditto-cli-darwin-arm64": "0.3.
|
|
37
|
-
"@reyanshgupta/ditto-cli-darwin-x64": "0.3.
|
|
38
|
-
"@reyanshgupta/ditto-cli-linux-x64": "0.3.
|
|
39
|
-
"@reyanshgupta/ditto-cli-win32-x64": "0.3.
|
|
36
|
+
"@reyanshgupta/ditto-cli-darwin-arm64": "0.3.7",
|
|
37
|
+
"@reyanshgupta/ditto-cli-darwin-x64": "0.3.7",
|
|
38
|
+
"@reyanshgupta/ditto-cli-linux-x64": "0.3.7",
|
|
39
|
+
"@reyanshgupta/ditto-cli-win32-x64": "0.3.7"
|
|
40
40
|
}
|
|
41
41
|
}
|