@exero1/claudecontext 0.1.1 → 0.1.3

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.
@@ -36,14 +36,21 @@ function ask(rl, question) {
36
36
  });
37
37
  });
38
38
  }
39
+ function askDefault(rl, question, defaultVal) {
40
+ return new Promise(resolve => {
41
+ rl.question(` ${question} [${defaultVal}]: `, answer => {
42
+ resolve(answer.trim() || defaultVal);
43
+ });
44
+ });
45
+ }
39
46
  function mergeJson(existing, patch) {
40
47
  return { ...existing, ...patch };
41
48
  }
42
49
  async function cmdInit(projectRoot, opts = {}) {
43
50
  process.stdout.write('\n╔══════════════════════════════════════╗\n');
44
- process.stdout.write('║ ClaudeContext Setup Wizard ║\n');
51
+ process.stdout.write('║ ClaudeContext Setup ║\n');
45
52
  process.stdout.write('╚══════════════════════════════════════╝\n\n');
46
- log(`Setting up ClaudeContext in: ${projectRoot}`);
53
+ log(`Setting up in: ${projectRoot}`);
47
54
  let projectName;
48
55
  let projectDesc;
49
56
  let techStack;
@@ -67,7 +74,10 @@ async function cmdInit(projectRoot, opts = {}) {
67
74
  testStrategy = cfg.testStrategy ?? '';
68
75
  conventions = cfg.conventions ?? '';
69
76
  invariants = cfg.invariants ?? '';
70
- areas = cfg.areas ?? detectAreas(projectRoot);
77
+ areas = (cfg.areas ?? detectAreas(projectRoot)).map(a => ({
78
+ ...a,
79
+ docPath: a.docPath ?? `docs/context/${a.name}.md`,
80
+ }));
71
81
  log(`Loaded config from: ${opts.config}`);
72
82
  log(`Project: ${projectName} | Areas: ${areas.length}`);
73
83
  }
@@ -92,44 +102,43 @@ async function cmdInit(projectRoot, opts = {}) {
92
102
  process.exit(1);
93
103
  }
94
104
  const rl = createInterface({ input: process.stdin, output: process.stdout });
95
- // Step 1/4: Project info
96
- process.stdout.write('\n── Step 1/4: Project information ────────\n');
97
- projectName = await ask(rl, 'Project name:');
98
- projectDesc = await ask(rl, 'Brief project description (1-2 sentences):');
99
- techStack = await ask(rl, 'Tech stack (e.g. TypeScript, React, PostgreSQL):');
100
- testStrategy = await ask(rl, 'Test strategy (e.g. Vitest unit + Playwright E2E):');
101
- // Step 2/4: Code areas
102
- process.stdout.write('\n── Step 2/4: Code areas (subsystems) ───\n');
105
+ process.stdout.write('\n');
106
+ projectName = await askDefault(rl, 'Project name', basename(projectRoot));
107
+ projectDesc = await ask(rl, 'What are you building? (optional — press Enter to skip):');
108
+ techStack = '';
109
+ testStrategy = '';
110
+ conventions = '';
111
+ invariants = '';
112
+ // Auto-detect areas from existing code
113
+ process.stdout.write('\n Scanning project structure...\n');
103
114
  const detected = detectAreas(projectRoot);
115
+ areas = [];
104
116
  if (detected.length > 0) {
105
- log(`Auto-detected ${detected.length} area(s): ${detected.map(a => a.name).join(', ')}`);
117
+ log(`Found: ${detected.map(a => a.name).join(', ')}`);
118
+ const confirm = await askDefault(rl, 'Use these?', 'Y');
119
+ if (confirm.toLowerCase() !== 'n') {
120
+ areas = detected;
121
+ ok(`Using ${areas.length} area(s)`);
122
+ }
123
+ }
124
+ else {
125
+ log('No existing code found — areas will be detected automatically as you add files.');
126
+ }
127
+ if (areas.length === 0) {
128
+ const manual = await ask(rl, 'Any main sections to track? (comma-separated names like "auth, api, database" — or press Enter to skip):');
129
+ if (manual) {
130
+ areas = manual.split(',').map(n => n.trim()).filter(Boolean).map(name => ({
131
+ name,
132
+ globs: [`src/${name}/**`, `**/${name}*`],
133
+ docPath: `docs/context/${name}.md`,
134
+ }));
135
+ if (areas.length > 0)
136
+ ok(`Added: ${areas.map(a => a.name).join(', ')}`);
137
+ }
106
138
  }
107
- log('Enter your main code areas. Press Enter with empty input to finish.');
108
- log('Example: auth, api, database, frontend');
109
- areas = [];
110
- while (true) {
111
- const areaName = await ask(rl, `Area name (or Enter to finish):`);
112
- if (!areaName)
113
- break;
114
- const globs = await ask(rl, ` File patterns for "${areaName}" (comma-separated, e.g. src/auth/**,src/middleware/auth*):`);
115
- areas.push({
116
- name: areaName,
117
- globs: globs.split(',').map(g => g.trim()).filter(Boolean),
118
- docPath: `docs/context/${areaName}.md`,
119
- });
120
- ok(`Area "${areaName}" added`);
121
- }
122
- if (areas.length === 0 && detected.length > 0) {
123
- areas = detected;
124
- log(`No areas entered — using auto-detected areas: ${areas.map(a => a.name).join(', ')}`);
125
- }
126
- // Step 3/4: Conventions
127
- process.stdout.write('\n── Step 3/4: Conventions ───────────────\n');
128
- conventions = await ask(rl, 'Key conventions (e.g. "Use async/await, no callbacks; snake_case for DB"):');
129
- invariants = await ask(rl, 'Critical invariants (e.g. "Never expose user IDs in URLs"):');
130
139
  rl.close();
131
140
  }
