preclaim 0.3.4 → 0.3.6

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":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,iBAkF9E"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAsGA,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,iBA+F9E"}
@@ -1,30 +1,94 @@
1
- import { writeFile, readFile } from 'node:fs/promises';
1
+ import { writeFile, readFile, mkdir } from 'node:fs/promises';
2
2
  import { join, basename } from 'node:path';
3
3
  import { defaultConfig, loadCredentials, saveCredentials } from '@preclaim/core';
4
4
  import { loginCommand } from './login.js';
5
- export async function initCommand(opts) {
6
- const configPath = join(process.cwd(), '.preclaim.json');
7
- // Check if already exists
5
+ import { installHooksCommand } from './install-hooks.js';
6
+ const MCP_ENTRY = {
7
+ command: 'npx',
8
+ args: ['@preclaim/mcp'],
9
+ };
10
+ async function fileExists(path) {
8
11
  try {
9
- await readFile(configPath, 'utf-8');
10
- console.log('.preclaim.json already exists. Use `preclaim config` to modify.');
11
- return;
12
+ await readFile(path, 'utf-8');
13
+ return true;
12
14
  }
13
15
  catch {
14
- // File doesn't exist, proceed
16
+ return false;
15
17
  }
16
- const backend = opts.backend;
17
- // If project ID provided directly, skip onboarding
18
- if (opts.projectId) {
19
- const config = defaultConfig(opts.projectId, backend);
20
- await writeFile(configPath, JSON.stringify(config, null, 2) + '\n');
21
- console.log(`Created .preclaim.json (project: ${opts.projectId})`);
22
- printNextSteps(backend);
23
- return;
18
+ }
19
+ async function detectAgents(projectRoot) {
20
+ const agents = [];
21
+ // Claude Code .claude/ directory or running inside Claude Code
22
+ if (await fileExists(join(projectRoot, '.claude', 'settings.json')) || process.env.CLAUDE_CODE) {
23
+ agents.push({
24
+ name: 'Claude Code',
25
+ configPath: '.claude/settings.json',
26
+ writeConfig: async () => {
27
+ await installHooksCommand();
28
+ },
29
+ });
30
+ }
31
+ // Cursor — .cursor/ directory
32
+ const cursorMcpPath = join(projectRoot, '.cursor', 'mcp.json');
33
+ if (await fileExists(cursorMcpPath) || await fileExists(join(projectRoot, '.cursor', 'rules'))) {
34
+ agents.push({
35
+ name: 'Cursor',
36
+ configPath: '.cursor/mcp.json',
37
+ writeConfig: async () => {
38
+ await writeMcpConfig(cursorMcpPath);
39
+ },
40
+ });
41
+ }
42
+ // Windsurf — .windsurf/ directory
43
+ const windsurfMcpPath = join(projectRoot, '.windsurf', 'mcp.json');
44
+ if (await fileExists(join(projectRoot, '.windsurf', 'rules')) || await fileExists(windsurfMcpPath)) {
45
+ agents.push({
46
+ name: 'Windsurf',
47
+ configPath: '.windsurf/mcp.json',
48
+ writeConfig: async () => {
49
+ await writeMcpConfig(windsurfMcpPath);
50
+ },
51
+ });
52
+ }
53
+ // Cline — .cline/ directory
54
+ const clineMcpPath = join(projectRoot, '.cline', 'mcp.json');
55
+ if (await fileExists(join(projectRoot, '.cline', 'mcp_settings.json')) || await fileExists(join(projectRoot, '.cline', 'rules'))) {
56
+ agents.push({
57
+ name: 'Cline',
58
+ configPath: '.cline/mcp.json',
59
+ writeConfig: async () => {
60
+ await writeMcpConfig(clineMcpPath);
61
+ },
62
+ });
24
63
  }
25
- // Check if logged in, if not: login first
64
+ return agents;
65
+ }
66
+ async function writeMcpConfig(configPath) {
67
+ // Read existing config or create new
68
+ let config = {};
69
+ try {
70
+ const raw = await readFile(configPath, 'utf-8');
71
+ config = JSON.parse(raw);
72
+ }
73
+ catch {
74
+ // File doesn't exist
75
+ }
76
+ // Merge preclaim into mcpServers
77
+ const mcpServers = (config.mcpServers ?? {});
78
+ mcpServers.preclaim = MCP_ENTRY;
79
+ config.mcpServers = mcpServers;
80
+ await mkdir(join(configPath, '..'), { recursive: true });
81
+ await writeFile(configPath, JSON.stringify(config, null, 2) + '\n');
82
+ }
83
+ // ─── Init command ───
84
+ export async function initCommand(opts) {
85
+ const projectRoot = process.cwd();
86
+ const configPath = join(projectRoot, '.preclaim.json');
87
+ const backend = opts.backend;
88
+ // ─── Step 1: Auth ───
26
89
  let creds = await loadCredentials();
27
- if (!creds) {
90
+ const configExists = await fileExists(configPath);
91
+ if (!creds && !opts.projectId) {
28
92
  console.log('Not logged in. Starting authentication...\n');
29
93
  await loginCommand();
30
94
  creds = await loadCredentials();
@@ -34,55 +98,74 @@ export async function initCommand(opts) {
34
98
  }
35
99
  console.log('');
36
100
  }
37
- // Derive project name from directory
38
- const dirName = basename(process.cwd());
39
- const projectSlug = dirName.toLowerCase().replace(/[^a-z0-9-]/g, '-').replace(/-+/g, '-');
40
- const projectName = dirName;
41
- console.log(`Setting up Preclaim for "${projectName}"...`);
42
- // Call onboard API
43
- const res = await fetch(`${backend}/api/v1/onboard`, {
44
- method: 'POST',
45
- headers: {
46
- 'Content-Type': 'application/json',
47
- 'Authorization': `Bearer ${creds.accessToken}`,
48
- },
49
- body: JSON.stringify({
50
- project_name: projectName,
51
- project_slug: projectSlug,
52
- }),
53
- });
54
- if (!res.ok) {
55
- const body = await res.text();
56
- console.error(`Failed to create project: ${body}`);
57
- process.exit(1);
58
- }
59
- const { data } = await res.json();
60
- if (data.already_existed) {
61
- console.log(`Project "${projectName}" already exists, using existing project.`);
101
+ // ─── Step 2: Project setup ───
102
+ if (!configExists) {
103
+ if (opts.projectId) {
104
+ const config = defaultConfig(opts.projectId, backend);
105
+ await writeFile(configPath, JSON.stringify(config, null, 2) + '\n');
106
+ console.log(`Created .preclaim.json (project: ${opts.projectId})`);
107
+ }
108
+ else {
109
+ const dirName = basename(projectRoot);
110
+ const projectSlug = dirName.toLowerCase().replace(/[^a-z0-9-]/g, '-').replace(/-+/g, '-');
111
+ const projectName = dirName;
112
+ console.log(`Setting up Preclaim for "${projectName}"...`);
113
+ const res = await fetch(`${backend}/api/v1/onboard`, {
114
+ method: 'POST',
115
+ headers: {
116
+ 'Content-Type': 'application/json',
117
+ 'Authorization': `Bearer ${creds.accessToken}`,
118
+ },
119
+ body: JSON.stringify({
120
+ project_name: projectName,
121
+ project_slug: projectSlug,
122
+ }),
123
+ });
124
+ if (!res.ok) {
125
+ const body = await res.text();
126
+ console.error(`Failed to create project: ${body}`);
127
+ process.exit(1);
128
+ }
129
+ const { data } = await res.json();
130
+ if (data.already_existed) {
131
+ console.log(`Project "${projectName}" already exists — joining.`);
132
+ }
133
+ else {
134
+ console.log(`Project "${projectName}" created.`);
135
+ }
136
+ if (creds.user.orgId !== data.org_id) {
137
+ creds.user.orgId = data.org_id;
138
+ await saveCredentials(creds);
139
+ }
140
+ const config = defaultConfig(data.project_id, backend);
141
+ await writeFile(configPath, JSON.stringify(config, null, 2) + '\n');
142
+ console.log('Created .preclaim.json');
143
+ }
62
144
  }
63
145
  else {
64
- console.log(`Project "${projectName}" created.`);
146
+ console.log('.preclaim.json found — project already configured.');
65
147
  }
66
- // Update credentials with org_id
67
- if (creds.user.orgId !== data.org_id) {
68
- creds.user.orgId = data.org_id;
69
- await saveCredentials(creds);
148
+ // ─── Step 3: Detect agents and install integrations ───
149
+ const agents = await detectAgents(projectRoot);
150
+ if (agents.length === 0) {
151
+ // No agent detected — install Claude Code hooks as default + show MCP instructions
152
+ console.log('\nNo AI agent detected. Installing Claude Code hooks as default...');
153
+ await installHooksCommand();
154
+ console.log('\nUsing a different agent? Add this to your MCP config:\n');
155
+ console.log(JSON.stringify({ mcpServers: { preclaim: MCP_ENTRY } }, null, 2));
70
156
  }
71
- // Write config
72
- const config = defaultConfig(data.project_id, backend);
73
- await writeFile(configPath, JSON.stringify(config, null, 2) + '\n');
74
- console.log(`\nCreated .preclaim.json`);
75
- printNextSteps(backend);
76
- }
77
- function printNextSteps(backend) {
157
+ else {
158
+ console.log(`\nDetected: ${agents.map(a => a.name).join(', ')}`);
159
+ for (const agent of agents) {
160
+ console.log(` Setting up ${agent.name}...`);
161
+ await agent.writeConfig(projectRoot);
162
+ console.log(` ✓ ${agent.name} configured (${agent.configPath})`);
163
+ }
164
+ }
165
+ // ─── Done ───
78
166
  const dashboardUrl = backend.replace(/\/api\/v1$/, '').replace(/\/$/, '');
79
- console.log('');
80
- console.log('Next steps:');
81
- console.log(' 1. preclaim install-hooks');
82
- console.log(' 2. Commit .preclaim.json to your repo');
83
- console.log(' 3. Open multiple Claude Code terminals — locks are automatic');
84
- console.log('');
85
- console.log(`Dashboard: ${dashboardUrl}/dashboard`);
86
- console.log('View your locks and activity in real-time.');
167
+ console.log('\n✓ Preclaim is ready.');
168
+ console.log(' Commit .preclaim.json to your repo so your team can join.');
169
+ console.log(` Dashboard: ${dashboardUrl}/dashboard`);
87
170
  }
88
171
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { Command } from 'commander';
4
+ import { getCommandDescription } from '@preclaim/core';
4
5
  import { initCommand } from './commands/init.js';
5
6
  import { loginCommand } from './commands/login.js';
6
7
  import { lockCommand } from './commands/lock.js';
@@ -14,6 +15,7 @@ import { logsCommand } from './commands/logs.js';
14
15
  import { sessionsCommand } from './commands/sessions.js';
15
16
  const require = createRequire(import.meta.url);
16
17
  const { version } = require('../package.json');
18
+ const desc = getCommandDescription;
17
19
  const program = new Command();
18
20
  program
19
21
  .name('preclaim')
@@ -21,55 +23,55 @@ program
21
23
  .version(version);
22
24
  program
23
25
  .command('init')
24
- .description('Initialize Preclaim in the current project')
26
+ .description(desc('init'))
25
27
  .option('--backend <url>', 'Backend URL', 'https://preclaim.dev')
26
28
  .option('--project-id <id>', 'Project ID')
27
29
  .action(initCommand);
28
30
  program
29
31
  .command('login')
30
- .description('Authenticate with Preclaim')
32
+ .description(desc('login'))
31
33
  .action(loginCommand);
32
34
  program
33
35
  .command('lock <file>')
34
- .description('Lock a file')
36
+ .description(desc('lock'))
35
37
  .option('-s, --session <id>', 'Session ID')
36
38
  .option('-t, --ttl <minutes>', 'Lock TTL in minutes')
37
39
  .action(lockCommand);
38
40
  program
39
41
  .command('unlock [file]')
40
- .description('Release a file lock')
42
+ .description(desc('unlock'))
41
43
  .option('-s, --session <id>', 'Session ID')
42
44
  .option('-a, --all', 'Release all locks for this session')
43
45
  .action(unlockCommand);
44
46
  program
45
47
  .command('status')
46
- .description('Show active locks for this project')
48
+ .description(desc('status'))
47
49
  .action(statusCommand);
48
50
  program
49
51
  .command('check <files...>')
50
- .description('Check lock status for files')
52
+ .description(desc('check'))
51
53
  .action(checkCommand);
52
54
  program
53
55
  .command('whoami')
54
- .description('Show current user info')
56
+ .description(desc('whoami'))
55
57
  .action(whoamiCommand);
56
58
  program
57
59
  .command('config')
58
- .description('View or modify project configuration')
60
+ .description(desc('config'))
59
61
  .option('--get <key>', 'Get a config value')
60
62
  .option('--set <key=value>', 'Set a config value')
61
63
  .action(configCommand);
62
64
  program
63
65
  .command('sessions')
64
- .description('Show active sessions for this project')
66
+ .description(desc('sessions'))
65
67
  .action(sessionsCommand);
66
68
  program
67
69
  .command('logs')
68
- .description('Show recent lock activity for this project')
70
+ .description(desc('logs'))
69
71
  .action(logsCommand);
70
72
  program
71
73
  .command('install-hooks')
72
- .description('Install Claude Code hooks in the current project')
74
+ .description(desc('install-hooks'))
73
75
  .action(installHooksCommand);
74
76
  // Internal: hook runner for Claude Code hooks via npx
75
77
  const hook = program
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "preclaim",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "AI File Coordination Layer — predictive file locking for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "commander": "^13.1.0",
14
14
  "minimatch": "^10.0.0",
15
- "@preclaim/core": "0.2.3"
15
+ "@preclaim/core": "0.3.0"
16
16
  },
17
17
  "repository": {
18
18
  "type": "git",