@getmikie/cli 1.1.127 → 1.1.129

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 CHANGED
@@ -9,7 +9,7 @@ npx --yes --ignore-scripts --registry=https://registry.npmjs.org @getmikie/cli@1
9
9
  For a persistent command path on Windows PowerShell:
10
10
 
11
11
  ```powershell
12
- npm.cmd install --global @getmikie/cli@1.1.108 --allow-scripts=@getmikie/cli --registry=https://registry.npmjs.org
12
+ npm.cmd install --global @getmikie/cli@1.1.108 --registry=https://registry.npmjs.org
13
13
  ```
14
14
 
15
15
  Mikie does not change your PowerShell execution policy. Keep the exact package
@@ -19,12 +19,13 @@ incorrectly targets the current directory.
19
19
  For a persistent command path on macOS or Linux:
20
20
 
21
21
  ```sh
22
- npm install --global @getmikie/cli@1.1.108 --allow-scripts=@getmikie/cli --registry=https://registry.npmjs.org
22
+ npm install --global @getmikie/cli@1.1.108 --registry=https://registry.npmjs.org
23
23
  ```
24
24
 
25
- These persistent npm commands allow only `@getmikie/cli`'s reconciliation
26
- script and pin the public npm registry. npm 11.5.1 or newer is required for
27
- `--allow-scripts`; the temporary `npx` command above keeps scripts disabled.
25
+ Keep `--global`: Mikie is a command-line tool, not a project dependency.
26
+ The package has no npm install script, so there is nothing to allow; the
27
+ first `mikie` command finishes setting up the runtime and client hooks.
28
+ These commands pin the public npm registry.
28
29
  The public OS installers additionally authenticate exact wrapper
29
30
  and native tarball bytes, install them offline, and explicitly run only Mikie's
30
31
  authenticated reconciliation script.
package/bin/mikie.mjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { createRequire } from "node:module";
4
4
  import { homedir } from "node:os";
5
- import { access } from "node:fs/promises";
5
+ import { access, mkdir, writeFile } from "node:fs/promises";
6
6
  import path from "node:path";
7
7
  import { fileURLToPath } from "node:url";
8
8
 
@@ -61,6 +61,23 @@ const packageMetadata = require("../package.json");
61
61
  const arguments_ = process.argv.slice(2);
62
62
  // Updating Codex/Claude Code registrations can wait for a busy client; the
63
63
  // command itself still runs and the update is retried on the next command.
64
+ /**
65
+ * Say once per installed version that client setup is unfinished, not on
66
+ * every command: the message repeated for as long as it stayed deferred.
67
+ */
68
+ async function reportDeferredOnce(version) {
69
+ const marker = path.join(homedir(), ".mikie", `client-setup-deferred-${version}`);
70
+ try {
71
+ await access(marker);
72
+ return;
73
+ } catch {}
74
+ console.error(CLIENT_REPAIR_DEFERRED);
75
+ try {
76
+ await mkdir(path.dirname(marker), { recursive: true });
77
+ await writeFile(marker, "");
78
+ } catch {}
79
+ }
80
+
64
81
  const CLIENT_REPAIR_DEFERRED =
65
82
  "mikie: Mikie will finish updating its Codex and Claude Code setup next time. If Mikie stops working there, run `mikie setup codex` or `mikie setup claude`.";
66
83
  const singleFlag = arguments_.length === 1 ? arguments_[0].toLowerCase() : null;
@@ -74,7 +91,7 @@ Get started:
74
91
  mikie login Sign in
75
92
  mikie setup codex Add Mikie to Codex
76
93
  mikie setup claude Add Mikie to Claude Code
77
- mikie connect . Connect the project in this folder
94
+ Then open Codex or Claude Code in your project folder; Mikie connects it.
78
95
 
79
96
  Everyday:
80
97
  mikie doctor Check that Mikie is working (--json for details)
