ceetrix 1.0.1 → 1.0.7

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/bin/ceetrix.js CHANGED
@@ -1,12 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import { main } from '../dist/index.js';
3
+ import { printDebugInfo } from '../dist/debug.js';
3
4
 
4
- main()
5
- .then(() => {
6
- // @inquirer/prompts leaves stdin open - unref it so Node can exit
7
- process.stdin.unref();
8
- })
9
- .catch((err) => {
10
- console.error(err.message);
11
- process.exit(1);
12
- });
5
+ const args = process.argv.slice(2);
6
+
7
+ if (args.includes('--debug') || args.includes('-d')) {
8
+ printDebugInfo()
9
+ .then(() => process.exit(0))
10
+ .catch((err) => {
11
+ console.error('Debug failed:', err.message);
12
+ process.exit(1);
13
+ });
14
+ } else {
15
+ main()
16
+ .then(() => {
17
+ // @inquirer/prompts leaves stdin open - unref it so Node can exit
18
+ process.stdin.unref();
19
+ })
20
+ .catch((err) => {
21
+ console.error(err.message);
22
+ process.exit(1);
23
+ });
24
+ }
package/dist/claude.d.ts CHANGED
@@ -1,17 +1,21 @@
1
1
  /**
2
2
  * Claude CLI integration
3
+ *
4
+ * Uses the `which` package for cross-platform executable detection.
5
+ * This handles non-login shells (e.g., npx context) where PATH may not
6
+ * include user-configured directories like /opt/homebrew/bin.
3
7
  */
4
8
  /**
5
- * Check if the Claude CLI is available in PATH.
9
+ * Check if the Claude CLI is available.
6
10
  *
7
- * @returns true if claude command is available
11
+ * @returns true if claude command is available and responds to --version
8
12
  */
9
13
  export declare function checkClaudeCli(): Promise<boolean>;
10
14
  /**
11
15
  * Add Ceetrix MCP server configuration to Claude Code.
12
16
  *
13
17
  * @param apiKey - The API key to use for authentication
14
- * @throws Error if the command fails
18
+ * @throws Error if Claude CLI not found or command fails
15
19
  */
16
20
  export declare function addConfig(apiKey: string): Promise<void>;
17
21
  /**
@@ -23,7 +27,7 @@ export declare function checkExistingConfig(): Promise<boolean>;
23
27
  /**
24
28
  * Remove Ceetrix configuration from Claude Code.
25
29
  *
26
- * @throws Error if the command fails
30
+ * @throws Error if Claude CLI not found or command fails
27
31
  */
28
32
  export declare function removeConfig(): Promise<void>;
29
33
  //# sourceMappingURL=claude.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CASvD;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7D;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAS5D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAIlD"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8DH;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAYvD;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB7D;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAY5D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CASlD"}
package/dist/claude.js CHANGED
@@ -1,20 +1,74 @@
1
1
  /**
2
2
  * Claude CLI integration
3
+ *
4
+ * Uses the `which` package for cross-platform executable detection.
5
+ * This handles non-login shells (e.g., npx context) where PATH may not
6
+ * include user-configured directories like /opt/homebrew/bin.
3
7
  */
4
8
  import { exec } from 'child_process';
5
9
  import { promisify } from 'util';
10
+ import which from 'which';
6
11
  import { getMcpServerUrl } from './constants.js';
7
12
  const execAsync = promisify(exec);
8
13
  /** Timeout for Claude CLI commands in milliseconds */
9
14
  const CLAUDE_COMMAND_TIMEOUT_MS = 10000;
