@birdmichael/ccsync 1.0.1 → 1.0.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.
Files changed (38) hide show
  1. package/README.md +4 -3
  2. package/dist/commands/config.js +2 -2
  3. package/dist/commands/dashboard.d.ts.map +1 -1
  4. package/dist/commands/dashboard.js +2 -2
  5. package/dist/commands/dashboard.js.map +1 -1
  6. package/dist/commands/logs.js +1 -1
  7. package/dist/commands/menu.js +3 -3
  8. package/dist/commands/setup.js +1 -1
  9. package/dist/commands/start.js +2 -2
  10. package/dist/commands/status.d.ts +6 -1
  11. package/dist/commands/status.d.ts.map +1 -1
  12. package/dist/commands/status.js +4 -3
  13. package/dist/commands/status.js.map +1 -1
  14. package/dist/commands/stop.js +2 -2
  15. package/dist/commands/sync.js +2 -2
  16. package/dist/commands/toggle.js +2 -2
  17. package/dist/core/config-manager.d.ts.map +1 -1
  18. package/dist/core/config-manager.js +17 -3
  19. package/dist/core/config-manager.js.map +1 -1
  20. package/dist/core/launch-agent.js +1 -1
  21. package/dist/core/permission-manager.js +1 -1
  22. package/dist/core/service-manager.js +4 -4
  23. package/dist/core/sync-service.js +6 -6
  24. package/dist/syncers/mcp-syncer.js +3 -3
  25. package/dist/syncers/skills-syncer.js +2 -2
  26. package/dist/types/config.d.ts.map +1 -1
  27. package/dist/types/config.js +8 -0
  28. package/dist/types/config.js.map +1 -1
  29. package/dist/ui/config/index.js +1 -1
  30. package/dist/ui/dashboard/index.js +1 -1
  31. package/dist/ui/error/index.js +1 -1
  32. package/dist/utils/error-handler.js +1 -1
  33. package/dist/utils/file-watcher.js +1 -1
  34. package/package.json +3 -2
  35. package/scripts/build-and-test.sh +87 -0
  36. package/scripts/fix-imports.mjs +56 -0
  37. package/scripts/quick-release.sh +140 -0
  38. package/scripts/test-compiled.sh +18 -0
package/README.md CHANGED
@@ -18,7 +18,8 @@ ccsync 是一个用于将 ccswitch 的 Skills 和 MCP 服务器自动同步到 O
18
18
  ### 从源码安装
19
19
 
20
20
  ```bash
21
- cd /Users/bm/Documents/Code/Github/ccswitch2opencode/ccsync
21
+ git clone https://github.com/birdmichael/ccsync.git
22
+ cd ccsync
22
23
  npm install
23
24
  npm run build
24
25
  npm link
@@ -27,7 +28,7 @@ npm link
27
28
  ### 使用 NPM 安装(推荐)
28
29
 
29
30
  ```bash
