@gonzui/csheet-cli 1.0.4 → 1.0.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.
package/README.ja.md CHANGED
@@ -23,6 +23,8 @@ npm install -g @gonzui/csheet-cli
23
23
  | `cs edit <name>` | エディタで編集 |
24
24
  | `cs rm <name>` | 削除(確認プロンプトあり) |
25
25
  | `cs rm <name> --force` | 確認なしで削除 |
26
+ | `cs rename <old> <new>` | チートシートの名前を変更 |
27
+ | `cs rename <old> <new> -f` | 新しい名前が存在する場合も強制変更 |
26
28
  | `cs export <name>` | カレントディレクトリにエクスポート |
27
29
  | `cs export <name> --out <path>` | 指定パスにエクスポート |
28
30
 
@@ -87,6 +89,40 @@ cs export git-commands --out ~/backup/
87
89
  - **全文検索**: チートシート名と内容からキーワード検索
88
90
  - **エディタ連携**: 環境変数 `$EDITOR` を使用(未設定時はvim)
89
91
 
92
+ ## サンプル
93
+
94
+ `sample/` ディレクトリにサンプルのチートシートがあります:
95
+
96
+ ```
97
+ sample/
98
+ ├── en/ # 英語版
99
+ │ ├── cc-skills.md # Claude Code スキル
100
+ │ ├── cs-help.md # このCLIのヘルプ
101
+ │ ├── tmux.md # tmux コマンド
102
+ │ └── vim.md # Vim コマンド
103
+ └── ja/ # 日本語版
104
+ ├── cc-skills.md
105
+ ├── cs-help.md
106
+ ├── tmux.md
107
+ └── vim.md
108
+ ```
109
+
110
+ ### サンプルをチートシートに追加
111
+
112
+ ```bash
113
+ # 日本語版サンプルを追加
114
+ cs add vim --file sample/ja/vim.md
115
+ cs add tmux --file sample/ja/tmux.md
116
+ cs add cc-skills --file sample/ja/cc-skills.md
117
+ cs add cs-help --file sample/ja/cs-help.md
118
+
119
+ # 英語版サンプルを追加
120
+ cs add vim --file sample/en/vim.md
121
+ cs add tmux --file sample/en/tmux.md
122
+ cs add cc-skills --file sample/en/cc-skills.md
123
+ cs add cs-help --file sample/en/cs-help.md
124
+ ```
125
+
90
126
  ## データ保存場所
91
127
 
92
128
  チートシートは `~/.config/cheatsheet-cli/` に保存されます:
package/README.md CHANGED
@@ -23,6 +23,8 @@ npm install -g @gonzui/csheet-cli
23
23
  | `cs edit <name>` | Edit a cheatsheet |
24
24
  | `cs rm <name>` | Delete a cheatsheet (with confirmation) |
25
25
  | `cs rm <name> --force` | Delete without confirmation |
26
+ | `cs rename <old> <new>` | Rename a cheatsheet |
27
+ | `cs rename <old> <new> -f` | Rename and overwrite if new name exists |
26
28
  | `cs export <name>` | Export to current directory |
27
29
  | `cs export <name> --out <path>` | Export to specified path |
28
30
 
@@ -87,6 +89,40 @@ cs export git-commands --out ~/backup/
87
89
  - **Full-text Search**: Search by cheatsheet name and content
88
90
  - **Editor Integration**: Uses `$EDITOR` environment variable (defaults to vim)
89
91
 