@@ -136,11 +153,11 @@ Account:
136
153
  const spec = `@getmikie/cli@${resolved.version}`;
137
154
  const reinstall = await commands.run(
138
155
  "npm",
139
- ["install", "--global", spec, "--allow-scripts=@getmikie/cli"],
156
+ ["install", "--global", spec],
140
157
  { shell: false, capture: true },
141
158
  );
142
159
  if (reinstall.code !== 0) {
143
- throw new Error(`reinstalling the CLI failed; run: npm install --global ${spec} --allow-scripts=@getmikie/cli`);
160
+ throw new Error(`reinstalling the CLI failed; run: npm install --global ${spec}`);
144
161
  }
145
162
  console.log(`Reinstalled Mikie ${resolved.version}. Run \`mikie doctor\` to check client setup.`);
146
163
  process.exit(0);
@@ -325,7 +342,7 @@ Account:
325
342
  allowDeferred: nativeArguments[0] === "serve",
326
343
  });
327
344
  if (clients.status === "deferred") {
328
- console.error(CLIENT_REPAIR_DEFERRED);
345
+ await reportDeferredOnce(packageMetadata.version);
329
346
  }
330
347
  } else if (shouldCompleteSkippedInstall(nativeArguments)) {
331
348
  // An invalid install fails here, once, before any client repair.
@@ -333,7 +350,7 @@ Account:
333
350
  try {
334
351
  const clients = await completeSkippedInstall({ version: packageMetadata.version });
335
352
  if (clients.status === "deferred") {
336
- console.error(CLIENT_REPAIR_DEFERRED);
353
+ await reportDeferredOnce(packageMetadata.version);
337
354
  }
338
355
  } catch (error) {
339
356
  const reason = error instanceof Error ? error.message : "unavailable";
package/lib/launcher.mjs CHANGED
@@ -521,14 +521,14 @@ export function shouldReconcileInstalledClients(arguments_) {
521
521
 
522
522
  /**
523
523
  * Return whether a customer command first finishes an install whose npm
524
- * postinstall never ran (npm's allow-scripts policy skips it by default).
524
+ * install setup has not run yet: the package has no npm install script, so
525
+ * the first command a person types finishes it.
525
526
  * Only commands a person types: hook and internal entrypoints (for example
526
527
  * `efficiency-hook`, run on every prompt) and read-only doctor never do.
527
528
  */
528
529
  const INSTALL_COMPLETING_COMMANDS = new Set([
529
530
  "setup",
530
531
  "login",
531
- "connect",
532
532
  "privacy",
533
533
  "mode",
534
534
  "savings",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getmikie/cli",
3
- "version": "1.1.127",
3
+ "version": "1.1.129",
4
4
  "description": "Native Mikie relay launcher for MCP clients",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -11,9 +11,6 @@
11
11
  "bin": {
12
12
  "mikie": "bin/mikie.mjs"
13
13
  },
14
- "scripts": {
15
- "postinstall": "node ./scripts/reconcile-install.mjs"
16
- },
17
14
  "files": [
18
15
  "bin",
19
16
  "lib",
@@ -24,12 +21,13 @@
24
21
  "node": ">=22"
25
22
  },
26
23
  "optionalDependencies": {
27
- "@getmikie/darwin-arm64": "1.1.127",
28
- "@getmikie/linux-x64-gnu": "1.1.127",
29
- "@getmikie/win32-x64": "1.1.127"
24
+ "@getmikie/darwin-arm64": "1.1.129",
25
+ "@getmikie/linux-x64-gnu": "1.1.129",
26
+ "@getmikie/win32-x64": "1.1.129"
30
27
  },
31
28
  "publishConfig": {
32
29
  "access": "public",
33
30
  "registry": "https://registry.npmjs.org"
34
- }
31
+ },
32
+ "mikieReleaseNote": "Large repositories, sign-in and Codex hooks work without any setup fixes"
35
33
  }