15
+ /** Common installation paths for Claude CLI (fallback when not in PATH) */
16
+ const COMMON_CLAUDE_PATHS = [
17
+ '/opt/homebrew/bin/claude', // macOS Homebrew ARM
18
+ '/usr/local/bin/claude', // macOS Homebrew Intel / Linux
19
+ `${process.env.HOME}/.local/bin/claude`, // pip/pipx style installs
20
+ ];
21
+ /** Cached path to claude executable */
22
+ let cachedClaudePath = null;
23
+ /**
24
+ * Find claude executable using the `which` package.
25
+ * Falls back to common installation paths if not in PATH.
26
+ *
27
+ * @returns Full path to claude executable, or null if not found
28
+ */
29
+ async function findClaudePath() {
30
+ // Try standard PATH lookup first
31
+ try {
32
+ return await which('claude');
33
+ }
34
+ catch {
35
+ // Not in PATH, try common locations
36
+ }
37
+ // Fallback: check common installation paths
38
+ for (const path of COMMON_CLAUDE_PATHS) {
39
+ try {
40
+ // which() can verify a specific path exists and is executable
41
+ await which(path);
42
+ return path;
43
+ }
44
+ catch {
45
+ // Try next path
46
+ }
47
+ }
48
+ return null;
49
+ }
10
50
  /**
11
- * Check if the Claude CLI is available in PATH.
51
+ * Get the cached claude path, finding it if not already cached.
12
52
  *
13
- * @returns true if claude command is available
53
+ * @returns Full path to claude executable, or empty string if not found
54
+ */
55
+ async function getClaudePath() {
56
+ if (cachedClaudePath === null) {
57
+ cachedClaudePath = (await findClaudePath()) ?? '';
58
+ }
59
+ return cachedClaudePath;
60
+ }
61
+ /**
62
+ * Check if the Claude CLI is available.
63
+ *
64
+ * @returns true if claude command is available and responds to --version
14
65
  */