92
+ ## Samples
93
+
94
+ Sample cheatsheets are available in the `sample/` directory:
95
+
96
+ ```
97
+ sample/
98
+ ├── en/ # English
99
+ │ ├── cc-skills.md # Claude Code skills
100
+ │ ├── cs-help.md # This CLI help
101
+ │ ├── tmux.md # tmux commands
102
+ │ └── vim.md # Vim commands
103
+ └── ja/ # Japanese
104
+ ├── cc-skills.md
105
+ ├── cs-help.md
106
+ ├── tmux.md
107
+ └── vim.md
108
+ ```
109
+
110
+ ### Add samples to your cheatsheets
111
+
112
+ ```bash
113
+ # Add English samples
114
+ cs add vim --file sample/en/vim.md
115
+ cs add tmux --file sample/en/tmux.md
116
+ cs add cc-skills --file sample/en/cc-skills.md
117
+ cs add cs-help --file sample/en/cs-help.md
118
+
119
+ # Add Japanese samples
120
+ cs add vim --file sample/ja/vim.md
121
+ cs add tmux --file sample/ja/tmux.md
122
+ cs add cc-skills --file sample/ja/cc-skills.md
123
+ cs add cs-help --file sample/ja/cs-help.md
124
+ ```
125
+
90
126
  ## Data Storage
91
127
 
92
128
  Cheatsheets are stored in `~/.config/cheatsheet-cli/`:
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const renameCommand: Command;
3
+ //# sourceMappingURL=rename.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename.d.ts","sourceRoot":"","sources":["../../src/commands/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,eAAO,MAAM,aAAa,SAoDtB,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.renameCommand = void 0;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const readline_1 = __importDefault(require("readline"));
10
+ const storage_1 = require("../lib/storage");
11
+ // 上書き確認プロンプト
12
+ const confirmOverwrite = async (name) => {
13
+ const rl = readline_1.default.createInterface({
14
+ input: process.stdin,
15
+ output: process.stdout,
16
+ });
17
+ return new Promise((resolve) => {
18
+ rl.question(chalk_1.default.yellow(`Sheet "${name}" already exists. Overwrite? (y/N): `), (answer) => {
19
+ rl.close();
20
+ resolve(answer.toLowerCase() === 'y');
21
+ });
22
+ });
23
+ };
24
+ exports.renameCommand = new commander_1.Command('rename')
25
+ .description('Rename a cheatsheet')
26
+ .argument('<old-name>', 'Current name of the cheatsheet')
27
+ .argument('<new-name>', 'New name for the cheatsheet')
28
+ .option('-f, --force', 'Overwrite if new name exists')
29
+ .action(async (oldName, newName, options) => {
30
+ try {
31
+ // 同じ名前の場合
32
+ if (oldName === newName) {
33
+ console.error(chalk_1.default.red('Error: Old name and new name are the same'));
34
+ process.exit(1);
35
+ }
36
+ // 新しい名前のバリデーション
37
+ if (!(0, storage_1.validateName)(newName)) {
38
+ console.error(chalk_1.default.red('Error: Invalid name. Use only alphanumeric characters, hyphens, and underscores'));
39
+ process.exit(1);
40
+ }
41
+ // 古い名前のシートが存在するか確認
42
+ const oldSheet = await (0, storage_1.getSheet)(oldName);
43
+ if (!oldSheet) {
44
+ console.error(chalk_1.default.red(`Error: Sheet "${oldName}" not found`));
45
+ process.exit(1);
46
+ }
47
+ // 新しい名前のシートが既に存在するか確認
48
+ const existingSheet = await (0, storage_1.getSheet)(newName);
49
+ if (existingSheet) {
50
+ if (!options.force) {
51
+ const shouldOverwrite = await confirmOverwrite(newName);
52
+ if (!shouldOverwrite) {
53
+ console.log(chalk_1.default.yellow('Cancelled'));
54
+ return;
55
+ }
56
+ }
57
+ // 既存のシートを削除
58
+ await (0, storage_1.removeSheet)(newName);
59
+ }
60
+ // リネーム実行
61
+ const success = await (0, storage_1.renameSheet)(oldName, newName);
62
+ if (success) {
63
+ console.log(chalk_1.default.green(`Renamed "${oldName}" to "${newName}"`));
64
+ }
65
+ else {
66
+ console.error(chalk_1.default.red(`Error: Failed to rename sheet`));
67
+ process.exit(1);
68
+ }
69
+ }
70
+ catch (error) {
71
+ console.error(chalk_1.default.red(`Error: ${error.message}`));
72
+ process.exit(1);
73
+ }
74
+ });
75
+ //# sourceMappingURL=rename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../src/commands/rename.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,13 +7,14 @@ const show_1 = require("./commands/show");
7
7
  const search_1 = require("./commands/search");
