cc2im 0.2.0 → 0.2.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.
Files changed (2) hide show
  1. package/dist/cli.js +23 -16
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -47,20 +47,18 @@ function loadAgentsJson() {
47
47
  function ensureDefaultConfig() {
48
48
  ensureSocketDir();
49
49
  if (!existsSync(AGENTS_JSON_PATH)) {
50
- const defaultConfig = {
51
- defaultAgent: 'brain',
52
- agents: {
53
- brain: {
54
- name: 'brain',
55
- cwd: join(homedir(), 'brain'),
56
- claudeArgs: ['--effort', 'max'],
57
- createdAt: new Date().toISOString().split('T')[0],
58
- autoStart: true,
59
- },
60
- },
61
- };
50
+ const defaultConfig = { defaultAgent: '', agents: {} };
62
51
  writeFileSync(AGENTS_JSON_PATH, JSON.stringify(defaultConfig, null, 2) + '\n');
63
- console.log(`[cc2im] Created default config: ${AGENTS_JSON_PATH}`);
52
+ }
53
+ }
54
+ function checkAgentsExist() {
55
+ const config = loadAgentsJson();
56
+ if (!config || Object.keys(config.agents).length === 0) {
57
+ console.log(`\n No agents registered yet. Quick setup:\n`);
58
+ console.log(` 1. cc2im login # WeChat QR login`);
59
+ console.log(` 2. cc2im agent register <name> <dir> # e.g. cc2im agent register mybot ~/projects/mybot`);
60
+ console.log(` 3. cc2im start # start hub + agents\n`);
61
+ process.exit(1);
64
62
  }
65
63
  }
66
64
  // --- Commands ---
@@ -118,11 +116,13 @@ async function login() {
118
116
  }
119
117
  async function runHub() {
120
118
  ensureDefaultConfig();
119
+ checkAgentsExist();
121
120
  const { startHub } = await import('./hub/index.js');
122
121
  await startHub({ autoStartAgents: false });
123
122
  }
124
123
  async function runStart() {
125
124
  ensureDefaultConfig();
125
+ checkAgentsExist();
126
126
  console.log('[cc2im] Starting hub + auto-start agents...');
127
127
  const { startHub } = await import('./hub/index.js');
128
128
  await startHub({ autoStartAgents: true });
@@ -167,15 +167,22 @@ function agentRegister(name, cwd) {
167
167
  console.error(`Directory "${cwd}" does not exist`);
168
168
  process.exit(1);
169
169
  }
170
+ const isFirst = Object.keys(config.agents).length === 0;
170
171
  config.agents[name] = {
171
172
  name,
172
173
  cwd,
173
174
  claudeArgs: [],
174
175
  createdAt: new Date().toISOString().split('T')[0],
175
- autoStart: false,
176
+ autoStart: isFirst,
176
177
  };
178
+ if (isFirst || !config.defaultAgent) {
179
+ config.defaultAgent = name;
180
+ }
177
181
  writeFileSync(AGENTS_JSON_PATH, JSON.stringify(config, null, 2) + '\n');
178
182
  console.log(`[cc2im] Registered agent "${name}" → ${cwd}`);
183
+ if (isFirst) {
184
+ console.log(`[cc2im] Set as default agent (autoStart: true)`);
185
+ }
179
186
  }
180
187
  function agentDeregister(name) {
181
188
  ensureDefaultConfig();
@@ -214,7 +221,7 @@ const arg = process.argv[4];
214
221
  switch (command) {
215
222
  case '--version':
216
223
  case '-v':
217
- console.log('cc2im v0.1.0');
224
+ console.log('cc2im v0.2.0');
218
225
  break;
219
226
  case 'login':
220
227
  await login();
@@ -294,7 +301,7 @@ switch (command) {
294
301
  case '--help':
295
302
  case '-h':
296
303
  default:
297
- console.log(`cc2im v0.1.0 — IM gateway for multiple Claude Code instances
304
+ console.log(`cc2im v0.2.0 — IM gateway for multiple Claude Code instances
298
305
 
299
306
  Usage:
300
307
  cc2im login 微信扫码登录
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc2im",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "IM gateway for multiple local Claude Code instances",
5
5
  "author": "roxorlt",
6
6
  "license": "MIT",