@contextium/cli 0.7.6 → 1.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"setup-claude.d.ts","sourceRoot":"","sources":["../../src/commands/setup-claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,eAAO,MAAM,kBAAkB,SAmJ3B,CAAA"}
1
+ {"version":3,"file":"setup-claude.d.ts","sourceRoot":"","sources":["../../src/commands/setup-claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,eAAO,MAAM,kBAAkB,SAqJ3B,CAAA"}
@@ -4,7 +4,7 @@ import path from 'path';
4
4
  import os from 'os';
5
5
  import { fileURLToPath } from 'url';
6
6
  import { chalk, ora } from '../lib/output.js';
7
- import { installUpdateHook } from '../lib/claude-permissions.js';
7
+ import { installUpdateHook, installStatuslineHook } from '../lib/claude-permissions.js';
8
8
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
9
9
  export const setupClaudeCommand = new Command('setup-claude')
10
10
  .description('Configure permissions for Claude Code CLI (Anthropic\'s AI coding assistant)')
@@ -51,19 +51,13 @@ ${chalk.dim('If you use other IDEs (VSCode, Cursor, etc.) without Claude Code, s
51
51
  if (!settings.permissions.allow) {
52
52
  settings.permissions.allow = [];
53
53
  }
54
- // Check if permission already exists
54
+ // Add permission if not already present
55
55
  const permission = 'Bash contextium *';
56
- if (settings.permissions.allow.includes(permission)) {
57
- spinner.info('Permission already configured');
58
- console.log();
59
- console.log(chalk.dim(`Settings file: ${settingsPath}`));
60
- console.log(chalk.dim(`Permission: ${permission}`));
61
- return;
56
+ const permissionAlreadySet = settings.permissions.allow.includes(permission);
57
+ if (!permissionAlreadySet) {
58
+ settings.permissions.allow.push(permission);
59
+ await fs.writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
62
60
  }
63
- // Add permission
64
- settings.permissions.allow.push(permission);
65
- // Write settings back
66
- await fs.writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
67
61
  spinner.succeed('Claude Code permissions configured!');
68
62
  // Install /ium: slash commands to ~/.claude/commands/ium/
69
63
  const commandsDestDir = path.join(os.homedir(), '.claude', 'commands', 'ium');
@@ -82,6 +76,7 @@ ${chalk.dim('If you use other IDEs (VSCode, Cursor, etc.) without Claude Code, s
82
76
  // Non-fatal — skills dir may not exist in older installs
83
77
  }
84
78
  let hookInstalled = false;
79
+ let statuslineInstalled = false;
85
80
  if (isGlobal) {
86
81
  try {
87
82
  await installUpdateHook();
@@ -90,6 +85,13 @@ ${chalk.dim('If you use other IDEs (VSCode, Cursor, etc.) without Claude Code, s
90
85
  catch {
91
86
  // Non-fatal — hook install failure shouldn't block setup
92
87
  }
88
+ try {
89
+ await installStatuslineHook();
90
+ statuslineInstalled = true;
91
+ }
92
+ catch {
93
+ // Non-fatal
94
+ }
93
95
  }
94
96
  console.log();
95
97
  console.log(chalk.green('✓') + ' Contextium CLI commands will no longer require permission prompts');
@@ -99,7 +101,10 @@ ${chalk.dim('If you use other IDEs (VSCode, Cursor, etc.) without Claude Code, s
99
101
  console.log(chalk.green('✓') + ' /ium: slash commands installed to ~/.claude/commands/ium/');
100
102
  }
101
103
  if (hookInstalled) {
102
- console.log(chalk.green('✓') + ' Update check hook installed — Claude Code status line will show Contextium updates');
104
+ console.log(chalk.green('✓') + ' Update check hook installed');
105
+ }
106
+ if (statuslineInstalled) {
107
+ console.log(chalk.green('✓') + ' Status line installed — updates will appear in purple as ⬆ /ium:update');
103
108
  }
104
109
  console.log();
105
110
  if (isGlobal) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-claude.js","sourceRoot":"","sources":["../../src/commands/setup-claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-claude.js","sourceRoot":"","sources":["../../src/commands/setup-claude.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export declare function getSettingsPath(scope: 'global' | 'project'): string;
2
2
  export declare function isClaudePermissionConfigured(scope?: 'global' | 'project'): Promise<boolean>;
3
3
  export declare function addClaudePermission(scope: 'global' | 'project'): Promise<void>;
4
4
  export declare function installUpdateHook(): Promise<void>;
5
+ export declare function installStatuslineHook(): Promise<void>;
5
6
  //# sourceMappingURL=claude-permissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-permissions.d.ts","sourceRoot":"","sources":["../../src/lib/claude-permissions.ts"],"names":[],"mappings":"AAUA,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAInE;AAED,wBAAsB,4BAA4B,CAAC,KAAK,GAAE,QAAQ,GAAG,SAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ3G;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBpF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCvD"}
1
+ {"version":3,"file":"claude-permissions.d.ts","sourceRoot":"","sources":["../../src/lib/claude-permissions.ts"],"names":[],"mappings":"AAWA,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAInE;AAED,wBAAsB,4BAA4B,CAAC,KAAK,GAAE,QAAQ,GAAG,SAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ3G;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBpF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCvD;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwB3D"}
@@ -4,6 +4,7 @@ import os from 'os';
4
4
  import { fileURLToPath } from 'url';
5
5
  const PERMISSION = 'Bash contextium *';
6
6
  const HOOK_FILENAME = 'ium-check-update.js';
7
+ const STATUSLINE_FILENAME = 'ium-statusline.js';
7
8
  // hooks/ is two levels up from dist/lib/ (compiled output location)
8
9
  const HOOKS_SRC_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), '..', '..', 'hooks');
9
10
  export function getSettingsPath(scope) {
@@ -73,4 +74,27 @@ export async function installUpdateHook() {
73
74
  await fs.writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
74
75
  }
75
76
  }
77
+ export async function installStatuslineHook() {
78
+ const hooksDestDir = path.join(os.homedir(), '.claude', 'hooks');
79
+ const statuslineDestPath = path.join(hooksDestDir, STATUSLINE_FILENAME);
80
+ // Copy statusline hook file
81
+ await fs.mkdir(hooksDestDir, { recursive: true });
82
+ await fs.copyFile(path.join(HOOKS_SRC_DIR, STATUSLINE_FILENAME), statuslineDestPath);
83
+ // Set statusLine in global settings.json only if not already configured
84
+ const settingsPath = getSettingsPath('global');
85
+ await fs.mkdir(path.dirname(settingsPath), { recursive: true });
86
+ let settings = {};
87
+ try {
88
+ const content = await fs.readFile(settingsPath, 'utf-8');
89
+ settings = JSON.parse(content);
90
+ }
91
+ catch (error) {
92
+ if (error.code !== 'ENOENT')
93
+ throw error;
94
+ }
95
+ if (!settings.statusLine) {
96
+ settings.statusLine = { type: 'command', command: `node "${statuslineDestPath}"` };
97
+ await fs.writeFile(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
98
+ }
99
+ }
76
100
  //# sourceMappingURL=claude-permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-permissions.js","sourceRoot":"","sources":["../../src/lib/claude-permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-permissions.js","sourceRoot":"","sources":["../../src/lib/claude-permissions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env node
2
+ // Contextium statusline for Claude Code
3
+ // Shows: model | directory | context usage | update notification
4
+
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+ const os = require('os');
8
+
9
+ const homeDir = os.homedir();
10
+ const claudeDir = process.env.CLAUDE_CONFIG_DIR || path.join(homeDir, '.claude');
11
+ const cacheFile = path.join(claudeDir, 'cache', 'ium-update-check.json');
12
+
13
+ let input = '';
14
+ const stdinTimeout = setTimeout(() => process.exit(0), 3000);
15
+ process.stdin.setEncoding('utf8');
16
+ process.stdin.on('data', chunk => (input += chunk));
17
+ process.stdin.on('end', () => {
18
+ clearTimeout(stdinTimeout);
19
+ try {
20
+ const data = JSON.parse(input);
21
+ const model = data.model?.display_name || 'Claude';
22
+ const dir = data.workspace?.current_dir || process.cwd();
23
+ const dirname = path.basename(dir);
24
+ const remaining = data.context_window?.remaining_percentage;
25
+
26
+ // Context usage
27
+ let ctx = '';
28
+ if (remaining != null) {
29
+ const AUTO_COMPACT_BUFFER_PCT = 16.5;
30
+ const usableRemaining = Math.max(
31
+ 0,
32
+ ((remaining - AUTO_COMPACT_BUFFER_PCT) / (100 - AUTO_COMPACT_BUFFER_PCT)) * 100
33
+ );
34
+ const used = Math.max(0, Math.min(100, Math.round(100 - usableRemaining)));
35
+ const filled = Math.floor(used / 10);
36
+ const bar = '█'.repeat(filled) + '░'.repeat(10 - filled);
37
+ const color =
38
+ used >= 90 ? '\x1b[31m' : used >= 75 ? '\x1b[33m' : '\x1b[32m';
39
+ ctx = ` │ ${color}${bar} ${used}%\x1b[0m`;
40
+ }
41
+
42
+ // Contextium update notification
43
+ let iumUpdate = '';
44
+ try {
45
+ if (fs.existsSync(cacheFile)) {
46
+ const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
47
+ if (cache.cli?.update_available || cache.mcp?.update_available) {
48
+ iumUpdate = '\x1b[35m⬆ /ium:update\x1b[0m │ ';
49
+ }
50
+ }
51
+ } catch (e) {}
52
+
53
+ process.stdout.write(
54
+ `${iumUpdate}\x1b[2m${model}\x1b[0m │ \x1b[2m${dirname}\x1b[0m${ctx}`
55
+ );
56
+ } catch (e) {
57
+ // Silent fail
58
+ }
59
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contextium/cli",
3
- "version": "0.7.6",
3
+ "version": "1.0.1",
4
4
  "description": "Command-line tool for managing Contextium documentation, agents, skills, and workflows — pipe context to AI coding assistants",
5
5
  "keywords": [
6
6
  "contextium",
@@ -18,7 +18,7 @@
18
18
  "license": "MIT",
19
19
  "repository": {
20
20
  "type": "git",
21
- "url": "https://github.com/tomjutla/contextium.git",
21
+ "url": "git+https://github.com/tomjutla/contextium.git",
22
22
  "directory": "apps/cli"
23
23
  },
24
24
  "homepage": "https://contextium.io/docs/cli",
@@ -28,7 +28,7 @@
28
28
  "main": "./dist/index.js",
29
29
  "type": "module",
30
30
  "bin": {
31
- "contextium": "./dist/index.js"
31
+ "contextium": "dist/index.js"
32
32
  },
33
33
  "files": [
34
34
  "dist",
@@ -70,6 +70,16 @@ rm -f "$HOME/.claude/cache/ium-update-check.json"
70
70
  ```
71
71
  </step>
72
72
 
73
+ <step name="run_setup">
74
+ Re-run setup to install any new hooks or statusline from the updated CLI:
75
+
76
+ ```bash
77
+ contextium setup-claude
78
+ ```
79
+
80
+ This is silent/idempotent — it updates hooks and statusline without changing existing permissions.
81
+ </step>
82
+
73
83
  <step name="display_result">
74
84
  Show completion summary:
75
85