ccman 2.1.3 → 2.1.5

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 (54) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +201 -301
  3. package/README_en.md +294 -0
  4. package/dist/cli.js +213 -33
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config/default-providers.d.ts +34 -0
  7. package/dist/config/default-providers.d.ts.map +1 -0
  8. package/dist/config/default-providers.js +96 -0
  9. package/dist/config/default-providers.js.map +1 -0
  10. package/dist/config/static-env.d.ts +1 -1
  11. package/dist/config/static-env.js +1 -1
  12. package/dist/core/ClaudeConfigManager.d.ts +1 -1
  13. package/dist/core/ClaudeConfigManager.d.ts.map +1 -1
  14. package/dist/core/ClaudeConfigManager.js +2 -4
  15. package/dist/core/ClaudeConfigManager.js.map +1 -1
  16. package/package.json +24 -3
  17. package/.editorconfig +0 -15
  18. package/.env.development +0 -3
  19. package/.env.production +0 -3
  20. package/.eslintrc.js +0 -28
  21. package/.github/workflows/release.yml +0 -99
  22. package/.prettierrc +0 -10
  23. package/CLAUDE.md +0 -279
  24. package/README_zh.md +0 -394
  25. package/dev-test.sh +0 -40
  26. package/docs/npm-publish-guide.md +0 -71
  27. package/docs/release-guide.md +0 -144
  28. package/docs/scripts-guide.md +0 -221
  29. package/docs/version-management.md +0 -64
  30. package/jest.config.js +0 -22
  31. package/release-temp/README.md +0 -394
  32. package/release-temp/package.json +0 -61
  33. package/scripts/build-env.js +0 -75
  34. package/scripts/modules/check-uncommitted.sh +0 -109
  35. package/scripts/modules/create-tag.sh +0 -279
  36. package/scripts/modules/monitor-release.sh +0 -296
  37. package/scripts/modules/version-bump.sh +0 -262
  38. package/scripts/publish-local.sh +0 -91
  39. package/scripts/quick-release.sh +0 -100
  40. package/scripts/release.sh +0 -430
  41. package/scripts/smart-release-v3.sh +0 -283
  42. package/scripts/smart-release.sh +0 -322
  43. package/src/cli.ts +0 -598
  44. package/src/commands/lang.ts +0 -105
  45. package/src/core/CCMConfigManager.ts +0 -259
  46. package/src/core/ClaudeConfigManager.ts +0 -141
  47. package/src/i18n/LanguageManager.ts +0 -169
  48. package/src/i18n/messages.ts +0 -233
  49. package/src/index.ts +0 -4
  50. package/src/providers/ProviderManager.ts +0 -412
  51. package/src/types/index.ts +0 -101
  52. package/src/utils/env-config.ts +0 -53
  53. package/src/utils/version.ts +0 -16
  54. package/tsconfig.json +0 -25
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 默认供应商配置
3
+ * 预设的常见Claude API供应商
4
+ */
5
+ export interface DefaultProvider {
6
+ name: string;
7
+ description: string;
8
+ baseUrl: string;
9
+ category: 'official' | 'third-party';
10
+ }
11
+ /**
12
+ * 默认供应商列表
13
+ */
14
+ export declare const DEFAULT_PROVIDERS: DefaultProvider[];
15
+ /**
16
+ * 根据名称查找默认供应商
17
+ */
18
+ export declare function findDefaultProvider(name: string): DefaultProvider | undefined;
19
+ /**
20
+ * 获取按分类分组的供应商
21
+ */
22
+ export declare function getProvidersByCategory(): {
23
+ official: DefaultProvider[];
24
+ thirdParty: DefaultProvider[];
25
+ };
26
+ /**
27
+ * 创建供应商选择菜单选项
28
+ */
29
+ export declare function createProviderChoices(): Array<{
30
+ name: string;
31
+ value: DefaultProvider | 'custom' | 'separator';
32
+ short: string;
33
+ }>;
34
+ //# sourceMappingURL=default-providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-providers.d.ts","sourceRoot":"","sources":["../../src/config/default-providers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,GAAG,aAAa,CAAC;CACtC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EA2C9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAI7E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B,CAKA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,KAAK,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,GAAG,QAAQ,GAAG,WAAW,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CA0BD"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /**
3
+ * 默认供应商配置
4
+ * 预设的常见Claude API供应商
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DEFAULT_PROVIDERS = void 0;
8
+ exports.findDefaultProvider = findDefaultProvider;
9
+ exports.getProvidersByCategory = getProvidersByCategory;
10
+ exports.createProviderChoices = createProviderChoices;
11
+ /**
12
+ * 默认供应商列表
13
+ */
14
+ exports.DEFAULT_PROVIDERS = [
15
+ {
16
+ name: 'Anthropic Official',
17
+ description: 'Anthropic 官方 API',
18
+ baseUrl: 'https://api.anthropic.com',
19
+ category: 'official'
20
+ },
21
+ {
22
+ name: 'AnyRouter',
23
+ description: 'AnyRouter API 服务',
24
+ baseUrl: 'https://anyrouter.top',
25
+ category: 'third-party'
26
+ },
27
+ {
28
+ name: 'PackyCode',
29
+ description: 'PackyCode API 服务',
30
+ baseUrl: 'https://api.packycode.com',
31
+ category: 'third-party'
32
+ },
33
+ {
34
+ name: 'CoordCode',
35
+ description: 'CoordCode API 服务',
36
+ baseUrl: 'https://api.coordcode.com/api',
37
+ category: 'third-party'
38
+ },
39
+ {
40
+ name: '88Code',
41
+ description: '88Code API 服务',
42
+ baseUrl: 'https://www.88code.org/api',
43
+ category: 'third-party'
44
+ },
45
+ {
46
+ name: 'BigModel',
47
+ description: '智谱 BigModel API',
48
+ baseUrl: 'https://open.bigmodel.cn/api/anthropic',
49
+ category: 'third-party'
50
+ },
51
+ {
52
+ name: 'ModelScope',
53
+ description: '阿里云 ModelScope API',
54
+ baseUrl: 'https://api-inference.modelscope.cn/v1/chat/completions',
55
+ category: 'third-party'
56
+ }
57
+ ];
58
+ /**
59
+ * 根据名称查找默认供应商
60
+ */
61
+ function findDefaultProvider(name) {
62
+ return exports.DEFAULT_PROVIDERS.find(provider => provider.name.toLowerCase() === name.toLowerCase());
63
+ }
64
+ /**
65
+ * 获取按分类分组的供应商
66
+ */
67
+ function getProvidersByCategory() {
68
+ return {
69
+ official: exports.DEFAULT_PROVIDERS.filter(p => p.category === 'official'),
70
+ thirdParty: exports.DEFAULT_PROVIDERS.filter(p => p.category === 'third-party')
71
+ };
72
+ }
73
+ /**
74
+ * 创建供应商选择菜单选项
75
+ */
76
+ function createProviderChoices() {
77
+ const choices = exports.DEFAULT_PROVIDERS.map(provider => ({
78
+ name: `${provider.name} - ${provider.baseUrl}`,
79
+ value: provider,
80
+ short: provider.name
81
+ }));
82
+ // 添加自定义选项
83
+ choices.push({
84
+ name: '🔧 自定义供应商(手动输入)',
85
+ value: 'custom',
86
+ short: '自定义'
87
+ });
88
+ // 添加分割线
89
+ choices.push({
90
+ name: '─'.repeat(50),
91
+ value: 'separator',
92
+ short: '─'
93
+ });
94
+ return choices;
95
+ }
96
+ //# sourceMappingURL=default-providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-providers.js","sourceRoot":"","sources":["../../src/config/default-providers.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA4DH,kDAIC;AAKD,wDAQC;AAKD,sDA8BC;AAvGD;;GAEG;AACU,QAAA,iBAAiB,GAAsB;IAClD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,aAAa;KACxB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,aAAa;KACxB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,+BAA+B;QACxC,QAAQ,EAAE,aAAa;KACxB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,4BAA4B;QACrC,QAAQ,EAAE,aAAa;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,aAAa;KACxB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,yDAAyD;QAClE,QAAQ,EAAE,aAAa;KACxB;CACF,CAAC;AAEF;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,yBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CACnD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IAIpC,OAAO;QACL,QAAQ,EAAE,yBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC;QAClE,UAAU,EAAE,yBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC;KACxE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IAKnC,MAAM,OAAO,GAIR,yBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE;QAC9C,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ,CAAC,IAAI;KACrB,CAAC,CAAC,CAAC;IAEJ,UAAU;IACV,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,QAAQ;IACR,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  export declare const STATIC_ENV: {
7
7
  readonly NODE_ENV: "production";
