myshell-tools 2.1.0 → 2.2.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.
- package/CHANGELOG.md +6 -0
- package/README.md +39 -5
- package/dist/interface/menu.js +50 -11
- package/dist/interface/menu.js.map +1 -1
- package/dist/providers/install.d.ts +34 -0
- package/dist/providers/install.js +68 -0
- package/dist/providers/install.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,12 @@ and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.
|
|
|
11
11
|
- Cross-OS CI execution (requires a public remote).
|
|
12
12
|
- First npm publish.
|
|
13
13
|
|
|
14
|
+
## [2.2.0]
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- **Frictionless `npx myshell-tools` first-run setup**: detects missing provider CLIs and offers to install them (Claude Code / Codex) with one keypress (never silent), then offers sign-in **only for providers not already authenticated** (no double login). One command from nothing to ready.
|
|
18
|
+
- README is now npx-first.
|
|
19
|
+
|
|
14
20
|
## [2.1.0]
|
|
15
21
|
|
|
16
22
|
### Added
|
package/README.md
CHANGED
|
@@ -4,7 +4,33 @@
|
|
|
4
4
|
|
|
5
5
|
`myshell-tools` routes each task to the *cheapest* model likely to succeed, runs it on your real codebase, optionally has a **different vendor** review the result, and shows you exactly what it did and what it truly cost — with **no fabricated data, ever**.
|
|
6
6
|
|
|
7
|
-
> **Status: `2.1.0` — honest, tested, and real.** Both the Claude and Codex paths work, and provider auth is detected for real.
|
|
7
|
+
> **Status: `2.1.0` — honest, tested, and real.** Both the Claude and Codex paths work, and provider auth is detected for real.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Quickstart — zero install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx myshell-tools
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
That's it. `npx` fetches the package, runs the interactive setup, and:
|
|
18
|
+
|
|
19
|
+
1. **Detects** which provider CLIs (Claude Code / Codex) are already installed.
|
|
20
|
+
2. **Offers to install** any missing ones — one keypress (`Enter` to install, `n` to skip). It never installs anything silently; consent is always required.
|
|
21
|
+
3. **Offers to sign you in** to providers that are installed but not yet authenticated.
|
|
22
|
+
4. Drops you into the control-panel menu, ready to use.
|
|
23
|
+
|
|
24
|
+
On subsequent runs `npx myshell-tools` goes straight to the menu (setup only runs once).
|
|
25
|
+
|
|
26
|
+
### Install once (optional)
|
|
27
|
+
|
|
28
|
+
If you prefer a permanent global install:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm install -g myshell-tools
|
|
32
|
+
myshell-tools
|
|
33
|
+
```
|
|
8
34
|
|
|
9
35
|
---
|
|
10
36
|
|
|
@@ -22,15 +48,23 @@ Using one frontier model for everything is wasteful (renaming a variable doesn't
|
|
|
22
48
|
## Requirements
|
|
23
49
|
|
|
24
50
|
- **Node.js ≥ 20** (the CLI itself; tests require Node ≥ 22).
|
|
25
|
-
- At least one provider CLI
|
|
26
|
-
- **Claude Code** — `npm install -g @anthropic-ai/claude-code
|
|
27
|
-
- **Codex** — `npm install -g @openai/codex
|
|
51
|
+
- At least one provider CLI. `npx myshell-tools` will **offer to install** them for you on first run — or you can install manually:
|
|
52
|
+
- **Claude Code** — `npm install -g @anthropic-ai/claude-code`, then sign in when prompted.
|
|
53
|
+
- **Codex** — `npm install -g @openai/codex`, then `codex login`.
|
|
28
54
|
|
|
29
55
|
You need **one** to start; install **both** to unlock cross‑vendor review.
|
|
30
56
|
|
|
31
57
|
---
|
|
32
58
|
|
|
33
|
-
## Install
|
|
59
|
+
## Install options
|
|
60
|
+
|
|
61
|
+
| Method | Command | Notes |
|
|
62
|
+
|--------|---------|-------|
|
|
63
|
+
| Zero-install (recommended) | `npx myshell-tools` | Fetches, runs, and offers to set up providers on first run |
|
|
64
|
+
| Global install | `npm install -g myshell-tools` then `myshell-tools` | Faster on subsequent runs |
|
|
65
|
+
| From source | See below | For development |
|
|
66
|
+
|
|
67
|
+
### From source
|
|
34
68
|
|
|
35
69
|
```bash
|
|
36
70
|
git clone <this-repo>
|
package/dist/interface/menu.js
CHANGED
|
@@ -20,6 +20,7 @@ import { saveConfig } from '../infra/config.js';
|
|
|
20
20
|
import { readLedger } from '../infra/ledger.js';
|
|
21
21
|
import { summarizeSpend, formatUsd } from '../infra/insights.js';
|
|
22
22
|
import { detectEnvironment, getInstallCommand } from '../providers/detect.js';
|
|
23
|
+
import { installProvider, installCommandFor } from '../providers/install.js';
|
|
23
24
|
import { DEFAULT_POLICY, POLICY_PRESETS } from '../core/policy.js';
|
|
24
25
|
import { runTask } from './run.js';
|
|
25
26
|
import { runLogin } from '../commands/login.js';
|
|
@@ -195,11 +196,55 @@ function createLineReader(rl) {
|
|
|
195
196
|
// Welcome screen (first run)
|
|
196
197
|
// ---------------------------------------------------------------------------
|
|
197
198
|
async function runWelcome(ctx, out, readLine, mutableConfig) {
|
|
198
|
-
|
|
199
|
+
// Use the mutable env so re-detection after installs is visible downstream.
|
|
200
|
+
let env = ctx.env;
|
|
201
|
+
const headerLines = renderHeaderLines(env, ctx.version);
|
|
199
202
|
out.write('\n' + box(`🧠 myshell-tools v${ctx.version} — Setup`, headerLines) + '\n\n');
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
+
// ---- Offer to install any missing provider --------------------------------
|
|
204
|
+
// Consent is required: we ask once per missing provider. Enter = yes, n = skip.
|
|
205
|
+
const providers = ['claude', 'codex'];
|
|
206
|
+
let didInstallAny = false;
|
|
207
|
+
for (const id of providers) {
|
|
208
|
+
const ps = env[id];
|
|
209
|
+
if (ps.installed)
|
|
210
|
+
continue;
|
|
211
|
+
const pkg = id === 'claude' ? '@anthropic-ai/claude-code' : '@openai/codex';
|
|
212
|
+
out.write(`Install ${id} (${pkg})? [Enter] yes · [n] no\n`);
|
|
213
|
+
out.write('> ');
|
|
214
|
+
const ans = await readLine();
|
|
215
|
+
// EOF or 'n'/'no' → skip; anything else (including '') → yes
|
|
216
|
+
const skip = ans === null || ans.toLowerCase() === 'n' || ans.toLowerCase() === 'no';
|
|
217
|
+
if (!skip) {
|
|
218
|
+
const ok = await installProvider(id, out);
|
|
219
|
+
if (ok) {
|
|
220
|
+
didInstallAny = true;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
out.write(`Skipping ${id} install. You can run it yourself: ${installCommandFor(id)}\n`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// ---- Re-detect if anything was installed so sign-in offers are accurate --
|
|
228
|
+
if (didInstallAny) {
|
|
229
|
+
env = await detectEnvironment();
|
|
230
|
+
}
|
|
231
|
+
// ---- Offer sign-in for installed-but-unauthenticated providers -----------
|
|
232
|
+
for (const id of providers) {
|
|
233
|
+
const ps = env[id];
|
|
234
|
+
if (!ps.installed || ps.authenticated)
|
|
235
|
+
continue;
|
|
236
|
+
out.write(`\nSign in to ${id} now? [Enter] yes · [n] no\n`);
|
|
237
|
+
out.write('> ');
|
|
238
|
+
const ans = await readLine();
|
|
239
|
+
const skip = ans === null || ans.toLowerCase() === 'n' || ans.toLowerCase() === 'no';
|
|
240
|
+
if (!skip) {
|
|
241
|
+
await runLogin(out, id);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// ---- Mode / default-shell options ----------------------------------------
|
|
245
|
+
out.write('\n');
|
|
246
|
+
out.write(' [c] Customize mode\n');
|
|
247
|
+
out.write(' [Enter] Continue\n\n');
|
|
203
248
|
out.write('> ');
|
|
204
249
|
const key = await readLine();
|
|
205
250
|
// EOF during setup — save bare onboarded config and return
|
|
@@ -213,13 +258,7 @@ async function runWelcome(ctx, out, readLine, mutableConfig) {
|
|
|
213
258
|
return saved;
|
|
214
259
|
}
|
|
215
260
|
let updated = mutableConfig;
|
|
216
|
-
if (key === '
|
|
217
|
-
const loginCode = await runLogin(out);
|
|
218
|
-
if (loginCode !== 0) {
|
|
219
|
-
out.write('[warn] Login did not complete cleanly.\n');
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
else if (key === 'c') {
|
|
261
|
+
if (key === 'c') {
|
|
223
262
|
updated = await runModeSelect(updated, out, readLine);
|
|
224
263
|
}
|
|
225
264
|
// [Enter] or anything else → fall through to save & go
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/interface/menu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/interface/menu.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/providers/install.ts — One-command provider install helper.
|
|
3
|
+
*
|
|
4
|
+
* Provides the install command string and an async installer that delegates to
|
|
5
|
+
* `npm install -g` via execa. The user MUST confirm before this module runs
|
|
6
|
+
* anything — consent is enforced by the caller (runWelcome in menu.ts).
|
|
7
|
+
*
|
|
8
|
+
* Honesty Contract:
|
|
9
|
+
* - Never claims success unless `npm install -g` exited with code 0.
|
|
10
|
+
* - On failure, prints the exact manual command the user can run themselves.
|
|
11
|
+
* - Never throws — all errors are caught and reported via OutputSink.
|
|
12
|
+
* - No digit-% literals.
|
|
13
|
+
*/
|
|
14
|
+
import type { OutputSink } from '../interface/render.js';
|
|
15
|
+
import type { ProviderId } from './port.js';
|
|
16
|
+
/**
|
|
17
|
+
* Return the `npm install -g <pkg>` command string for a provider.
|
|
18
|
+
*
|
|
19
|
+
* Pure, I/O-free — safe to call in tests without spawning anything.
|
|
20
|
+
*/
|
|
21
|
+
export declare function installCommandFor(id: ProviderId): string;
|
|
22
|
+
/**
|
|
23
|
+
* Run `npm install -g <pkg>` for the given provider, streaming output to the
|
|
24
|
+
* terminal via `stdio:'inherit'`.
|
|
25
|
+
*
|
|
26
|
+
* @param id - The provider to install ('claude' or 'codex').
|
|
27
|
+
* @param out - OutputSink for status messages (not for npm's own stdout/stderr,
|
|
28
|
+
* which flow directly to the terminal via stdio:'inherit').
|
|
29
|
+
* @returns `true` if the install exited with code 0, `false` otherwise.
|
|
30
|
+
*
|
|
31
|
+
* Never throws. On failure, writes the manual command to `out` so the user
|
|
32
|
+
* can run it themselves.
|
|
33
|
+
*/
|
|
34
|
+
export declare function installProvider(id: ProviderId, out: OutputSink): Promise<boolean>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/providers/install.ts — One-command provider install helper.
|
|
3
|
+
*
|
|
4
|
+
* Provides the install command string and an async installer that delegates to
|
|
5
|
+
* `npm install -g` via execa. The user MUST confirm before this module runs
|
|
6
|
+
* anything — consent is enforced by the caller (runWelcome in menu.ts).
|
|
7
|
+
*
|
|
8
|
+
* Honesty Contract:
|
|
9
|
+
* - Never claims success unless `npm install -g` exited with code 0.
|
|
10
|
+
* - On failure, prints the exact manual command the user can run themselves.
|
|
11
|
+
* - Never throws — all errors are caught and reported via OutputSink.
|
|
12
|
+
* - No digit-% literals.
|
|
13
|
+
*/
|
|
14
|
+
import { execa } from 'execa';
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Package map
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
/** npm package name for each provider. */
|
|
19
|
+
const PACKAGES = {
|
|
20
|
+
claude: '@anthropic-ai/claude-code',
|
|
21
|
+
codex: '@openai/codex',
|
|
22
|
+
};
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// Public API
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
/**
|
|
27
|
+
* Return the `npm install -g <pkg>` command string for a provider.
|
|
28
|
+
*
|
|
29
|
+
* Pure, I/O-free — safe to call in tests without spawning anything.
|
|
30
|
+
*/
|
|
31
|
+
export function installCommandFor(id) {
|
|
32
|
+
const pkg = PACKAGES[id];
|
|
33
|
+
return `npm install -g ${pkg}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Run `npm install -g <pkg>` for the given provider, streaming output to the
|
|
37
|
+
* terminal via `stdio:'inherit'`.
|
|
38
|
+
*
|
|
39
|
+
* @param id - The provider to install ('claude' or 'codex').
|
|
40
|
+
* @param out - OutputSink for status messages (not for npm's own stdout/stderr,
|
|
41
|
+
* which flow directly to the terminal via stdio:'inherit').
|
|
42
|
+
* @returns `true` if the install exited with code 0, `false` otherwise.
|
|
43
|
+
*
|
|
44
|
+
* Never throws. On failure, writes the manual command to `out` so the user
|
|
45
|
+
* can run it themselves.
|
|
46
|
+
*/
|
|
47
|
+
export async function installProvider(id, out) {
|
|
48
|
+
const pkg = PACKAGES[id];
|
|
49
|
+
out.write(`\nInstalling ${pkg} … (this can take a minute)\n`);
|
|
50
|
+
try {
|
|
51
|
+
const result = await execa('npm', ['install', '-g', pkg], {
|
|
52
|
+
stdio: 'inherit',
|
|
53
|
+
reject: false,
|
|
54
|
+
});
|
|
55
|
+
if (result.exitCode === 0) {
|
|
56
|
+
out.write(`✓ ${id} installed.\n`);
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
out.write(`✗ install failed — run it yourself: ${installCommandFor(id)}\n`);
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Spawn failure (e.g. npm not found) — still honest, never rethrows.
|
|
64
|
+
out.write(`✗ install failed — run it yourself: ${installCommandFor(id)}\n`);
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/providers/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAI9B,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,0CAA0C;AAC1C,MAAM,QAAQ,GAA+B;IAC3C,MAAM,EAAE,2BAA2B;IACnC,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAc;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzB,OAAO,kBAAkB,GAAG,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAc,EAAE,GAAe;IACnE,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzB,GAAG,CAAC,KAAK,CAAC,gBAAgB,GAAG,+BAA+B,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;YACxD,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,uCAAuC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;QACrE,GAAG,CAAC,KAAK,CAAC,uCAAuC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|