15
66
  export async function checkClaudeCli() {
67
+ const claudePath = await getClaudePath();
68
+ if (!claudePath)
69
+ return false;
16
70
  try {
17
- await execAsync('claude --version', {
71
+ await execAsync(`"${claudePath}" --version`, {
18
72
  timeout: CLAUDE_COMMAND_TIMEOUT_MS,
19
73
  });
20
74
  return true;
@@ -27,9 +81,13 @@ export async function checkClaudeCli() {
27
81
  * Add Ceetrix MCP server configuration to Claude Code.
28
82
  *
29
83
  * @param apiKey - The API key to use for authentication
30
- * @throws Error if the command fails
84
+ * @throws Error if Claude CLI not found or command fails
31
85
  */
32
86
  export async function addConfig(apiKey) {
87
+ const claudePath = await getClaudePath();
88
+ if (!claudePath) {
89
+ throw new Error('Claude CLI not found');
90
+ }
33
91
  const config = {
34
92
  type: 'http',
35
93
  url: getMcpServerUrl(),
@@ -40,7 +98,7 @@ export async function addConfig(apiKey) {
40
98
  const configJson = JSON.stringify(config);
41
99
  // Escape single quotes for shell
42
100
  const escaped = configJson.replace(/'/g, "'\\''");
43
- await execAsync(`claude mcp add-json ceetrix '${escaped}' --scope user`, {
101
+ await execAsync(`"${claudePath}" mcp add-json ceetrix '${escaped}' --scope user`, {
44
102
  timeout: CLAUDE_COMMAND_TIMEOUT_MS,
45
103
  });
46
104
  }
@@ -50,8 +108,11 @@ export async function addConfig(apiKey) {
50
108
  * @returns true if ceetrix server is configured
51
109
  */
52
110
  export async function checkExistingConfig() {
111
+ const claudePath = await getClaudePath();
112
+ if (!claudePath)
113
+ return false;
53
114
  try {
54
- const { stdout } = await execAsync('claude mcp list', {
115
+ const { stdout } = await execAsync(`"${claudePath}" mcp list`, {
55
116
  timeout: CLAUDE_COMMAND_TIMEOUT_MS,
56
117
  });
57
118
  return stdout.includes('ceetrix:');
@@ -63,10 +124,14 @@ export async function checkExistingConfig() {
63
124
  /**
64
125
  * Remove Ceetrix configuration from Claude Code.
65
126
  *
66
- * @throws Error if the command fails
127
+ * @throws Error if Claude CLI not found or command fails
67
128
  */
68
129
  export async function removeConfig() {
69
- await execAsync('claude mcp remove ceetrix', {
130
+ const claudePath = await getClaudePath();
131
+ if (!claudePath) {
132
+ throw new Error('Claude CLI not found');
133
+ }
134
+ await execAsync(`"${claudePath}" mcp remove ceetrix`, {
70
135
  timeout: CLAUDE_COMMAND_TIMEOUT_MS,
71
136
  });
72
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,sDAAsD;AACtD,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,kBAAkB,EAAE;YAClC,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc;IAC5C,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,eAAe,EAAE;QACtB,OAAO,EAAE;YACP,WAAW,EAAE,MAAM;SACpB;KACF,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE1C,iCAAiC;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAElD,MAAM,SAAS,CAAC,gCAAgC,OAAO,gBAAgB,EAAE;QACvE,OAAO,EAAE,yBAAyB;KACnC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE;YACpD,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,SAAS,CAAC,2BAA2B,EAAE;QAC3C,OAAO,EAAE,yBAAyB;KACnC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
package/dist/constants.js CHANGED
@@ -6,7 +6,7 @@
6
6
  */
7
7
  /** Base URL for Ceetrix API, can be overridden via CEETRIX_API_URL env var */
8
8
  export function getApiBaseUrl() {
9
- return process.env.CEETRIX_API_URL || 'https://app.ceetrix.com';
9
+ return process.env.CEETRIX_API_URL || 'https://api.ceetrix.com';
10
10
  }
11
11
  /** Setup endpoint URL */
12
12
  export function getSetupUrl() {
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Debug diagnostics for troubleshooting installation issues
3
+ */
4
+ /**
5
+ * Print debug diagnostics and exit.
6
+ */
7
+ export declare function printDebugInfo(): Promise<void>;
8
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAmGpD"}
package/dist/debug.js ADDED
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Debug diagnostics for troubleshooting installation issues
3
+ */
4
+ import { exec } from 'child_process';
5
+ import { promisify } from 'util';
6
+ import which from 'which';
7
+ const execAsync = promisify(exec);
8
+ /** Common installation paths for Claude CLI */
9
+ const COMMON_CLAUDE_PATHS = [
10
+ '/opt/homebrew/bin/claude',
11
+ '/usr/local/bin/claude',
12
+ `${process.env.HOME}/.local/bin/claude`,
13
+ ];
14
+ /** Command timeout for diagnostics */
15
+ const DIAG_TIMEOUT_MS = 5000;
16
+ /**
17
+ * Print debug diagnostics and exit.
18
+ */
19
+ export async function printDebugInfo() {
20
+ console.log('\nCeetrix Debug Diagnostics');
21
+ console.log('═════════════════════════\n');
22
+ // Platform info
23
+ console.log('Platform');
24
+ console.log('────────');
25
+ console.log(` OS: ${process.platform}`);
26
+ console.log(` Arch: ${process.arch}`);
27
+ console.log(` Node: ${process.version}`);
28
+ console.log('');
29
+ // PATH
30
+ console.log('PATH');
31
+ console.log('────');
32
+ const pathDirs = (process.env.PATH || '').split(':');
33
+ for (const dir of pathDirs) {
34
+ console.log(` ${dir}`);
35
+ }
36
+ console.log('');
37
+ // Claude CLI detection
38
+ console.log('Claude CLI Detection');
39
+ console.log('────────────────────');
40
+ // Try which
41
+ try {
42
+ const foundPath = await which('claude');
43
+ console.log(` which('claude'): ${foundPath}`);
44
+ }
45
+ catch {
46
+ console.log(` which('claude'): NOT FOUND`);
47
+ }
48
+ // Try common paths
49
+ for (const path of COMMON_CLAUDE_PATHS) {
50
+ try {
51
+ await which(path);
52
+ console.log(` ${path}: EXISTS`);
53
+ }
54
+ catch {
55
+ console.log(` ${path}: NOT FOUND`);
56
+ }
57
+ }
58
+ console.log('');
59
+ // Claude version (if found)
60
+ console.log('Claude CLI Version');
61
+ console.log('──────────────────');
62
+ try {
63
+ const { stdout } = await execAsync('claude --version', { timeout: DIAG_TIMEOUT_MS });
64
+ console.log(` ${stdout.trim()}`);
65
+ }
66
+ catch {
67
+ // Try with full path
68
+ for (const path of COMMON_CLAUDE_PATHS) {
69
+ try {
70
+ const { stdout } = await execAsync(`"${path}" --version`, { timeout: DIAG_TIMEOUT_MS });
71
+ console.log(` ${stdout.trim()} (via ${path})`);
72
+ break;
73
+ }
74
+ catch {
75
+ // Continue
76
+ }
77
+ }
78
+ }
79
+ console.log('');
80
+ // Existing MCP config
81
+ console.log('Ceetrix MCP Config');
82
+ console.log('──────────────────');
83
+ try {
84
+ const { stdout } = await execAsync('claude mcp list', { timeout: DIAG_TIMEOUT_MS });
85
+ if (stdout.includes('ceetrix:')) {
86
+ const lines = stdout.split('\n');
87
+ const ceetrixLine = lines.find(l => l.includes('ceetrix'));
88
+ console.log(` Status: CONFIGURED`);
89
+ if (ceetrixLine) {
90
+ console.log(` Entry: ${ceetrixLine.trim()}`);
91
+ }
92
+ }
93
+ else {
94
+ console.log(` Status: NOT CONFIGURED`);
95
+ }
96
+ }
97
+ catch (e) {
98
+ console.log(` Status: UNABLE TO CHECK (claude mcp list failed)`);
99
+ }
100
+ console.log('');
101
+ // Shell info
102
+ console.log('Shell Environment');
103
+ console.log('─────────────────');
104
+ console.log(` SHELL: ${process.env.SHELL || 'not set'}`);
105
+ console.log(` HOME: ${process.env.HOME || 'not set'}`);
106
+ console.log(` USER: ${process.env.USER || 'not set'}`);
107
+ console.log('');
108
+ console.log('─────────────────────────────────────────────────────');
109
+ console.log('Ceetrix currently supports macOS + Claude Code only.');
110
+ console.log('');
111
+ console.log('If you have this combination and still have issues,');
112
+ console.log('copy the above and post to the Ceetrix Discord:');
113
+ console.log('https://ceetrix.com/discord');
114
+ console.log('');
115
+ }
116
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmD1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA4D1C"}
package/dist/index.js CHANGED
@@ -8,19 +8,31 @@ import { openBrowser } from './browser.js';
8
8
  import { promptForRepo, promptExistingConfig } from './prompts.js';
9
9
  import { checkClaudeCli, addConfig } from './claude.js';
10
10
  import { getSetupUrl, AUTH_TIMEOUT_MS } from './constants.js';
11
+ /** Supported platform for this release */
12
+ const SUPPORTED_PLATFORM = 'darwin';
11
13
  /**
12
14
  * Main CLI entry point
13
15
  */
14
16
  export async function main() {
15
- console.log('[DEBUG] main() started');
16
17
  console.log('\nCeetrix Setup');
17
18
  console.log('─────────────\n');
19
+ // Platform check - macOS only for now
20
+ if (process.platform !== SUPPORTED_PLATFORM) {
21
+ console.error(`✗ Unsupported platform: ${process.platform}\n`);
22
+ console.error('Ceetrix currently supports macOS + Claude Code only.');
23
+ console.error('Windows and Linux support coming soon.');
24
+ console.error('');
25
+ console.error('Join the Discord for updates: https://ceetrix.com/discord\n');
26
+ process.exit(1);
27
+ }
18
28
  // Check Claude CLI is available
19
29
  const claudeAvailable = await checkClaudeCli();
20
30
  if (!claudeAvailable) {
21
31
  console.error('✗ Claude Code CLI not found\n');
22
- console.error('Install Claude Code first:');
23
- console.error('https://claude.ai/download\n');
32
+ console.error('Install Claude Code first: https://claude.ai/download');
33
+ console.error('');
34
+ console.error('If Claude Code is installed, run: npx ceetrix --debug');
35
+ console.error('and post the output to: https://ceetrix.com/discord\n');
24
36
  process.exit(1);
25
37
  }
26
38
  // Check if already configured
@@ -55,9 +67,7 @@ export async function main() {
55
67
  repo = await promptForRepo();
56
68
  }
57
69
  // Run the setup flow
58
- console.log('[DEBUG] Calling runSetupFlow...');
59
70
  await runSetupFlow(repo);
60
- console.log('[DEBUG] runSetupFlow completed, main() returning');
61
71
  }
62
72
  /**
63
73
  * Handle case when Ceetrix is already configured.
@@ -142,14 +152,10 @@ async function runSetupFlow(repo) {
142
152
  console.log('✓ Configuration added\n');
143
153
  // Show restart notice
144
154
  printRestartNotice();
145
- console.log('[DEBUG] About to close server...');
146
155
  }
147
156
  finally {
148
- console.log('[DEBUG] In finally block, calling close()...');
149
157
  close();
150
- console.log('[DEBUG] Server closed');
151
158
  }
152
- console.log('[DEBUG] runSetupFlow() returning');
153
159
  }
154
160
  /**
155
161
  * Create a cancellable timeout promise.
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":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAsB,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE9D,0CAA0C;AAC1C,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAE/B,sCAAsC;IACtC,IAAI,OAAO,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,2BAA2B,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,MAAM,cAAc,EAAE,CAAC;IAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,MAAM,cAAc,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACnD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC5C,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,2CAA2C;IAC7C,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;IAC1C,IAAI,IAAY,CAAC;IAEjB,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,mCAAmC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;QACnE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,qDAAqD;QACrD,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,aAAa;gBAChB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,WAAW;gBACd,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBACjE,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC3D,MAAM;QACV,CAAC;QACD,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB;IACjC,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAE5C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAElB,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,oBAAoB,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACpD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,MAAM,CAAC;QAEhB,KAAK,QAAQ;YACX,+CAA+C;YAC/C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,UAAU,CAAC;QAEpB,KAAK,UAAU;YACb,4BAA4B;YAC5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,UAAU,CAAC;QAEpB;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,wBAAwB;IACxB,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAErE,IAAI,CAAC;QACH,kBAAkB;QAClB,MAAM,WAAW,GAAG,oBAAoB,IAAI,WAAW,CAAC;QACxD,MAAM,QAAQ,GAAG,GAAG,WAAW,EAAE,aAAa,kBAAkB,CAAC,WAAW,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAEjH,eAAe;QACf,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,iCAAiC;QACjC,MAAM,WAAW,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,eAAe,EAAE;YACjB,WAAW,CAAC,OAAO;SACpB,CAAC,CAAC;QACH,sDAAsD;QACtD,WAAW,CAAC,MAAM,EAAE,CAAC;QAErB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,eAAe;QACf,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAEvC,sBAAsB;QACtB,kBAAkB,EAAE,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,KAAK,EAAE,CAAC;IACV,CAAC;AACH,CAAC;AAUD;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,EAAU;IAC1C,IAAI,SAAwC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC5C,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;KACtC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB;IACzB,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;AACvF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ceetrix",
3
- "version": "1.0.1",
3
+ "version": "1.0.7",
4
4
  "description": "Set up Ceetrix backlog management for Claude Code",
5
5
  "bin": {
6
6
  "ceetrix": "./bin/ceetrix.js"
@@ -19,10 +19,12 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@inquirer/prompts": "^7.0.0",
22
- "open": "^10.0.0"
22
+ "open": "^10.0.0",
23
+ "which": "^6.0.0"
23
24
  },
24
25
  "devDependencies": {
25
26
  "@types/node": "^20.0.0",
27
+ "@types/which": "^3.0.4",
26
28
  "typescript": "^5.0.0",
27
29
  "vitest": "^2.0.0",
28
30
  "why-is-node-running": "^3.2.2"