8
- readonly BUILD_TIME: "2025-09-24T08:51:50.932Z";
8
+ readonly BUILD_TIME: "2025-09-30T10:03:36.158Z";
9
9
  readonly CCM_CONFIG_DIR: "~/.ccman";
10
10
  readonly CLAUDE_CONFIG_PATH: "~/.claude/settings.json";
11
11
  };
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.CLAUDE_CONFIG_PATH = exports.CCM_CONFIG_DIR = exports.STATIC_ENV = void 0;
9
9
  exports.STATIC_ENV = {
10
10
  NODE_ENV: 'production',
11
- BUILD_TIME: '2025-09-24T08:51:50.932Z',
11
+ BUILD_TIME: '2025-09-30T10:03:36.158Z',
12
12
  CCM_CONFIG_DIR: '~/.ccman',
13
13
  CLAUDE_CONFIG_PATH: '~/.claude/settings.json'
14
14
  };
@@ -28,7 +28,7 @@ export declare class ClaudeConfigManager {
28
28
  */
29
29
  private isCCMManaged;
30
30
  /**
31
- * 验证Claude配置目录是否存在
31
+ * 确保Claude配置目录存在(不存在则创建)
32
32
  */
33
33
  ensureClaudeConfigDir(): Promise<void>;
34
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeConfigManager.d.ts","sourceRoot":"","sources":["../../src/core/ClaudeConfigManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,gBAAgB,CAAC,EAAE,MAAM;IAKrC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAaxD;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+CpG;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAgB3C;;OAEG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5C;;OAEG;IACH,mBAAmB,IAAI,MAAM;CAG9B"}
1
+ {"version":3,"file":"ClaudeConfigManager.d.ts","sourceRoot":"","sources":["../../src/core/ClaudeConfigManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,gBAAgB,CAAS;gBAErB,gBAAgB,CAAC,EAAE,MAAM;IAKrC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAaxD;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+CpG;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAgB3C;;OAEG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5C;;OAEG;IACH,mBAAmB,IAAI,MAAM;CAG9B"}
@@ -144,13 +144,11 @@ class ClaudeConfigManager {
144
144
  return config && config._ccm_managed === true;
145
145
  }
146
146
  /**
147
- * 验证Claude配置目录是否存在
147
+ * 确保Claude配置目录存在(不存在则创建)
148
148
  */
149
149
  async ensureClaudeConfigDir() {
150
150
  const claudeDir = path.dirname(this.claudeConfigPath);
151
- if (!await fs.pathExists(claudeDir)) {
152
- throw new Error(`Claude config directory not found: ${claudeDir}. Please ensure Claude Code is installed and initialized.`);
153
- }
151
+ await fs.ensureDir(claudeDir);
154
152
  }
155
153
  /**
156
154
  * 获取Claude配置路径
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeConfigManager.js","sourceRoot":"","sources":["../../src/core/ClaudeConfigManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClaudeConfigManager.js","sourceRoot":"","sources":["../../src/core/ClaudeConfigManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccman",
3
- "version": "2.1.3",
3
+ "version": "2.1.5",
4
4
  "description": "Claude Code Manager - A TypeScript tool to manage Claude Code API configurations",
5
5
  "main": "dist/index.js",
6
6
  "packageManager": "pnpm@7.33.7",
@@ -31,10 +31,31 @@
31
31
  "config",
32
32
  "manager",
33
33
  "cli",
34
- "typescript"
34
+ "typescript",
35
+ "anthropic",
36
+ "claud code",
37
+ "ai",
38
+ "provider-manager"
35
39
  ],
36
- "author": "",
40
+ "author": {
41
+ "name": "2ue",
42
+ "email": "jie746635835@163.com"
43
+ },
44
+ "homepage": "https://github.com/2ue/ccman#readme",
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "git+https://github.com/2ue/ccman.git"
48
+ },
49
+ "bugs": {
50
+ "url": "https://github.com/2ue/ccman/issues"
51
+ },
37
52
  "license": "MIT",
53
+ "files": [
54
+ "dist",
55
+ "README.md",
56
+ "README_en.md",
57
+ "LICENSE"
58
+ ],
38
59
  "dependencies": {
39
60
  "chalk": "^4.1.2",
40
61
  "commander": "^11.0.0",
package/.editorconfig DELETED
@@ -1,15 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- charset = utf-8
5
- end_of_line = lf
6
- indent_style = space
7
- indent_size = 2
8
- insert_final_newline = true
9
- trim_trailing_whitespace = true
10
-
11
- [*.md]
12
- trim_trailing_whitespace = false
13
-
14
- [{package.json,*.yml,*.yaml}]
15
- indent_size = 2
package/.env.development DELETED
@@ -1,3 +0,0 @@
1
- # 开发环境配置
2
- CCM_CONFIG_DIR=~/.ccman-dev
3
- CLAUDE_CONFIG_PATH=~/.claude/settings-dev.json
package/.env.production DELETED
@@ -1,3 +0,0 @@
1
- # 生产环境配置 - 默认值,可不设置
2
- CCM_CONFIG_DIR=~/.ccman
3
- CLAUDE_CONFIG_PATH=~/.claude/settings.json
package/.eslintrc.js DELETED
@@ -1,28 +0,0 @@
1
- module.exports = {
2
- root: true,
3
- parser: '@typescript-eslint/parser',
4
- plugins: ['@typescript-eslint'],
5
- extends: [
6
- 'eslint:recommended'
7
- ],
8
- parserOptions: {
9
- ecmaVersion: 2020,
10
- sourceType: 'module'
11
- },
12
- env: {
13
- node: true,
14
- es2020: true,
15
- },
16
- rules: {
17
- // 基本规则
18
- 'no-unused-vars': 'off',
19
- '@typescript-eslint/no-unused-vars': 'error',
20
- 'no-console': 'off', // CLI工具需要console输出
21
- 'no-process-exit': 'off', // CLI工具需要process.exit
22
- },
23
- ignorePatterns: [
24
- 'dist/',
25
- 'node_modules/',
26
- '*.js', // 忽略根目录的JS配置文件
27
- ],
28
- };
@@ -1,99 +0,0 @@
1
- name: Release and Publish
2
-
3
- # 触发条件:推送 tag
4
- on:
5
- push:
6
- tags:
7
- - 'v*.*.*' # 匹配语义化版本标签
8
-
9
- jobs:
10
- release:
11
- name: Build, Test and Release
12
- runs-on: ubuntu-latest
13
-
14
- permissions:
15
- contents: write # 创建 release
16
- id-token: write # NPM 发布
17
-
18
- steps:
19
- # 1. 检出代码
20
- - name: Checkout
21
- uses: actions/checkout@v4
22
- with:
23
- fetch-depth: 0
24
-
25
- # 2. 设置 pnpm
26
- - name: Setup pnpm
27
- uses: pnpm/action-setup@v4
28
- with:
29
- version: 7.33.7
30
-
31
- # 3. 设置 Node.js
32
- - name: Setup Node.js
33
- uses: actions/setup-node@v4
34
- with:
35
- node-version: '18'
36
- cache: 'pnpm'
37
- registry-url: 'https://registry.npmjs.org'
38
-
39
- # 4. 安装依赖和构建
40
- - name: Install and Build
41
- run: |
42
- pnpm install --no-frozen-lockfile
43
- pnpm run lint
44
- pnpm run build
45
-
46
- # 5. 获取版本信息
47
- - name: Get version
48
- id: version
49
- run: |
50
- VERSION=${GITHUB_REF#refs/tags/v}
51
- TAG=${GITHUB_REF#refs/tags/}
52
- echo "version=$VERSION" >> $GITHUB_OUTPUT
53
- echo "tag=$TAG" >> $GITHUB_OUTPUT
54
-
55
- # 6. 创建发布包
56
- - name: Create release archive
57
- run: |
58
- mkdir -p release-temp
59
- cp -r dist package.json README.md release-temp/
60
- cd release-temp && tar -czf ../ccman-${{ steps.version.outputs.tag }}.tar.gz .
61
-
62
- # 7. 发布到 NPM
63
- - name: Publish to NPM
64
- uses: JS-DevTools/npm-publish@v3
65
- with:
66
- token: ${{ secrets.NPM_TOKEN }}
67
- access: public
68
-
69
- # 8. 创建 GitHub Release
70
- - name: Create GitHub Release
71
- uses: softprops/action-gh-release@v2
72
- with:
73
- name: "CCMan ${{ steps.version.outputs.tag }}"
74
- body: |
75
- ## CCMan (Claude Code Manager) ${{ steps.version.outputs.tag }}
76
-
77
- 🚀 **新版本发布!**
78
-
79
- ### 📦 安装方式
80
- ```bash
81
- npm install -g ccman@${{ steps.version.outputs.version }}
82
- ```
83
-
84
- ### 🔗 相关链接
85
- - [NPM 包](https://www.npmjs.com/package/ccman)
86
- - [GitHub 仓库](https://github.com/${{ github.repository }})
87
-
88
- ### 📋 发布信息
89
- - **提交哈希**: ${{ github.sha }}
90
- - **构建环境**: GitHub Actions
91
-
92
- ---
93
- *通过 GitHub Actions 自动构建发布*
94
- files: |
95
- ccman-*.tar.gz
96
- draft: false
97
- prerelease: ${{ contains(github.ref, '-beta') || contains(github.ref, '-alpha') || contains(github.ref, '-rc') }}
98
- env:
99
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
package/.prettierrc DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "semi": true,
3
- "trailingComma": "es5",
4
- "singleQuote": true,
5
- "printWidth": 80,
6
- "tabWidth": 2,
7
- "useTabs": false,
8
- "endOfLine": "lf",
9
- "arrowParens": "avoid"
10
- }