30
- npm install -g ccsync
31
+ npm install -g @birdmichael/ccsync
31
32
  ```
32
33
 
33
34
  ## 使用
@@ -238,4 +239,4 @@ MIT License
238
239
 
239
240
  ## 反馈
240
241
 
241
- 如遇问题,请在 https://github.com/ccswitch2opencode/ccsync/issues 提交 Issue。
242
+ 如遇问题,请在 https://github.com/birdmichael/ccsync/issues 提交 Issue。
@@ -4,8 +4,8 @@ import { exec } from 'node:child_process';
4
4
  import os from 'node:os';
5
5
  import path from 'node:path';
6
6
  import { promisify } from 'node:util';
7
- import { configManager } from '../core/config-manager';
8
- import { TEXTS } from '../utils/texts';
7
+ import { configManager } from '../core/config-manager.js';
8
+ import { TEXTS } from '../utils/texts.js';
9
9
  const execAsync = promisify(exec);
10
10
  export default class Config extends Command {
11
11
  static description = TEXTS.commands.config;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAStC,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAAc;IAClC,MAAM,CAAC,QAAQ,WAEX;IACJ,OAAO,CAAC,eAAe,CAA+B;IAE9C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8C3B"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQtC,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAAc;IAClC,MAAM,CAAC,QAAQ,WAEX;IACJ,OAAO,CAAC,eAAe,CAA+B;IAE9C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8C3B"}
@@ -3,8 +3,8 @@ import { Command } from '@oclif/core';
3
3
  import { render } from 'ink';
4
4
  import { clearInterval, setInterval } from 'node:timers';
5
5
  import React from 'react';
6
- import { configManager } from '../core/config-manager';
7
- import { Dashboard as DashboardComponent } from '../ui/dashboard';
6
+ import { configManager } from '../core/config-manager.js';
7
+ import { Dashboard as DashboardComponent } from '../ui/dashboard/index.js';
8
8
  export default class Dashboard extends Command {
9
9
  static description = '打开可视化仪表板';
10
10
  static examples = [
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,QAAQ,GAAG;QACd,qCAAqC;KACtC,CAAC;IACI,eAAe,GAA0B,IAAI,CAAC;IAEpD,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QAEzC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAClC,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE;YACtC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;YAC1B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;YACjC,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK;YACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC;YACtC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;YACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;SACnC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;YAEhD,QAAQ,CACN,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE;gBACtC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO;gBAC1C,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC;gBACjC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ;gBACxC,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;gBACvC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK;gBAC/C,WAAW,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC;gBAC7C,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ;gBAC5C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;aAC1C,CAAC,CACH,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtC,CAAC;YAED,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,QAAQ,GAAG;QACd,qCAAqC;KACtC,CAAC;IACI,eAAe,GAA0B,IAAI,CAAC;IAEpD,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QAEzC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAClC,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE;YACtC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;YAC1B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;YACjC,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK;YACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC;YACtC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;YACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;SACnC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;YAEhD,QAAQ,CACN,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE;gBACtC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO;gBAC1C,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC;gBACjC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ;gBACxC,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;gBACvC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK;gBAC/C,WAAW,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC;gBAC7C,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ;gBAC5C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;aAC1C,CAAC,CACH,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtC,CAAC;YAED,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC"}
@@ -3,7 +3,7 @@ import { Command, Flags } from '@oclif/core';
3
3
  import fs from 'fs-extra';
4
4
  import os from 'node:os';
5
5
  import path from 'node:path';
6
- import { TEXTS } from '../utils/texts';
6
+ import { TEXTS } from '../utils/texts.js';
7
7
  export default class Logs extends Command {
8
8
  static description = TEXTS.commands.logs;
9
9
  static flags = {
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { confirm, select } from '@inquirer/prompts';
3
3
  import { Command } from '@oclif/core';
4
- import { configManager } from '../core/config-manager';
5
- import { serviceManager } from '../core/service-manager';
6
- import { TEXTS } from '../utils/texts';
4
+ import { configManager } from '../core/config-manager.js';
5
+ import { serviceManager } from '../core/service-manager.js';
6
+ import { TEXTS } from '../utils/texts.js';
7
7
  export default class Menu extends Command {
8
8
  static description = TEXTS.commands.menu;
9
9
  async run() {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { checkbox, confirm, input, select } from '@inquirer/prompts';
3
3
  import { Command } from '@oclif/core';
4
- import { configManager } from '../core/config-manager';
4
+ import { configManager } from '../core/config-manager.js';
5
5
  const TEXTS = {
6
6
  commands: {
7
7
  config: '管理 ccsync 配置',
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from '@oclif/core';
3
- import { serviceManager } from '../core/service-manager';
4
- import { TEXTS } from '../utils/texts';
3
+ import { serviceManager } from '../core/service-manager.js';
4
+ import { TEXTS } from '../utils/texts.js';
5
5
  export default class Start extends Command {
6
6
  static description = TEXTS.commands.start;
7
7
  async run() {
@@ -1,3 +1,8 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ import { Command } from '@oclif/core';
3
+ declare class Status extends Command {
4
+ static description: "查看 ccsync 同步服务状态";
5
+ run(): Promise<void>;
6
+ }
7
+ export default Status;
3
8
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC,cAAM,MAAO,SAAQ,OAAO;IAC1B,MAAM,CAAC,WAAW,qBAAyB;IAErC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuE3B;AAED,eAAe,MAAM,CAAC"}
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from '@oclif/core';
3
- import { configManager } from '../core/config-manager';
4
- import { TEXTS } from '../utils/texts';
5
- import { formatUptime } from '../utils/time-helper';
3
+ import { configManager } from '../core/config-manager.js';
4
+ import { TEXTS } from '../utils/texts.js';
5
+ import { formatUptime } from '../utils/time-helper.js';
6
6
  class Status extends Command {
7
7
  static description = TEXTS.commands.status;
8
8
  async run() {
@@ -60,4 +60,5 @@ class Status extends Command {
60
60
  console.log('');
61
61
  }
62
62
  }
63
+ export default Status;
63
64
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from '@oclif/core';
3
- import { serviceManager } from '../core/service-manager';
4
- import { TEXTS } from '../utils/texts';
3
+ import { serviceManager } from '../core/service-manager.js';
4
+ import { TEXTS } from '../utils/texts.js';
5
5
  export default class Stop extends Command {
6
6
  static description = TEXTS.commands.stop;
7
7
  async run() {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from '@oclif/core';
3
- import { serviceManager } from '../core/service-manager';
4
- import { TEXTS } from '../utils/texts';
3
+ import { serviceManager } from '../core/service-manager.js';
4
+ import { TEXTS } from '../utils/texts.js';
5
5
  export default class Sync extends Command {
6
6
  static description = TEXTS.commands.sync;
7
7
  async run() {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from '@oclif/core';
3
- import { serviceManager } from '../core/service-manager';
4
- import { TEXTS } from '../utils/texts';
3
+ import { serviceManager } from '../core/service-manager.js';
4
+ import { TEXTS } from '../utils/texts.js';
5
5
  export default class Toggle extends Command {
6
6
  static description = TEXTS.commands.toggle;
7
7
  async run() {
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAO7D,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAa;;IAM3B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAevB,SAAS,IAAI,UAAU;IAIvB,UAAU,IAAI,IAAI;IAYlB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAkBpC,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;KAAE;IAkE5D,OAAO,CAAC,SAAS;IAgCjB,OAAO,CAAC,UAAU;IAkClB,OAAO,CAAC,iBAAiB;CAM1B;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAO7D,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAa;;IAM3B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAevB,SAAS,IAAI,UAAU;IAIvB,UAAU,IAAI,IAAI;IAYlB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAkBpC,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;KAAE;IAkE5D,OAAO,CAAC,SAAS;IAkDjB,OAAO,CAAC,UAAU;IAkClB,OAAO,CAAC,iBAAiB;CAM1B;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import fs from 'fs-extra';
2
2
  import path from 'node:path';
3
3
  import yaml from 'yaml';
4
- import { DEFAULT_CONFIG } from '../types/config';
5
- import { logger } from '../utils/logger';
6
- import { expandPath, getHomeDir } from '../utils/time-helper';
4
+ import { DEFAULT_CONFIG } from '../types/config.js';
5
+ import { logger } from '../utils/logger.js';
6
+ import { expandPath, getHomeDir } from '../utils/time-helper.js';
7
7
  const CONFIG_DIR = path.join(getHomeDir(), '.config', 'ccsync');
8
8
  const CONFIG_FILE = path.join(CONFIG_DIR, 'config.yaml');
9
9
  class ConfigManager {
@@ -110,6 +110,20 @@ class ConfigManager {
110
110
  }
111
111
  fixConfig(config) {
112
112
  const fixed = JSON.parse(JSON.stringify(config));
113
+ // 确保 sync 配置存在
114
+ if (!fixed.sync) {
115
+ fixed.sync = DEFAULT_CONFIG.sync;
116
+ }
117
+ // 确保顶层运行时字段存在
118
+ if (fixed.skills === undefined) {
119
+ fixed.skills = DEFAULT_CONFIG.skills;
120
+ }
121
+ if (fixed.mcp === undefined) {
122
+ fixed.mcp = DEFAULT_CONFIG.mcp;
123
+ }
124
+ if (fixed.errors === undefined) {
125
+ fixed.errors = DEFAULT_CONFIG.errors;
126
+ }
113
127
  // 修复 Skills sources
114
128
  if (config.sync && config.sync.skills) {
115
129
  if (typeof fixed.sync.skills.sources !== 'object') {
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { exec } from 'node:child_process';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import { promisify } from 'node:util';
6
- import { logger } from '../utils/logger';
6
+ import { logger } from '../utils/logger.js';
7
7
  const execAsync = promisify(exec);
8
8
  class LaunchAgentManager {
9
9
  agentName = 'com.user.ccsync';
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs-extra';
2
2
  import os from 'node:os';
3
3
  import path from 'node:path';
4
- import { logger } from '../utils/logger';
4
+ import { logger } from '../utils/logger.js';
5
5
  class PermissionManager {
6
6
  paths;
7
7
  constructor(paths) {
@@ -1,7 +1,7 @@
1
- import { logger } from '../utils/logger';
2
- import { configManager } from './config-manager';
3
- import { LaunchAgentManager } from './launch-agent';
4
- import { SyncService } from './sync-service';
1
+ import { logger } from '../utils/logger.js';
2
+ import { configManager } from './config-manager.js';
3
+ import { LaunchAgentManager } from './launch-agent.js';
4
+ import { SyncService } from './sync-service.js';
5
5
  class ServiceManager {
6
6
  launchAgentManager;
7
7
  pid = null;
@@ -1,9 +1,9 @@
1
- import { McpSyncer } from '../syncers/mcp-syncer';
2
- import { SkillsSyncer } from '../syncers/skills-syncer';
3
- import { FileWatcher } from '../utils/file-watcher';
4
- import { logger } from '../utils/logger';
5
- import { configManager } from './config-manager';
6
- import { PermissionManager } from './permission-manager';
1
+ import { McpSyncer } from '../syncers/mcp-syncer.js';
2
+ import { SkillsSyncer } from '../syncers/skills-syncer.js';
3
+ import { FileWatcher } from '../utils/file-watcher.js';
4
+ import { logger } from '../utils/logger.js';
5
+ import { configManager } from './config-manager.js';
6
+ import { PermissionManager } from './permission-manager.js';
7
7
  class SyncService {
8
8
  fileWatcher = null;
9
9
  intervalId = null;
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs-extra';
2
- import { logger } from '../utils/logger';
3
- import { TEXTS } from '../utils/texts';
4
- import { formatDuration } from '../utils/time-helper';
2
+ import { logger } from '../utils/logger.js';
3
+ import { TEXTS } from '../utils/texts.js';
4
+ import { formatDuration } from '../utils/time-helper.js';
5
5
  class McpSyncer {
6
6
  cachedMcpServers = [];
7
7
  dbPath;
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs-extra';
2
2
  import path from 'node:path';
3
- import { logger } from '../utils/logger';
4
- import { TEXTS } from '../utils/texts';
3
+ import { logger } from '../utils/logger.js';
4
+ import { TEXTS } from '../utils/texts.js';
5
5
  class SkillsSyncer {
6
6
  sourcePaths;
7
7
  sources;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;SAAE,CAAC,CAAC;KAClE,CAAC;IACF,OAAO,EAAE,aAAa,CAAC;IAEvB,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAE5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAEhC,GAAG,EAAE,SAAS,CAAC;IAEf,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAE3B,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IAEF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IAExB,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAIjB,SAAS,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAErD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAE9B,OAAO,EAAE,OAAO,CAAC;IAEjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAGD,eAAO,MAAM,cAAc,EAAE,UA6B5B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;SAAE,CAAC,CAAC;KAClE,CAAC;IACF,OAAO,EAAE,aAAa,CAAC;IAEvB,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAE5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAEhC,GAAG,EAAE,SAAS,CAAC;IAEf,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAE3B,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IAEF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IAExB,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAIjB,SAAS,EAAE,CAAC,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAErD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAE9B,OAAO,EAAE,OAAO,CAAC;IAEjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAGD,eAAO,MAAM,cAAc,EAAE,UAqC5B,CAAC"}
@@ -5,10 +5,18 @@ export const DEFAULT_CONFIG = {
5
5
  enabled: false,
6
6
  launchAgentPath: '~/Library/LaunchAgents/com.user.ccsync.plist',
7
7
  },
8
+ errors: 0,
9
+ mcp: {
10
+ count: 0,
11
+ },
8
12
  service: {
9
13
  interval: 15,
10
14
  logFile: '~/.local/share/ccsync/logs/ccsync.log',
11
15
  logLevel: 'info',
16
+ running: false,
17
+ },
18
+ skills: {
19
+ count: 0,
12
20
  },
13
21
  sync: {
14
22
  mcp: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,WAAW;AA0EX,OAAO;AACP,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,8CAA8C;KAChE;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,MAAM;KACjB;IACD,IAAI,EAAE;QACJ,GAAG,EAAE;YACH,MAAM,EAAE,2BAA2B;YACnC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,MAAM,EAAE,kCAAkC;SAC3C;QACD,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,MAAM,EAAE,iEAAiE;gBACzE,KAAK,EAAE,kBAAkB;aAC1B;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,KAAK;aACb;YACD,MAAM,EAAE,mBAAmB;SAC5B;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,WAAW;AA0EX,OAAO;AACP,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,8CAA8C;KAChE;IACD,MAAM,EAAE,CAAC;IACT,GAAG,EAAE;QACH,KAAK,EAAE,CAAC;KACT;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,KAAK;KACf;IACD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC;KACT;IACD,IAAI,EAAE;QACJ,GAAG,EAAE;YACH,MAAM,EAAE,2BAA2B;YACnC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,MAAM,EAAE,kCAAkC;SAC3C;QACD,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,MAAM,EAAE,iEAAiE;gBACzE,KAAK,EAAE,kBAAkB;aAC1B;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,KAAK;aACb;YACD,MAAM,EAAE,mBAAmB;SAC5B;KACF;CACF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Box, Text } from 'ink';
3
- import { TEXTS } from '../../utils/texts';
3
+ import { TEXTS } from '../../utils/texts.js';
4
4
  export function ConfigUI({ skillsClaude, skillsCodex, mcpPlatforms, syncInterval, autostart, logLevel, }) {
5
5
  return (React.createElement(Box, { flexDirection: "column", padding: 1 },
6
6
  React.createElement(Box, { borderStyle: "double", borderColor: "blue", paddingX: 1 },
@@ -1,6 +1,6 @@
1
1
  import React, { useState, useEffect } from 'react';
2
2
  import { Box, Text } from 'ink';
3
- import { TEXTS } from '../../utils/texts';
3
+ import { TEXTS } from '../../utils/texts.js';
4
4
  export function Dashboard({ running, skillsCount, mcpCount, errors, uptime, syncInterval, autostart, logLevel, }) {
5
5
  const [currentTime, setCurrentTime] = useState(new Date());
6
6
  useEffect(() => {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Box, Text } from 'ink';
3
- import { TEXTS } from '../../utils/texts';
3
+ import { TEXTS } from '../../utils/texts.js';
4
4
  export function ErrorUI({ title, message, actions }) {
5
5
  return (React.createElement(Box, { flexDirection: "column", padding: 1 },
6
6
  React.createElement(Box, { borderStyle: "single", borderColor: "red", paddingX: 1 },
@@ -1,4 +1,4 @@
1
- import { TEXTS } from './texts';
1
+ import { TEXTS } from './texts.js';
2
2
  export var ErrorType;
3
3
  (function (ErrorType) {
4
4
  ErrorType["CRITICAL_ERROR"] = "critical_error";
@@ -1,6 +1,6 @@
1
1
  import chokidar from 'chokidar';
2
2
  import fs from 'fs-extra';
3
- import { logger } from './logger';
3
+ import { logger } from './logger.js';
4
4
  class FileWatcher {
5
5
  dbPath;
6
6
  dbWatcher = null;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@birdmichael/ccsync",
3
3
  "description": "A new CLI generated with oclif",
4
- "version": "1.0.1",
4
+ "version": "1.0.6",
5
5
  "bin": "./bin/run.js",
6
6
  "main": "dist/index.js",
7
7
  "type": "module",
@@ -57,6 +57,7 @@
57
57
  "files": [
58
58
  "./bin",
59
59
  "./dist",
60
+ "./scripts",
60
61
  "./oclif.manifest.json"
61
62
  ],
62
63
  "homepage": "https://github.com/birdmichael/ccsync",
@@ -65,7 +66,7 @@
65
66
  ],
66
67
  "license": "MIT",
67
68
  "scripts": {
68
- "build": "shx rm -rf dist && tsc -b",
69
+ "build": "shx rm -rf dist && tsc -b && node scripts/fix-imports.mjs",
69
70
  "dev": "ts-node ./bin/dev",
70
71
  "format": "prettier --write \"src/**/*.ts\"",
71
72
  "lint": "eslint src/**/*.ts",
@@ -0,0 +1,87 @@
1
+ #!/bin/bash
2
+
3
+ # ccsync build and test script
4
+
5
+ # Get script directory and cd to it
6
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
7
+ cd "$SCRIPT_DIR"
8
+
9
+ echo "====================================="
10
+ echo "Building and Testing ccsync"
11
+ echo "====================================="
12
+ echo "Working directory: $(pwd)"
13
+ echo ""
14
+
15
+ # Install dependencies
16
+ echo "Step1: Installing dependencies..."
17
+ npm install
18
+ if [ $? -ne 0 ]; then
19
+ echo "❌ Failed to install dependencies"
20
+ exit 1
21
+ fi
22
+ echo "✅ Dependencies installed"
23
+ echo ""
24
+
25
+ # Build project
26
+ echo "Step 2: Building project..."
27
+ npm run build
28
+ if [ $? -ne 0 ]; then
29
+ echo "❌ Failed to build project"
30
+ exit 1
31
+ fi
32
+ echo "✅ Project built successfully"
33
+ echo ""
34
+
35
+ # Run tests
36
+ echo "Step 3: Running tests..."
37
+ npm test
38
+ if [ $? -ne 0 ]; then
39
+ echo "❌ Tests failed"
40
+ exit 1
41
+ fi
42
+ echo "✅ Tests passed"
43
+ echo ""
44
+
45
+ # Run lint
46
+ echo "Step 4: Running lint..."
47
+ npm run lint
48
+ if [ $? -ne 0 ]; then
49
+ echo "⚠️ Lint found issues (warnings only)"
50
+ else
51
+ echo "✅ Lint passed"
52
+ fi
53
+ echo ""
54
+
55
+ # Check dist directory
56
+ echo "Step 5: Checking dist directory..."
57
+ if [ -d "dist" ]; then
58
+ echo "✅ Dist directory exists"
59
+ echo " Files: $(find dist -type f | wc -l)"
60
+ echo " Directories: $(find dist -type d | wc -l)"
61
+ else
62
+ echo "❌ Dist directory not found"
63
+ exit 1
64
+ fi
65
+ echo ""
66
+
67
+ # Prepack
68
+ echo "Step 6: Running prepack..."
69
+ npm run prepack
70
+ if [ $? -ne 0 ]; then
71
+ echo "⚠️ Prepack had issues (may be expected for first run)"
72
+ else
73
+ echo "✅ Prepack completed"
74
+ fi
75
+ echo ""
76
+
77
+ echo "====================================="
78
+ echo "✅ All checks passed!"
79
+ echo "====================================="
80
+ echo ""
81
+ echo "Package is ready for release."
82
+ echo "To create a GitHub release, run:"
83
+ echo " gh release create v1.0.0 --notes-file RELEASE_NOTES.md"
84
+ echo ""
85
+ echo "To publish to NPM, run:"
86
+ echo " npm publish --access public"
87
+ echo ""
@@ -0,0 +1,56 @@
1
+ import { readFileSync, writeFileSync, readdirSync, statSync, existsSync } from 'fs';
2
+ import { join, extname, dirname, resolve } from 'path';
3
+
4
+ const distDir = './dist';
5
+
6
+ function fixImports(filePath) {
7
+ const content = readFileSync(filePath, 'utf8');
8
+
9
+ const fixed = content.replace(
10
+ /from ['"](\.[^'"]*?)['"](?!\.js)(?!\.ts)(?!\.tsx)(?!\.json)(?!\.mjs)(?!\.cjs)/g,
11
+ (match, importPath) => {
12
+ if (extname(importPath)) {
13
+ return match;
14
+ }
15
+
16
+ // Resolve the import path relative to the current file
17
+ const fileDir = dirname(filePath);
18
+ const absolutePath = resolve(fileDir, importPath);
19
+
20
+ // Check if it's a directory (no extension, but directory exists)
21
+ if (existsSync(absolutePath) && statSync(absolutePath).isDirectory()) {
22
+ // For directory imports, add /index.js
23
+ return match.replace(importPath, `${importPath}/index.js`);
24
+ } else if (existsSync(`${absolutePath}.js`)) {
25
+ // For file imports, add .js
26
+ return match.replace(importPath, `${importPath}.js`);
27
+ } else {
28
+ // Default to adding .js for unknown cases
29
+ return match.replace(importPath, `${importPath}.js`);
30
+ }
31
+ }
32
+ );
33
+
34
+ if (content !== fixed) {
35
+ writeFileSync(filePath, fixed, 'utf8');
36
+ console.log(`Fixed: ${filePath}`);
37
+ }
38
+ }
39
+
40
+ function walkDir(dir) {
41
+ const files = readdirSync(dir);
42
+
43
+ for (const file of files) {
44
+ const filePath = join(dir, file);
45
+ const stat = statSync(filePath);
46
+
47
+ if (stat.isDirectory()) {
48
+ walkDir(filePath);
49
+ } else if (file.endsWith('.js')) {
50
+ fixImports(filePath);
51
+ }
52
+ }
53
+ }
54
+
55
+ walkDir(distDir);
56
+ console.log('Import fixing complete!');
@@ -0,0 +1,140 @@
1
+ #!/bin/bash
2
+
3
+ # ccsync 快速发布脚本
4
+ # 使用方法:bash scripts/quick-release.sh
5
+
6
+ set -e
7
+
8
+ echo "====================================="
9
+ echo "ccsync 快速发布流程"
10
+ echo "====================================="
11
+ echo ""
12
+
13
+ # 检查 git 状态
14
+ echo "步骤 1:检查 git 状态..."
15
+ if ! git diff-index --quiet HEAD --; then
16
+ echo "❌ 有未提交的更改"
17
+ echo "请先提交所有更改:"
18
+ echo " git add ."
19
+ echo " git commit -m \"your message\""
20
+ echo " git push"
21
+ exit 1
22
+ fi
23
+ echo "✅ Git 状态正常"
24
+ echo ""
25
+
26
+ # 检查当前版本
27
+ echo "步骤 2:检查版本..."
28
+ VERSION=$(node -p "require('./package.json').version")
29
+ echo "当前版本:$VERSION"
30
+ echo ""
31
+
32
+ # 检查是否已有 tag
33
+ echo "步骤 3:检查 tag..."
34
+ if git rev-parse "v$VERSION" >/dev/null 2>&1; then
35
+ echo "⚠️ Tag v$VERSION 已存在"
36
+ read -p "是否删除现有 tag 并重新创建?(y/n): " -n 1 -r
37
+ if [ "$REPLY" != "y" ]; then
38
+ echo "取消发布"
39
+ exit 0
40
+ fi
41
+ git tag -d "v$VERSION"
42
+ git push origin ":refs/tags/v$VERSION"
43
+ fi
44
+ echo ""
45
+
46
+ # 创建 tag
47
+ echo "步骤 4:创建 git tag..."
48
+ git tag -a "v$VERSION" -m "Release v$VERSION"
49
+ echo "✅ Tag v$VERSION 已创建"
50
+ echo ""
51
+
52
+ # 推送 tag
53
+ echo "步骤 5:推送 tag 到 GitHub..."
54
+ git push origin "v$VERSION"
55
+ echo "✅ Tag 已推送"
56
+ echo ""
57
+
58
+ # 检查 gh CLI
59
+ echo "步骤 6:检查 GitHub CLI..."
60
+ if ! command -v gh &> /dev/null; then
61
+ echo "❌ gh CLI 未安装"
62
+ echo ""
63
+ echo "请安装 gh CLI:"
64
+ echo " # macOS"
65
+ echo " brew install gh"
66
+ echo ""
67
+ echo " # Linux"
68
+ echo " # 参考 https://cli.github.com/manual/installation"
69
+ exit 1
70
+ fi
71
+ echo "✅ gh CLI 已安装"
72
+ echo ""
73
+
74
+ # 检查是否已登录
75
+ echo "步骤 7:检查 GitHub 登录状态..."
76
+ if ! gh auth status &> /dev/null; then
77
+ echo "⚠️ 未登录 GitHub"
78
+ echo "请登录:"
79
+ echo " gh auth login"
80
+ exit 1
81
+ fi
82
+ echo "✅ 已登录 GitHub"
83
+ echo ""
84
+
85
+ # 创建 GitHub Release
86
+ echo "步骤 8:创建 GitHub Release..."
87
+ echo "正在创建 Release v$VERSION..."
88
+ gh release create "v$VERSION" \
89
+ --title "Release v$VERSION" \
90
+ --notes "## 🚀 ccsync v$VERSION
91
+
92
+ ### What's New
93
+ - Complete implementation of ccsync
94
+ - Full Chinese interface
95
+ - Skills and MCP synchronization
96
+ - Dashboard UI
97
+ - Service management
98
+ - Configuration management
99
+ - Automatic logging with rotation
100
+ - Auto-start support
101
+
102
+ ### Installation
103
+ \`\`\`bash
104
+ npm install -g ccsync
105
+ \`\`\`
106
+
107
+ ### Quick Start
108
+ \`\`\`bash
109
+ ccsync setup
110
+ ccsync start
111
+ ccsync status
112
+ \`\`\`
113
+
114
+ See [README.md](https://github.com/birdmichael/ccsync/blob/main/README.md) for more details." \
115
+ --target main
116
+
117
+ echo "✅ GitHub Release 已创建"
118
+ echo ""
119
+
120
+ echo "====================================="
121
+ echo "✅ 发布流程完成!"
122
+ echo "====================================="
123
+ echo ""
124
+ echo "下一步:"
125
+ echo ""
126
+ echo "1. 访问 GitHub Release:"
127
+ echo " https://github.com/birdmichael/ccsync/releases/tag/v$VERSION"
128
+ echo ""
129
+ echo "2. 确认 NPM_TOKEN 已配置:"
130
+ echo " https://github.com/birdmichael/ccsync/settings/secrets/actions"
131
+ echo " 检查是否有 NPM_TOKEN secret"
132
+ echo ""
133
+ echo "3. 等待自动发布到 NPM(通常需要 1-2 分钟)"
134
+ echo ""
135
+ echo "4. 验证发布:"
136
+ echo " npm view ccsync"
137
+ echo ""
138
+ echo "如果自动发布失败,请查看:"
139
+ echo " NPM-PUBLISH-GUIDE.md"
140
+ echo ""
@@ -0,0 +1,18 @@
1
+ #!/bin/bash
2
+
3
+ echo "Testing compiled package..."
4
+
5
+ # Temporarily link the compiled version
6
+ npm unlink -g 2>/dev/null || true
7
+ npm link
8
+
9
+ echo "Testing ccsync --version..."
10
+ ccsync --version
11
+
12
+ echo "Testing ccsync status..."
13
+ ccsync status || echo "status command may not work without config"
14
+
15
+ echo "Testing ccsync --help..."
16
+ ccsync --help | head -5
17
+
18
+ echo "✅ Compiled package tests passed!"