8
8
  const edit_1 = require("./commands/edit");
9
9
  const remove_1 = require("./commands/remove");
10
+ const rename_1 = require("./commands/rename");
10
11
  const export_1 = require("./commands/export");
11
12
  const storage_1 = require("./lib/storage");
12
13
  const program = new commander_1.Command();
13
14
  program
14
15
  .name('cs')
15
16
  .description('A CLI tool to save and manage cheatsheets for commands and tools locally')
16
- .version('1.0.0');
17
+ .version('1.0.5');
17
18
  // コマンドを登録
18
19
  program.addCommand(add_1.addCommand);
19
20
  program.addCommand(list_1.listCommand);
@@ -21,6 +22,7 @@ program.addCommand(show_1.showCommand);
21
22
  program.addCommand(search_1.searchCommand);
22
23
  program.addCommand(edit_1.editCommand);
23
24
  program.addCommand(remove_1.removeCommand);
25
+ program.addCommand(rename_1.renameCommand);
24
26
  program.addCommand(export_1.exportCommand);
25
27
  // メイン処理
26
28
  const main = async () => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,wCAA4C;AAC5C,0CAA8C;AAC9C,0CAA8C;AAC9C,8CAAkD;AAClD,0CAA8C;AAC9C,8CAAkD;AAClD,8CAAkD;AAClD,2CAA4C;AAE5C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,0EAA0E,CAAC;KACvF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,UAAU;AACV,OAAO,CAAC,UAAU,CAAC,gBAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAElC,QAAQ;AACR,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,YAAY;IACZ,MAAM,IAAA,qBAAW,GAAE,CAAC;IAEpB,WAAW;IACX,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,wCAA4C;AAC5C,0CAA8C;AAC9C,0CAA8C;AAC9C,8CAAkD;AAClD,0CAA8C;AAC9C,8CAAkD;AAClD,8CAAkD;AAClD,8CAAkD;AAClD,2CAA4C;AAE5C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,0EAA0E,CAAC;KACvF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,UAAU;AACV,OAAO,CAAC,UAAU,CAAC,gBAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAElC,QAAQ;AACR,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,YAAY;IACZ,MAAM,IAAA,qBAAW,GAAE,CAAC;IAEpB,WAAW;IACX,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -12,4 +12,5 @@ export declare const isValidImageExtension: (filename: string) => boolean;
12
12
  export declare const readSheetContent: (sheet: Sheet) => Promise<string>;
13
13
  export declare const writeSheetContent: (sheet: Sheet, content: string) => Promise<void>;
14
14
  export declare const copyFile: (src: string, dest: string) => Promise<void>;
