arqzero 2.1.0-beta.12 → 2.1.0-beta.17

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arqzero",
3
- "version": "2.1.0-beta.12",
3
+ "version": "2.1.0-beta.17",
4
4
  "description": "ArqZero — terminal-native AI engineering agent. Bring your own LLM key.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -11,9 +11,10 @@
11
11
  "codex": "node scripts/obfuscate-codex.mjs",
12
12
  "build": "npm run codex && tsup",
13
13
  "typecheck": "tsc --noEmit",
14
- "test": "node --test --experimental-strip-types src/**/*.test.ts",
14
+ "test": "tsx --test src/**/*.test.ts",
15
15
  "lint": "tsc --noEmit",
16
- "prepublishOnly": "npm run build && npm test"
16
+ "prepublishOnly": "npm run build && npm test",
17
+ "postinstall": "node scripts/postinstall.mjs"
17
18
  },
18
19
  "keywords": [
19
20
  "ai",
@@ -38,6 +39,7 @@
38
39
  ],
39
40
  "files": [
40
41
  "dist/arqzero.mjs",
42
+ "scripts/postinstall.mjs",
41
43
  "LICENSE",
42
44
  "README.md",
43
45
  "CHANGELOG.md"
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env node
2
+ // Runs after `npm i -g arqzero` (or local install). Prints a one-screen
3
+ // brand welcome with the next command users should type.
4
+ //
5
+ // Three rules for postinstall scripts that don't get angry comments on GitHub:
6
+ // 1. Never block — exit fast even on errors
7
+ // 2. Never print on CI (npm sets npm_config_loglevel=error / CI=true)
8
+ // 3. Honor NO_COLOR
9
+ //
10
+ // If any of those are present we silently exit. Otherwise, ~12 lines of
11
+ // welcome with the install path the user actually needs.
12
+
13
+ const isCi = !!(
14
+ process.env.CI ||
15
+ process.env.NPM_CONFIG_LOGLEVEL === 'error' ||
16
+ process.env.npm_config_loglevel === 'error'
17
+ );
18
+ if (isCi) process.exit(0);
19
+
20
+ const NO_COLOR = !!process.env.NO_COLOR;
21
+ const wrap = (code, s) => (NO_COLOR ? s : `${code}${s}\x1b[0m`);
22
+ const teal = (s) => wrap('\x1b[38;2;0;212;170m', s);
23
+ const tealBold = (s) => wrap('\x1b[1;38;2;0;212;170m', s);
24
+ const muted = (s) => wrap('\x1b[90m', s);
25
+ const bold = (s) => wrap('\x1b[1m', s);
26
+
27
+ // Skip when installed as a dependency (not a global / direct user install).
28
+ // npm sets npm_config_global=true for `-g` installs; absence usually means
29
+ // we're being pulled in as a transitive dep. Don't spam those users.
30
+ const isGlobal = process.env.npm_config_global === 'true' || process.env.FORCE_POSTINSTALL === 'true';
31
+ if (!isGlobal) process.exit(0);
32
+
33
+ console.log('');
34
+ console.log(` ${tealBold('◆ ArqZero')} ${muted('— terminal-native AI engineering agent')}`);
35
+ console.log(` ${muted('──────────────────────────────────────────────────────────────────────')}`);
36
+ console.log('');
37
+ console.log(` ${bold('Welcome to ArqZero! Let\'s get you set up for your coding session:')}`);
38
+ console.log('');
39
+ console.log(` ${tealBold('1. CHOOSE YOUR INFERENCE TIER')}`);
40
+ console.log('');
41
+ console.log(` ${bold('Option A: Managed Inference (Zero setup — recommended)')}`);
42
+ console.log(` Sign in securely via browser and start coding immediately:`);
43
+ console.log(` $ ${teal('arqzero login')}`);
44
+ console.log(` $ ${teal('arqzero')}`);
45
+ console.log('');
46
+ console.log(` ${bold('Option B: Bring Your Own Keys (BYOK)')}`);
47
+ console.log(` Support for Anthropic, OpenAI, Fireworks, OpenRouter, Ollama, and more:`);
48
+ console.log(` $ ${teal('arqzero')} ${muted('# pick a provider and enter your API key on launch')}`);
49
+ console.log('');
50
+ console.log(` ${tealBold('2. STRUCTURE YOUR PROJECT FOR AGENTS')}`);
51
+ console.log(` Inside any project directory, initialize an agent instruction file:`);
52
+ console.log(` $ ${teal('arqzero setup')} ${muted('# creates a markdown template (ARQZERO.md) for custom rules')}`);
53
+ console.log('');
54
+ console.log(` ${tealBold('3. TOUR THE INTERACTIVE TUI COMMANDS')}`);
55
+ console.log(` In an active session, type ${bold('/')} to use slash commands:`);
56
+ console.log(` ${teal('●')} ${bold('/help')} ${muted('— Show all available commands')}`);
57
+ console.log(` ${teal('●')} ${bold('/model')} ${muted('— Switch LLMs on the fly')}`);
58
+ console.log(` ${teal('●')} ${bold('/provider')} ${muted('— Manage providers or API keys')}`);
59
+ console.log(` ${teal('●')} ${bold('/session')} ${muted('— List, resume, or delete past sessions')}`);
60
+ console.log(` ${teal('●')} ${bold('/rename')} ${muted('— Give the current session a memorable name')}`);
61
+ console.log(` ${teal('●')} ${bold('/export')} ${muted('— Save the entire session to a markdown file')}`);
62
+ console.log(` ${teal('●')} ${bold('/check')} ${muted('— Perform environment diagnostics and health checks')}`);
63
+ console.log('');
64
+ console.log(` ${muted('──────────────────────────────────────────────────────────────────────')}`);
65
+ console.log(` ${muted('Docs:')} ${teal('https://arqzero.dev/docs')}`);
66
+ console.log(` ${muted('GitHub:')} ${teal('https://github.com/LuciferDono/ArqZero')}`);
67
+ console.log('');