@zzclub/z-cli 1.0.0 → 2.0.0

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 z-cli
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ MIT License
2
+
3
+ Copyright (c) 2024 z-cli
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
@@ -1,21 +1,49 @@
1
1
  # z-cli
2
2
 
3
- **轻量级图片压缩命令行工具 | Lightweight Image Compression CLI Tool**
3
+ **Agent-First CLI Toolkit for Extensible Automation**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@zzclub/z-cli?style=flat&color=18181B&colorB=F0DB4F)](https://npmjs.com/package/@zzclub/z-cli)
6
6
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue?style=flat&logo=typescript)](https://www.typescriptlang.org/)
7
7
  [![Bun](https://img.shields.io/badge/Bun-1.0+-F472B6?style=flat&logo=bun)](https://bun.sh)
8
8
  [![License](https://img.shields.io/npm/l/@zzclub/z-cli?style=flat&color=18181B)](https://github.com/aatrooox/z-cli/blob/main/LICENSE)
9
9
 
10
- 基于 [Sharp](https://sharp.pixelplumbing.com/) 的高性能图片压缩工具,使用 TypeScript 开发,支持 Node.js 和 Bun。
10
+ 面向 AI Agent 的命令行工具集,集成各类自动化脚本。Skills 只需调用命令即可,无需维护复杂脚本。使用 TypeScript 开发,支持 Node.js 和 Bun。
11
+
12
+ ## 🎯 设计理念
13
+
14
+ ```mermaid
15
+ graph LR
16
+ A[AI Agent] --> B[Skills]
17
+ B --> C[z-cli Commands]
18
+ C --> D[Image Compression]
19
+ C --> E[i18n Management]
20
+ C --> F[Future Scripts...]
21
+
22
+ style A fill:#e1f5ff
23
+ style B fill:#fff4e6
24
+ style C fill:#f3e5f5
25
+ style D fill:#e8f5e9
26
+ style E fill:#e8f5e9
27
+ style F fill:#e8f5e9
28
+ ```
29
+
30
+ **核心目标**:将常用自动化脚本封装为 CLI 命令,Skills 描述调用方式即可,Agent 直接执行。
31
+
32
+ **当前命令**:
33
+ - `tiny` - 高性能图片压缩(基于 Sharp)
34
+
35
+ **未来扩展**:
36
+ - i18n 管理
37
+ - 代码生成
38
+ - 文件批处理
39
+ - ...更多 Agent 能力增强命令
11
40
 
12
41
  ## ✨ 特性
13
42
 
14
- - 🚀 **高性能压缩** - 基于 Sharp (libvips),比传统工具快 4-5 倍
15
- - 📦 **多格式支持** - JPEG, PNG, WebP 等主流图片格式
16
- - 🎯 **智能处理** - 自动选择最佳压缩算法(JPEG: mozjpeg, PNG: pngquant)
17
- - 📁 **批量处理** - 支持递归处理整个目录
18
- - ⚙️ **灵活配置** - 持久化配置,命令行参数优先级更高
43
+ - 🤖 **Agent 优先** - 专为 AI Agent 工作流设计
44
+ - 🔧 **开箱即用** - 无需配置复杂脚本,直接调用命令
45
+ - 📦 **持续扩展** - 后续命令聚焦 Agent 能力增强
46
+ - ⚙️ **灵活配置** - 支持持久化配置,命令行参数优先
19
47
  - 💻 **跨平台** - Windows, macOS, Linux 全平台支持
20
48
  - 🔧 **TypeScript** - 完整类型支持,可用于 Skills 集成
21
49
 
@@ -75,10 +103,17 @@ zz tiny -f ./image.jpg
75
103
  z-cli tiny -f ./image.jpg
76
104
  ```
77
105
 
78
- ## 📖 命令详解
106
+ ## 📖 命令列表
79
107
 
80
108
  ### `tiny` - 图片压缩
81
109
 
110
+ 高性能图片压缩命令,基于 [Sharp](https://sharp.pixelplumbing.com/)(libvips),比传统工具快 4-5 倍。
111
+
112
+ **特性**:
113
+ - 多格式支持:JPEG, PNG, WebP
114
+ - 智能算法:自动选择 mozjpeg(JPEG)和 pngquant(PNG)
115
+ - 批量处理:支持递归目录
116
+
82
117
  压缩单个文件或整个目录的图片。
83
118
 
84
119
  ```bash
@@ -205,8 +240,9 @@ z config --reset
205
240
  ```
206
241
 
207
242
  **配置文件位置:**
208
- - Windows: `C:\Users\<用户名>\.zzclub-z-cli\config.json`
209
- - macOS/Linux: `~/.zzclub-z-cli/config.json`
243
+ - Linux: `~/.config/zzclub-z-cli/config.json`(或 `$XDG_CONFIG_HOME/zzclub-z-cli/config.json`)
244
+ - macOS: `~/Library/Application Support/zzclub-z-cli/config.json`
245
+ - Windows: `%APPDATA%\zzclub-z-cli\config.json`
210
246
 
211
247
  **默认配置:**
212
248
 
@@ -222,105 +258,91 @@ z config --reset
222
258
  }
223
259
  ```
224
260
 
225
- ## 🔌 Skills 集成指南
261
+ ## 🔌 Skills 中使用
226
262
 
227
- 如果你想在 OpenCode Skills 或其他自动化工具中使用 z-cli,可以通过以下方式集成:
263
+ z-cli 专为 Agent + Skills 工作流设计。Skills 只需描述命令调用方式,Agent 即可执行。
228
264
 
229
- ### 方式 1: 直接调用命令
265
+ ### 架构说明
230
266
 
231
- ```typescript
232
- // 在 skill 中使用 bash 工具调用
233
- import { bash } from './tools';
267
+ ```
268
+ Agent(决策层)
269
+ 调用
270
+ Skill(描述层)
271
+ ↓ 执行
272
+ z-cli(工具层)
273
+ ↓ 集成
274
+ 各类 Scripts(实现层)
275
+ ```
234
276
 
235
- // 压缩图片
236
- await bash('z tiny -f ./images -r -q 85');
277
+ **优势**:
278
+ - Skills 无需维护复杂脚本逻辑
279
+ - 命令版本统一管理
280
+ - Agent 可直接调用,无额外依赖
237
281
 
238
- // 获取配置
239
- await bash('z config');
240
- ```
282
+ ### 前置要求
241
283
 
242
- ### 方式 2: 编程调用(需要源码集成)
284
+ 确保已安装 Bun 或 Node.js:
243
285
 
244
- ```typescript
245
- // 如果需要编程式调用,可以直接导入模块
246
- import { ImageCompressor } from '@zzclub/z-cli/dist/commands/tiny/compressor.js';
247
- import { FileProcessor } from '@zzclub/z-cli/dist/commands/tiny/file-processor.js';
286
+ ```bash
287
+ # 检查 Bun 是否安装
288
+ bun --version
248
289
 
249
- // 创建压缩器
250
- const compressor = new ImageCompressor({ quality: 80 });
290
+ # 如果未安装,安装 Bun(推荐)
291
+ curl -fsSL https://bun.sh/install | bash # macOS/Linux
292
+ # 或
293
+ powershell -c "irm bun.sh/install.ps1 | iex" # Windows
294
+ ```
251
295
 
252
- // 压缩单个文件
253
- const result = await compressor.compress('./image.jpg', './output.jpg');
254
- console.log(`压缩率: ${result.compressionRatio}%`);
296
+ ### 基础用法
255
297
 
256
- // 批量处理
257
- const processor = new FileProcessor(compressor, {
258
- recursive: true,
259
- overwrite: false,
260
- outputDir: './compressed'
261
- });
298
+ ```bash
299
+ # 使用 bunx(推荐)
300
+ bunx @zzclub/z-cli tiny -f ./images -r -q 85
262
301
 
263
- const stats = await processor.process('./images');
264
- console.log(`成功: ${stats.successful}, 失败: ${stats.failed}`);
302
+ # 或使用 npx(Node.js)
303
+ npx @zzclub/z-cli tiny -f ./images -r -q 85
265
304
  ```
266
305
 
267
- ### 方式 3: MCP Skill 中配置
306
+ ### Skill skill.md 中使用
268
307
 
269
- 如果你要创建一个图片压缩 Skill,可以在 `skill.json` 中配置:
308
+ 直接在你的 Skill 说明中添加压缩命令即可:
270
309
 
271
- ```json
272
- {
273
- "name": "image-compressor",
274
- "version": "1.0.0",
275
- "description": "使用 z-cli 压缩图片",
276
- "dependencies": {
277
- "@zzclub/z-cli": "^1.0.0"
278
- },
279
- "commands": {
280
- "compress": {
281
- "command": "z tiny -f {{file}} -q {{quality}} {{flags}}",
282
- "parameters": {
283
- "file": {
284
- "type": "string",
285
- "required": true,
286
- "description": "要压缩的文件或目录"
287
- },
288
- "quality": {
289
- "type": "number",
290
- "default": 80,
291
- "description": "压缩质量 (1-100)"
292
- },
293
- "flags": {
294
- "type": "string",
295
- "default": "",
296
- "description": "额外的标志,如 -r -o"
297
- }
298
- }
299
- }
300
- }
301
- }
310
+ ```markdown
311
+ ## 图片处理流程
312
+
313
+ 1. 下载图片到 `./downloads` 目录
314
+ 2. 压缩图片:
315
+ ```bash
316
+ bunx @zzclub/z-cli tiny -f ./downloads -r -q 85 --output ./compressed
317
+ ```
318
+ 3. 上传压缩后的图片
302
319
  ```
303
320
 
304
- ### 方式 4: 作为子进程调用
321
+ ### 常用命令
305
322
 
306
- ```typescript
307
- import { spawn } from 'child_process';
323
+ ```bash
324
+ # 压缩单个文件
325
+ bunx @zzclub/z-cli tiny -f ./image.jpg -q 80
308
326
 
309
- function compressImage(file: string, quality: number = 80): Promise<void> {
310
- return new Promise((resolve, reject) => {
311
- const process = spawn('z', ['tiny', '-f', file, '-q', quality.toString()]);
312
-
313
- process.on('close', (code) => {
314
- if (code === 0) resolve();
315
- else reject(new Error(`压缩失败,退出码: ${code}`));
316
- });
317
- });
318
- }
327
+ # 递归压缩目录
328
+ bunx @zzclub/z-cli tiny -f ./images -r -q 85
329
+
330
+ # 压缩并覆盖原文件
331
+ bunx @zzclub/z-cli tiny -f ./images -r -o
319
332
 
320
- // 使用
321
- await compressImage('./image.jpg', 85);
333
+ # 压缩到指定目录
334
+ bunx @zzclub/z-cli tiny -f ./images -r --output ./compressed
335
+
336
+ # 查看帮助
337
+ bunx @zzclub/z-cli --help
322
338
  ```
323
339
 
340
+ ### 优势
341
+
342
+ - ✅ **自动安装依赖** - bunx/npx 会自动下载 z-cli 及其依赖(包括 Sharp)
343
+ - ✅ **无需全局安装** - 每次运行时自动使用最新版本
344
+ - ✅ **简单直接** - 一行命令完成压缩
345
+
324
346
  ## 🛠️ 开发
325
347
 
326
348
  ### 克隆仓库
@@ -6,6 +6,8 @@ export declare class ConfigManager {
6
6
  private configPath;
7
7
  private config;
8
8
  constructor();
9
+ private getConfigDir;
10
+ private migrateLegacyConfig;
9
11
  /**
10
12
  * 加载配置
11
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAe;;IAe7B;;OAEG;IACH,OAAO,CAAC,IAAI;IAqBZ;;OAEG;IACH,OAAO,CAAC,IAAI;IAQZ;;OAEG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAK9D;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB"}
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAe;;IAgB7B,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,OAAO,CAAC,IAAI;IAqBZ;;OAEG;IACH,OAAO,CAAC,IAAI;IAQZ;;OAEG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAK9D;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB"}
@@ -1,6 +1,6 @@
1
- import { homedir } from 'node:os';
2
- import { join } from 'node:path';
3
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
1
+ import { homedir, platform } from 'node:os';
2
+ import { basename, join } from 'node:path';
3
+ import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs';
4
4
  import { DEFAULT_CONFIG, CONFIG_DIR, CONFIG_FILE } from '../types/config.js';
5
5
  /**
6
6
  * 配置管理器
@@ -9,8 +9,9 @@ export class ConfigManager {
9
9
  configPath;
10
10
  config;
11
11
  constructor() {
12
- const configDir = join(homedir(), CONFIG_DIR);
12
+ const configDir = this.getConfigDir();
13
13
  this.configPath = join(configDir, CONFIG_FILE);
14
+ this.migrateLegacyConfig(configDir, this.configPath);
14
15
  // 确保配置目录存在
15
16
  if (!existsSync(configDir)) {
16
17
  mkdirSync(configDir, { recursive: true });
@@ -18,6 +19,44 @@ export class ConfigManager {
18
19
  // 加载配置
19
20
  this.config = this.load();
20
21
  }
22
+ getConfigDir() {
23
+ const home = homedir();
24
+ const currentPlatform = platform();
25
+ if (currentPlatform === 'win32') {
26
+ const appData = process.env.APPDATA;
27
+ if (appData) {
28
+ return join(appData, CONFIG_DIR);
29
+ }
30
+ return join(home, 'AppData', 'Roaming', CONFIG_DIR);
31
+ }
32
+ if (currentPlatform === 'darwin') {
33
+ return join(home, 'Library', 'Application Support', CONFIG_DIR);
34
+ }
35
+ const xdgConfigHome = process.env.XDG_CONFIG_HOME;
36
+ if (xdgConfigHome && xdgConfigHome.trim().length > 0) {
37
+ return join(xdgConfigHome, CONFIG_DIR);
38
+ }
39
+ return join(home, '.config', CONFIG_DIR);
40
+ }
41
+ migrateLegacyConfig(configDir, nextConfigPath) {
42
+ const legacyDir = join(homedir(), `.${CONFIG_DIR}`);
43
+ const legacyPath = join(legacyDir, CONFIG_FILE);
44
+ if (!existsSync(legacyPath) || existsSync(nextConfigPath)) {
45
+ return;
46
+ }
47
+ if (!existsSync(configDir)) {
48
+ mkdirSync(configDir, { recursive: true });
49
+ }
50
+ renameSync(legacyPath, nextConfigPath);
51
+ if (existsSync(legacyDir) && basename(legacyDir) === `.${CONFIG_DIR}`) {
52
+ try {
53
+ rmSync(legacyDir, { recursive: true, force: true });
54
+ }
55
+ catch {
56
+ return;
57
+ }
58
+ }
59
+ }
21
60
  /**
22
61
  * 加载配置
23
62
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE7E;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,UAAU,CAAS;IACnB,MAAM,CAAe;IAE7B;QACE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE/C,WAAW;QACX,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,IAAI;QACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,cAAc;YACd,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1B,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA0B,CAAC;YAElE,iBAAiB;YACjB,OAAO;gBACL,IAAI,EAAE,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE;aACvD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;YAC3C,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,IAAI,CAAC,MAAoB;QAC/B,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAsC;QACrD,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,6 @@ export interface TinyConfig {
24
24
  * 默认配置
25
25
  */
26
26
  export declare const DEFAULT_CONFIG: GlobalConfig;
27
- /**
28
- * 配置文件路径
29
- */
30
- export declare const CONFIG_DIR = ".zzclub-z-cli";
27
+ export declare const CONFIG_DIR = "zzclub-z-cli";
31
28
  export declare const CONFIG_FILE = "config.json";
32
29
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAQ5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,kBAAkB,CAAC;AAC1C,eAAO,MAAM,WAAW,gBAAgB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAQ5B,CAAC;AAEF,eAAO,MAAM,UAAU,iBAAiB,CAAC;AACzC,eAAO,MAAM,WAAW,gBAAgB,CAAC"}
@@ -10,9 +10,6 @@ export const DEFAULT_CONFIG = {
10
10
  verbose: false,
11
11
  },
12
12
  };
13
- /**
14
- * 配置文件路径
15
- */
16
- export const CONFIG_DIR = '.zzclub-z-cli';
13
+ export const CONFIG_DIR = 'zzclub-z-cli';
17
14
  export const CONFIG_FILE = 'config.json';
18
15
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,IAAI,EAAE;QACJ,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,KAAK;KACf;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,IAAI,EAAE;QACJ,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,KAAK;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@zzclub/z-cli",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "all-in-one 工具箱,专为提升日常及工作效率而生",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
7
+ "packageManager": "bun@1.3.7",
7
8
  "author": "aatrox",
8
9
  "bin": {
9
10
  "z": "./dist/index.js",
@@ -39,10 +40,10 @@
39
40
  "type-check": "bun run tsc --noEmit",
40
41
  "prepublishOnly": "bun run type-check && bun run build",
41
42
  "release": "bun run release:patch",
42
- "release:patch": "bunx changelogen@latest --patch --release --push --publish",
43
- "release:minor": "bunx changelogen@latest --minor --release --push --publish",
44
- "release:major": "bunx changelogen@latest --major --release --push --publish",
45
- "release:main": "bunx changelogen@latest -r 1.0.0 --release --push --publish"
43
+ "release:patch": "bunx changelogen@latest --patch --release --push",
44
+ "release:minor": "bunx changelogen@latest --minor --release --push",
45
+ "release:major": "bunx changelogen@latest --major --release --push",
46
+ "release:main": "bunx changelogen@latest -r 1.0.0 --release --push"
46
47
  },
47
48
  "engines": {
48
49
  "node": ">=18.18.0",