claude-use 2.8.0 → 3.0.0

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.
Files changed (3) hide show
  1. package/README.md +46 -31
  2. package/dist/cli.cjs +12327 -11421
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -62,43 +62,57 @@ The full mechanics, including the merge algorithm, conditional sharing rules (ag
62
62
  ## CLI reference
63
63
 
64
64
  ```
65
+ claude-use <noun> <verb> [name] [options] # nouns: identity, profile, provider, rule
66
+
65
67
  claude-use identity add <name>
68
+ claude-use identity list [--json]
69
+ claude-use identity show <name> [--json]
70
+ claude-use identity set <name> [--default-profile <profile> | --no-default-profile] [--[no-]allow-ambient-credential]
71
+ claude-use identity remove <name> [--yes]
66
72
  claude-use identity use <name>
67
73
  claude-use @<name> # shorthand for `identity use <name>`
68
- claude-use identity list
69
- claude-use identity set-default-profile <identity> <profile>
70
- claude-use identity set <name> [--allow-ambient-credential | --no-allow-ambient-credential]
71
- claude-use identity resolve <name> # interactively resolve a retained superseded farm's conflicts
72
-
73
- claude-use profile create <name> [--extends <name>,<name>,...]
74
- claude-use profile list
75
- claude-use profile set-default <name>
76
- claude-use profile set <name> --category <cat>=<bool>[,<cat>=<bool>,...]
77
- claude-use profile set <name> --entry "<path>"=<bool>[,"<path>"=<bool>,...]
78
- claude-use profile set <name> [--skip-permissions] [--remote-control] [--headroom]
79
-
80
- claude-use provider add <name> --display-name <name> --base-url <url> --token-env <VAR> [--env KEY=VALUE]
81
- claude-use provider list
82
- claude-use provider show <name>
83
- claude-use provider remove <name>
84
-
85
- claude-use headroom status
86
-
87
- claude @<identity> --headroom # one launch routed through headroom
88
- claude --no-headroom # one launch routed direct, overriding every layer
89
-
90
- claude-use rules add <path> [--profile <name>] [--identity <name>]
91
- claude-use rules list
92
- claude-use rules remove <path>
93
-
94
- claude-use configure <identity> [path]
95
- claude-use check [path] [--identity <name>]
96
- claude-use doctor
97
- claude-use run [args...]
74
+ claude-use identity resolve-conflicts <name> # interactively resolve a retained superseded farm's conflicts
75
+
76
+ claude-use profile add [name] [--extends <profile>]... [--description <text>] # interactive with no options on a terminal
77
+ claude-use profile set <name> [--category <category>=<bool>]... [--entry <category>/<path>=<bool>]...
78
+ claude-use profile set <name> [--extends <profile>]... [--no-extends] [--description <text> | --no-description]
79
+ claude-use profile set <name> [--[no-]launch-skip-permissions] [--[no-]launch-remote-control] [--[no-]launch-headroom]
80
+ claude-use profile set <name> [--launch-provider <provider> | --no-launch-provider]
81
+ claude-use profile list [--json]
82
+ claude-use profile show <name> [--json]
83
+ claude-use profile remove <name> [--yes]
84
+ claude-use profile use <name> # the global default configuration profile
85
+
86
+ claude-use provider add <name> --display-name <name> --base-url <url> (--token-env <VAR> | --token-command <argv...>) [--auth-scheme <bearer|apiKey>] [--env KEY=VALUE]...
87
+ claude-use provider set <name> [--display-name <name>] [--base-url <url>] [--token-env <VAR> | --no-token-env] [--token-command <argv...> | --no-token-command] [--auth-scheme <bearer|apiKey>] [--env KEY=VALUE]... [--unset-env KEY]...
88
+ claude-use provider list [--json]
89
+ claude-use provider show <name> [--json]
90
+ claude-use provider remove <name> [--yes]
91
+
92
+ claude-use rule add <path> [--config-profile <profile>] [--identity <identity>]
93
+ claude-use rule set <path> [--config-profile <profile> | --no-config-profile] [--identity <identity> | --no-identity]
94
+ claude-use rule list [--json]
95
+ claude-use rule show <path> [--json]
96
+ claude-use rule remove <path> [--yes]
97
+
98
+ claude-use configure [path] [--identity <identity>]
99
+ claude-use check [path] [--identity <identity>] [--json] [--strict]
100
+ claude-use doctor [--json]
101
+ claude-use headroom status [--json]
102
+ claude-use completion <bash|zsh|fish>
98
103
  claude-use shim enable [--dir <path>] [--force]
99
104
  claude-use shim disable [--dir <path>] [--force]
105
+
106
+ claude-use run [@<identity>] [launch flags] [claude arguments]
107
+ # launch flags, recognised only before a `--` terminator:
108
+ # --identity <name> --config-profile <name> --provider <name> | --no-provider
109
+ # --category <category>=<bool> --share <category>/<path> --hide <category>/<path> (each repeatable)
110
+ # --[no-]skip-permissions --[no-]remote-control --[no-]headroom
111
+ claude @<identity> ... # the same, once `claude-use shim enable` has run
100
112
  ```
101
113
 
114
+ Every `list`, `show`, `check`, `doctor` and `headroom status` prints text by default and JSON with `--json`. Prompts appear only when standard input is a terminal; without one, a command that needs input fails with the option that supplies it (a `remove` needs `--yes`). Failures print as `claude-use: <message>` and exit 1, usage errors exit 2, a selected provider with no usable credential exits 64, and `CLAUDE_USE_DEBUG=1` adds stack traces to unexpected errors. `claude-use completion <bash|zsh|fish>` prints a shell completion script.
115
+
102
116
  `claude-use check [path]` resolves the full cascade for a directory without touching the farm, and is the primary way to answer "why is X shared or hidden here". `claude-use doctor` audits the whole `~/.claude-use` config graph at once: every identity, profile, `extends` chain, and directory rule, plus whether the right `claude-use` is the one actually on `PATH`.
103
117
 
104
118
  The full per-setting flag and environment-variable table (global, one-off, and directory-scoped forms of every setting), and the file-precedence rules `configure` uses when writing a toggle, are in [docs/cli-reference.md](docs/cli-reference.md).
@@ -112,7 +126,8 @@ src/
112
126
  cli.ts # entrypoint: dispatches on invoked name to launcher vs identity/profile-manager subcommands
113
127
  launcher.ts # runLauncher: thin orchestration over launcher/*
114
128
  launcher/ # argv parsing, the ambient-credential guard, identity/profile resolution, farm resync
115
- identityManager.ts, configProfiles.ts, directoryRules.ts # `claude-use identity`/`profile`/`rules` subcommands
129
+ identityManager.ts, configProfiles.ts, providers.ts, directoryRules.ts # the `identity`/`profile`/`provider`/`rule` nouns
130
+ program.ts, completion.ts # buildProgram (the whole command tree, side-effect free) and generated shell completion
116
131
  configure.ts, check.ts, doctor.ts, claudeShim.ts # interactive picker, dry-run inspector, whole-tree audit, `claude` shim
117
132
  resolve/ # the pure cascade resolver: flatten, decide, extends, walk, plan, reconcile
118
133
  config/ # Zod schemas, cosmiconfig loading, category classification, atomic JSON store