setclaw 1.1.1 → 1.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/README.md CHANGED
@@ -40,22 +40,15 @@ Connect [Claude Code](https://docs.anthropic.com/en/docs/claude-code) and [Facto
40
40
  ### Install & Configure
41
41
 
42
42
  ```bash
43
- npm i -g setclaw --foreground-scripts
44
- setclaw <your-quatarly-api-key>
43
+ npx setclaw@latest
45
44
  ```
46
45
 
47
- The `--foreground-scripts` flag makes npm show the setup instructions during install. Without it, npm is silent (that's npm's default behavior for lifecycle scripts).
46
+ That's it. It will prompt for your API key and configure everything in one shot.
48
47
 
49
- **One-liner** pass your key during install, no second command needed:
48
+ Want the `setclaw` command available globally for future use?
50
49
 
51
- **Windows (PowerShell):**
52
- ```powershell
53
- $env:QUATARLY_API_KEY="qua_your-key-here"; npm i -g setclaw --foreground-scripts
54
- ```
55
-
56
- **macOS / Linux:**
57
50
  ```bash
58
- QUATARLY_API_KEY=qua_your-key-here npm i -g setclaw --foreground-scripts
51
+ npm i -g setclaw
59
52
  ```
60
53
 
61
54
  That's it. When you run `setclaw`, it will:
@@ -21,7 +21,6 @@ if (apiKey) {
21
21
  }
22
22
 
23
23
  // ─── Print next-step instructions ────────────────────────────────────
24
- // (visible when user runs: npm i -g setclaw --foreground-scripts)
25
24
  const w = (msg = "") => process.stdout.write(msg + "\n");
26
25
 
27
26
  w();
package/bin/setclaw.js CHANGED
@@ -36,9 +36,13 @@ function warn(msg) { err(`\x1b[33m!\x1b[0m ${msg}`); }
36
36
  function fail(msg) { err(`\x1b[31m✖\x1b[0m ${msg}`); }
37
37
 
38
38
  // ─── First-run detection ──────────────────────────────────────────────
39
+ // If run via npx (npm_execpath contains 'npx' or no global install marker),
40
+ // skip the first-run gate and always go interactive.
39
41
 
40
42
  const markerFile = join(homedir(), ".setclaw", "pending");
41
- const isFirstRun = existsSync(markerFile);
43
+ const isNpx = (process.env.npm_execpath || "").includes("npx") ||
44
+ process.argv[1].includes("_npx");
45
+ const isFirstRun = !isNpx && existsSync(markerFile);
42
46
 
43
47
  // ─── Banner ──────────────────────────────────────────────────────────
44
48
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "setclaw",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "BOA & Quatarly setup for Claude Code and Factory",
5
5
  "type": "module",
6
6
  "bin": {