132
- process.stdout.write('\n── Step 4/4: Creating files ────────────\n');
141
+ process.stdout.write('\n Setting up your files...\n');
133
142
  // Create directories
134
143
  const stateDir = join(projectRoot, '.claudecontext');
135
144
  const hooksDir = join(projectRoot, '.claude', 'hooks');
@@ -151,52 +160,28 @@ async function cmdInit(projectRoot, opts = {}) {
151
160
  ? areas.map(a => `- **${a.name}**: \`${a.globs.join(', ')}\` → docs at \`${a.docPath}\``).join('\n')
152
161
  : '- (no areas configured — run `claudecontext init` to add areas)';
153
162
  const claudeMdContent = `# ${projectName || 'Project'}
163
+ ${projectDesc ? `\n${projectDesc}\n` : ''}
164
+ ## ClaudeContext — Session Instructions
154
165
 
155
- ## ClaudeContext System Instructions
156
-
157
- **MANDATORY — do these every session:**
158
-
159
- 1. **Start of session / after compaction:** call \`context_get_bundle\` immediately. This restores your task context.
160
- 2. **After EVERY technical decision** (architecture choice, tradeoff accepted, approach selected): call \`context_update_task\` and record it in the "decisions" field. Do not defer this — decisions not recorded here are permanently lost on compaction.
161
- 3. **First time you understand the goal:** call \`context_update_task\` to set the "goal" field in plain English.
162
- 4. **Files touched** are auto-tracked by the post-write hook — you do NOT need to add them manually.
163
- 5. To show the user what context is loaded: call \`context_status\`.
164
-
165
- ---
166
-
167
- ## Project Description
168
-
169
- ${projectDesc || '(add description)'}
170
-
171
- ---
172
-
173
- ## Tech Stack
174
-
175
- ${techStack || '(add tech stack)'}
166
+ **Do these every session:**
176
167
 
168
+ 1. **On start / after compaction:** call \`context_get_bundle\` — this restores your task context.
169
+ 2. **After any technical decision:** call \`context_update_task\` and record it in "decisions". Decisions not recorded here are lost on compaction.
170
+ 3. **When you understand the goal:** call \`context_update_task\` to set the "goal" field.
171
+ 4. Files you edit are tracked automatically — you don't need to do anything.
172
+ 5. To see what context is loaded: call \`context_status\`.
173
+ ${areas.length > 0 ? `
177
174
  ---
178
175
 
179
176
  ## Key Areas
180
177
 
181
178
  ${areasSection}
182
-
179
+ ` : ''}
183
180
  ---
184
181
 
185
- ## Conventions
186
-
187
- ${conventions || '(add conventions)'}
182
+ ## Notes
188
183
 
189
- ---
190
-
191
- ## Critical Invariants
192
-
193
- ${invariants || '(add invariants)'}
194
-
195
- ---
196
-
197
- ## Test Strategy
198
-
199
- ${testStrategy || '(add test strategy)'}
184
+ (Add project-specific conventions, gotchas, or rules here — Claude will follow them every session.)
200
185
  `;
201
186
  writeFileSync(claudeMdPath, claudeMdContent);
202
187
  ok('Generated CLAUDE.md');
@@ -579,78 +564,104 @@ async function cmdAutoAreas(projectRoot, dryRun) {
579
564
  process.stdout.write('\n');
580
565
  }
581
566
  /**
582
- * Register claudecontext as a user-scoped (global) MCP server.
583
- *
584
- * This means it's available in every project without per-project .mcp.json.
585
- * Uses `claude mcp add --scope user` which writes to ~/.claude.json.
567
+ * Register claudecontext as a user-scoped (global) MCP server + global hooks.
586
568
  *
587
- * Hooks are still per-project run `claudecontext init` in each project for hooks.
569
+ * Runs automatically on `npm install -g` via postinstall.
570
+ * --auto flag: silent, non-fatal errors (used by postinstall).
588
571
  */
589
- async function cmdGlobalInstall() {
590
- process.stdout.write('\n╔══════════════════════════════════════╗\n');
591
- process.stdout.write('║ ClaudeContext Global Install ║\n');
592
- process.stdout.write('╚══════════════════════════════════════╝\n\n');
593
- log('This registers claudecontext as a user-scoped MCP server.');
594
- log('After this, the MCP server is available in ALL your projects automatically.');
595
- log('');
572
+ async function cmdGlobalInstall(opts = {}) {
573
+ if (!opts.auto) {
574
+ process.stdout.write('\n╔══════════════════════════════════════╗\n');
575
+ process.stdout.write('║ ClaudeContext Global Install ║\n');
576
+ process.stdout.write('╚══════════════════════════════════════╝\n\n');
577
+ }
596
578
  // Check Node version
597
579
  const nodeVersion = process.version;
598
580
  const major = parseInt(nodeVersion.slice(1), 10);
599
581
  if (major < 22) {
600
582
  err(`Node.js ${nodeVersion} detected — Node 22+ required. Please upgrade.`);
601
- process.exit(1);
583
+ if (!opts.auto)
584
+ process.exit(1);
585
+ return;
602
586
  }
603
- ok(`Node.js ${nodeVersion}`);
604
- // Check claude CLI is available (Windows uses claude.cmd)
587
+ if (!opts.auto)
588
+ ok(`Node.js ${nodeVersion}`);
589
+ // ── Register MCP server ───────────────────────────────────────────────────
605
590
  const claudeBin = isWindows ? 'claude.cmd' : 'claude';
591
+ let claudeFound = false;
606
592
  try {
607
593
  execSync(`${claudeBin} --version`, { stdio: 'pipe' });
608
- ok('claude CLI found');
594
+ claudeFound = true;
595
+ }
596
+ catch { /* claude not installed yet — that's ok for postinstall */ }
597
+ if (claudeFound) {
598
+ try {
599
+ execSync(`${claudeBin} mcp add --transport stdio --scope user claudecontext -- npx --yes -p @exero1/claudecontext claudecontext-mcp`, { stdio: opts.auto ? 'pipe' : 'inherit' });
600
+ ok('MCP server registered (user scope)');
601
+ }
602
+ catch {
603
+ // Fallback: write directly to ~/.claude.json
604
+ const homeDir = process.env['HOME'] ?? process.env['USERPROFILE'] ?? '';
605
+ const claudeJsonPath = join(homeDir, '.claude.json');
606
+ let claudeJson = {};
607
+ if (existsSync(claudeJsonPath)) {
608
+ try {
609
+ claudeJson = JSON.parse(readFileSync(claudeJsonPath, 'utf8'));
610
+ }
611
+ catch { /* ignore */ }
612
+ }
613
+ const mcpServers = claudeJson['mcpServers'] ?? {};
614
+ mcpServers['claudecontext'] = {
615
+ type: 'stdio',
616
+ command: 'npx',
617
+ args: ['--yes', '-p', '@exero1/claudecontext', 'claudecontext-mcp'],
618
+ env: { NODE_OPTIONS: '--no-warnings' },
619
+ };
620
+ claudeJson['mcpServers'] = mcpServers;
621
+ writeFileSync(claudeJsonPath, JSON.stringify(claudeJson, null, 2));
622
+ ok('MCP server registered (~/.claude.json)');
623
+ }
609
624
  }
610
- catch {
611
- err('claude CLI not found — install it with: npm install -g @anthropic-ai/claude-code');
612
- process.exit(1);
625
+ else if (!opts.auto) {
626
+ warn('claude CLI not found — MCP server not registered. Run `claudecontext global-install` after installing Claude Code.');
613
627
  }
614
- // Register as user-scoped MCP server
615
- // The MCP server uses process.cwd() as project root, which Claude Code sets to the project directory.
616
- log('Registering with claude mcp add --scope user ...');
628
+ // ── Register global hooks in ~/.claude/settings.json ─────────────────────
629
+ // Hooks dir is two levels up from this file: dist/installer/ dist/ package root → hooks/
630
+ const globalHooksDir = resolve(__dirname, '..', '..', 'hooks');
631
+ const hookCmd = (name) => isWindows ? `node "${join(globalHooksDir, name)}"` : `"${join(globalHooksDir, name)}"`;
632
+ const homeDir = process.env['HOME'] ?? process.env['USERPROFILE'] ?? '';
633
+ const globalSettingsPath = join(homeDir, '.claude', 'settings.json');
634
+ let settings = {};
635
+ if (existsSync(globalSettingsPath)) {
636
+ try {
637
+ settings = JSON.parse(readFileSync(globalSettingsPath, 'utf8'));
638
+ }
639
+ catch { /* ignore */ }
640
+ }
641
+ settings['hooks'] = {
642
+ SessionStart: [{ matcher: '', hooks: [{ type: 'command', command: hookCmd('session-start.mjs') }] }],
643
+ PreToolUse: [{ matcher: '', hooks: [{ type: 'command', command: hookCmd('pre-tool-use.mjs') }] }],
644
+ PostToolUse: [{ matcher: 'Write|Edit|NotebookEdit', hooks: [{ type: 'command', command: hookCmd('post-write.mjs') }] }],
645
+ PreCompact: [{ matcher: '', hooks: [{ type: 'command', command: hookCmd('pre-compact.mjs') }] }],
646
+ };
617
647
  try {
618
- execSync(`${claudeBin} mcp add --transport stdio --scope user claudecontext -- npx --yes -p @exero1/claudecontext claudecontext-mcp`, { stdio: 'inherit' });
619
- ok('claudecontext registered as global MCP server');
620
- }
621
- catch {
622
- warn('claude mcp add failed — attempting manual registration in ~/.claude.json ...');
623
- // Fallback: write directly to ~/.claude.json
624
- const homeDir = process.env['HOME'] ?? process.env['USERPROFILE'] ?? '';
625
- const claudeJsonPath = join(homeDir, '.claude.json');
626
- let claudeJson = {};
627
- if (existsSync(claudeJsonPath)) {
628
- try {
629
- claudeJson = JSON.parse(readFileSync(claudeJsonPath, 'utf8'));
630
- }
631
- catch { /* ignore */ }
632
- }
633
- const mcpServers = claudeJson['mcpServers'] ?? {};
634
- mcpServers['claudecontext'] = {
635
- type: 'stdio',
636
- command: 'npx',
637
- args: ['--yes', '-p', '@exero1/claudecontext', 'claudecontext-mcp'],
638
- env: { NODE_OPTIONS: '--no-warnings' },
639
- };
640
- claudeJson['mcpServers'] = mcpServers;
641
- writeFileSync(claudeJsonPath, JSON.stringify(claudeJson, null, 2));
642
- ok(`Written to ${claudeJsonPath}`);
648
+ mkdirSync(dirname(globalSettingsPath), { recursive: true });
649
+ writeFileSync(globalSettingsPath, JSON.stringify(settings, null, 2));
650
+ ok('Global hooks registered (~/.claude/settings.json)');
651
+ }
652
+ catch (e) {
653
+ if (!opts.auto)
654
+ warn(`Could not write ~/.claude/settings.json: ${e}`);
655
+ }
656
+ if (!opts.auto) {
657
+ process.stdout.write('\n╔══════════════════════════════════════╗\n');
658
+ process.stdout.write('║ Setup complete! ║\n');
659
+ process.stdout.write('╚══════════════════════════════════════╝\n\n');
660
+ log('Open any project with `claude` — context memory is active immediately.');
661
+ log('');
662
+ log('Optional: run `claudecontext init` in a project to generate CLAUDE.md.');
663
+ log('');
643
664
  }
644
- process.stdout.write('\n╔══════════════════════════════════════╗\n');
645
- process.stdout.write('║ Global install complete! ║\n');
646
- process.stdout.write('╚══════════════════════════════════════╝\n\n');
647
- log('The claudecontext MCP server is now available in all your projects.');
648
- log('');
649
- log('To verify: open any project in Claude Code and run context_status()');
650
- log('');
651
- log('Note: Hooks (SessionStart, PreToolUse, etc.) are still per-project.');
652
- log('Run `claudecontext init` in each project to install hooks.');
653
- log('');
654
665
  }
655
666
  // ── Main ───────────────────────────────────────────────────────────────────
656
667
  const args = process.argv.slice(2);
@@ -672,9 +683,11 @@ switch (command) {
672
683
  await cmdInit(projectRoot, initOpts);
673
684
  break;
674
685
  }
675
- case 'global-install':
676
- await cmdGlobalInstall();
686
+ case 'global-install': {
687
+ const auto = args.includes('--auto');
688
+ await cmdGlobalInstall({ auto });
677
689
  break;
690
+ }
678
691
  case 'remove': {
679
692
  const dryRun = args.includes('--dry-run');
680
693
  const purge = args.includes('--purge');
@@ -696,16 +709,19 @@ switch (command) {
696
709
  process.stdout.write(`
697
710
  ClaudeContext — Persistent memory for Claude Code
698
711
 
712
+ After \`npm install -g @exero1/claudecontext\`, just open any project with \`claude\`.
713
+ No per-project setup required.
714
+
699
715
  Commands:
700
- claudecontext init [--project-root <path>] Set up ClaudeContext in a project (interactive)
716
+ claudecontext global-install Re-run global setup (MCP server + hooks)
717
+ claudecontext init [--project-root <path>] Optional: generate CLAUDE.md and per-project config
701
718
  --yes Skip prompts, use auto-detected defaults
702
- --config <file> Load setup from a JSON config file (non-interactive)
703
- claudecontext global-install Register as global MCP (available in all projects)
704
- claudecontext remove Remove hooks and config (preserves state.db)
719
+ --config <file> Load setup from a JSON config file
720
+ claudecontext remove Remove per-project files (preserves state.db)
705
721
  --dry-run Show what would be removed without deleting
706
722
  --purge Also delete state.db and .claudecontext/
707
- claudecontext migrate Migrate database schema
708
723
  claudecontext doctor Check installation health
724
+ claudecontext migrate Migrate database schema
709
725
  claudecontext auto-areas [--dry-run] Auto-detect subsystem areas from directory structure
710
726
 
711
727
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../installer/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../installer/install.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ const projectRoot = resolve(process.env.CLAUDECONTEXT_PROJECT_ROOT ?? process.cw
15
15
  function findCli() {
16
16
  const local = join(projectRoot, 'node_modules', '.bin', 'claudecontext-cli');
17
17
  if (existsSync(local)) return local;
18
- return null;
18
+ return 'claudecontext-cli'; // global install in PATH
19
19
  }
20
20
 
21
21
  // Read hook input from stdin
@@ -35,14 +35,8 @@ process.stdin.on('end', () => {
35
35
  if (!filePath) return;
36
36
 
37
37
  const cli = findCli();
38
- const args = cli
39
- ? [cli, 'ingest-diff', filePath]
40
- : ['npx', 'claudecontext-cli', 'ingest-diff', filePath];
41
38
 
42
- const cmd = args[0];
43
- const cmdArgs = args.slice(1);
44
-
45
- execFile(cmd, cmdArgs, {
39
+ execFile(cli, ['ingest-diff', filePath], {
46
40
  cwd: projectRoot,
47
41
  env: { ...process.env, NODE_NO_WARNINGS: '1', CLAUDE_SESSION_ID: hookData.session_id ?? '' },
48
42
  timeout: 19000,
@@ -15,27 +15,17 @@ const projectRoot = resolve(process.env.CLAUDECONTEXT_PROJECT_ROOT ?? process.cw
15
15
  function findCli() {
16
16
  const local = join(projectRoot, 'node_modules', '.bin', 'claudecontext-cli');
17
17
  if (existsSync(local)) return local;
18
- return null;
18
+ return 'claudecontext-cli'; // global install in PATH
19
19
  }
20
20
 
21
21
  try {
22
22
  const cli = findCli();
23
-
24
- if (cli) {
25
- execFileSync(cli, ['summarize-session'], {
26
- cwd: projectRoot,
27
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
28
- timeout: 24000,
29
- stdio: 'inherit',
30
- });
31
- } else {
32
- execFileSync('npx', ['claudecontext-cli', 'summarize-session'], {
33
- cwd: projectRoot,
34
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
35
- timeout: 24000,
36
- stdio: 'inherit',
37
- });
38
- }
23
+ execFileSync(cli, ['summarize-session'], {
24
+ cwd: projectRoot,
25
+ env: { ...process.env, NODE_NO_WARNINGS: '1' },
26
+ timeout: 24000,
27
+ stdio: 'inherit',
28
+ });
39
29
  } catch (err) {
40
30
  // Fail silently — don't block compaction
41
31
  process.stderr.write(`[claudecontext/pre-compact] Error: ${err?.message ?? err}\n`);
@@ -14,7 +14,7 @@ const projectRoot = resolve(process.env.CLAUDECONTEXT_PROJECT_ROOT ?? process.cw
14
14
  function findCli() {
15
15
  const local = join(projectRoot, 'node_modules', '.bin', 'claudecontext-cli');
16
16
  if (existsSync(local)) return local;
17
- return null;
17
+ return 'claudecontext-cli'; // global install in PATH
18
18
  }
19
19
 
20
20
  // Read hook input from stdin
@@ -50,21 +50,12 @@ process.stdin.on('end', () => {
50
50
  : ['gate-check', checkString];
51
51
 
52
52
  try {
53
- if (cli) {
54
- execFileSync(cli, gateArgs, {
55
- cwd: projectRoot,
56
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
57
- timeout: 7000,
58
- stdio: ['ignore', 'ignore', 'pipe'],
59
- });
60
- } else {
61
- execFileSync('npx', ['claudecontext-cli', ...gateArgs], {
62
- cwd: projectRoot,
63
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
64
- timeout: 7000,
65
- stdio: ['ignore', 'ignore', 'pipe'],
66
- });
67
- }
53
+ execFileSync(cli, gateArgs, {
54
+ cwd: projectRoot,
55
+ env: { ...process.env, NODE_NO_WARNINGS: '1' },
56
+ timeout: 7000,
57
+ stdio: ['ignore', 'ignore', 'pipe'],
58
+ });
68
59
  // Exit 0 = allow (also: exit 1 = warn, execFileSync throws for non-zero but warn is caught below)
69
60
  process.exit(0);
70
61
  } catch (err) {
@@ -3,52 +3,54 @@
3
3
  * ClaudeContext SessionStart hook.
4
4
  * Fires on Claude Code startup and resume.
5
5
  *
6
- * Detects active task hydrates context bundle outputs additionalContext.
6
+ * Auto-initialises project state on first use (no `claudecontext init` needed).
7
+ * Hydrates context bundle and outputs additionalContext.
7
8
  * Timeout: 15s (Claude Code default).
8
9
  */
9
10
 
10
11
  import { execFileSync } from 'node:child_process';
11
- import { existsSync } from 'node:fs';
12
+ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
12
13
  import { join, resolve } from 'node:path';
13
14
 
14
15
  const projectRoot = resolve(process.env.CLAUDECONTEXT_PROJECT_ROOT ?? process.cwd());
16
+ const stateDir = join(projectRoot, '.claudecontext');
15
17
 
16
- // Prefer installed local binary (~2x faster than npx)
18
+ // Auto-init project state on first use no claudecontext init required
19
+ if (!existsSync(stateDir)) {
20
+ try {
21
+ mkdirSync(stateDir, { recursive: true });
22
+ if (!existsSync(join(stateDir, 'areas.json')))
23
+ writeFileSync(join(stateDir, 'areas.json'), '[]');
24
+ if (!existsSync(join(stateDir, 'config.json')))
25
+ writeFileSync(join(stateDir, 'config.json'), '{"budgets":{}}');
26
+ if (!existsSync(join(stateDir, 'gate-rules.json')))
27
+ writeFileSync(join(stateDir, 'gate-rules.json'), '[]');
28
+ } catch { /* ignore — directory may already exist */ }
29
+ }
30
+
31
+ // Prefer installed local binary (~2x faster than global)
17
32
  function findCli() {
18
33
  const local = join(projectRoot, 'node_modules', '.bin', 'claudecontext-cli');
19
34
  if (existsSync(local)) return local;
20
- return null; // will fall back to npx
35
+ return 'claudecontext-cli'; // global install in PATH
21
36
  }
22
37
 
23
38
  try {
24
39
  const cli = findCli();
25
- let result;
26
-
27
- if (cli) {
28
- result = execFileSync(cli, ['hydrate'], {
29
- cwd: projectRoot,
30
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
31
- timeout: 14000,
32
- encoding: 'utf8',
33
- });
34
- } else {
35
- result = execFileSync('npx', ['claudecontext-cli', 'hydrate'], {
36
- cwd: projectRoot,
37
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
38
- timeout: 14000,
39
- encoding: 'utf8',
40
- });
41
- }
40
+ const result = execFileSync(cli, ['hydrate'], {
41
+ cwd: projectRoot,
42
+ env: { ...process.env, NODE_NO_WARNINGS: '1' },
43
+ timeout: 14000,
44
+ encoding: 'utf8',
45
+ });
42
46
 
43
- // result is JSON: { additionalContext: "..." }
44
47
  const parsed = JSON.parse(result);
45
48
  if (parsed.additionalContext) {
46
- // Output in the format Claude Code expects for session hooks
47
49
  process.stdout.write(JSON.stringify({ additionalContext: parsed.additionalContext }));
48
50
  }
49
51
  } catch (err) {
50
52
  // Fail silently — don't break Claude Code startup
51
- process.stderr.write(`[claudecontext/session-start] Error: ${err?.message ?? err}\n`);
53
+ process.stderr.write(`[claudecontext/session-start] ${err?.message ?? err}\n`);
52
54
  }
53
55
 
54
56
  process.exit(0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exero1/claudecontext",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Persistent memory system for Claude Code — hierarchical cache levels + association graph",
5
5
  "type": "module",
6
6
  "engines": {
@@ -28,7 +28,8 @@
28
28
  "clean": "rm -rf dist",
29
29
  "ci": "npm run typecheck && npm run build && npm run test:unit && npm run test:integration",
30
30
  "build:publish": "tsc --project tsconfig.build.json",
31
- "prepublishOnly": "npm run clean && npm run build:publish && npm run typecheck"
31
+ "prepublishOnly": "npm run clean && npm run build:publish && npm run typecheck",
32
+ "postinstall": "node dist/installer/install.js global-install --auto || true"
32
33
  },
33
34
  "dependencies": {
34
35
  "@modelcontextprotocol/sdk": "^1.12.0",