15
+ export declare const renameSheet: (oldName: string, newName: string) => Promise<boolean>;
15
16
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,KAAK,EAA4C,MAAM,UAAU,CAAC;AAGtF,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAShD,CAAC;AAGF,eAAO,MAAM,QAAQ,QAAa,OAAO,CAAC,SAAS,CAGlD,CAAC;AAGF,eAAO,MAAM,QAAQ,GAAU,MAAM,SAAS,KAAG,OAAO,CAAC,IAAI,CAE5D,CAAC;AAGF,eAAO,MAAM,QAAQ,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAGtE,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAU,OAAO,KAAK,KAAG,OAAO,CAAC,IAAI,CAWjE,CAAC;AAGF,eAAO,MAAM,WAAW,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAmB/D,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,KAAG,MAK/C,CAAC;AAGF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,KAAK,EAAE,CAGpD,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,OAE3C,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,OAGxD,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAU,OAAO,KAAK,KAAG,OAAO,CAAC,MAAM,CAGnE,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAU,OAAO,KAAK,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,IAAI,CAGnF,CAAC;AAGF,eAAO,MAAM,QAAQ,GAAU,KAAK,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAEtE,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,KAAK,EAA4C,MAAM,UAAU,CAAC;AAGtF,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAShD,CAAC;AAGF,eAAO,MAAM,QAAQ,QAAa,OAAO,CAAC,SAAS,CAGlD,CAAC;AAGF,eAAO,MAAM,QAAQ,GAAU,MAAM,SAAS,KAAG,OAAO,CAAC,IAAI,CAE5D,CAAC;AAGF,eAAO,MAAM,QAAQ,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAGtE,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAU,OAAO,KAAK,KAAG,OAAO,CAAC,IAAI,CAWjE,CAAC;AAGF,eAAO,MAAM,WAAW,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAmB/D,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,KAAG,MAK/C,CAAC;AAGF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,KAAK,EAAE,CAGpD,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,OAE3C,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,OAGxD,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAU,OAAO,KAAK,KAAG,OAAO,CAAC,MAAM,CAGnE,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAU,OAAO,KAAK,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,IAAI,CAGnF,CAAC;AAGF,eAAO,MAAM,QAAQ,GAAU,KAAK,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAEtE,CAAC;AAGF,eAAO,MAAM,WAAW,GAAU,SAAS,MAAM,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,OAAO,CAiCnF,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.copyFile = exports.writeSheetContent = exports.readSheetContent = exports.isValidImageExtension = exports.validateName = exports.getAllSheets = exports.getSheetFilePath = exports.removeSheet = exports.addOrUpdateSheet = exports.getSheet = exports.saveData = exports.loadData = exports.initStorage = void 0;
6
+ exports.renameSheet = exports.copyFile = exports.writeSheetContent = exports.readSheetContent = exports.isValidImageExtension = exports.validateName = exports.getAllSheets = exports.getSheetFilePath = exports.removeSheet = exports.addOrUpdateSheet = exports.getSheet = exports.saveData = exports.loadData = exports.initStorage = void 0;
7
7
  const fs_extra_1 = __importDefault(require("fs-extra"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const config_1 = require("./config");
@@ -109,4 +109,32 @@ const copyFile = async (src, dest) => {
109
109
  await fs_extra_1.default.copy(src, dest);
110
110
  };
111
111
  exports.copyFile = copyFile;
112
+ // シートの名前を変更
113
+ const renameSheet = async (oldName, newName) => {
114
+ const data = await (0, exports.loadData)();
115
+ const sheet = data.sheets.find((s) => s.name === oldName);
116
+ if (!sheet) {
117
+ return false;
118
+ }
119
+ // 古いファイルパス
120
+ const oldFilePath = (0, exports.getSheetFilePath)(sheet);
121
+ // 新しいファイル名を生成
122
+ const ext = path_1.default.extname(sheet.filename);
123
+ const newFilename = `${newName}${ext}`;
124
+ // 新しいファイルパス
125
+ const newFilePath = sheet.type === 'text'
126
+ ? path_1.default.join(config_1.SHEETS_DIR, newFilename)
127
+ : path_1.default.join(config_1.IMAGES_DIR, newFilename);
128
+ // ファイルをリネーム
129
+ if (await fs_extra_1.default.pathExists(oldFilePath)) {
130
+ await fs_extra_1.default.rename(oldFilePath, newFilePath);
131
+ }
132
+ // メタデータを更新
133
+ sheet.name = newName;
134
+ sheet.filename = newFilename;
135
+ sheet.updatedAt = new Date().toISOString();
136
+ await (0, exports.saveData)(data);
137
+ return true;
138
+ };
139
+ exports.renameSheet = renameSheet;
112
140
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gonzui/csheet-cli",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "A CLI tool to save and manage cheatsheets for commands and tools locally",
5
5
  "main": "dist/index.js",
6
6
  "bin": {