rulesync 0.56.0 → 0.58.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/README.ja.md +173 -20
- package/README.md +67 -699
- package/dist/index.cjs +464 -213
- package/dist/index.js +464 -213
- package/package.json +19 -19
package/README.ja.md
CHANGED
|
@@ -14,13 +14,13 @@ rulesyncは以下の**10のAI開発ツール**の**生成**と**インポート*
|
|
|
14
14
|
- **GitHub Copilot Custom Instructions** (`.github/copilot-instructions.md` + `.github/instructions/*.instructions.md`)
|
|
15
15
|
- **Cursor Project Rules** (`.cursor/rules/*.mdc` + `.cursorrules`)
|
|
16
16
|
- **Cline Rules** (`.clinerules/*.md` + `.cline/instructions.md`)
|
|
17
|
-
- **Claude Code Memory** (`./CLAUDE.md` + `.claude/memories/*.md`)
|
|
17
|
+
- **Claude Code Memory** (`./CLAUDE.md` + `.claude/memories/*.md` + **カスタムスラッシュコマンド** `.claude/commands/*.md`)
|
|
18
18
|
- **OpenAI Codex CLI** (`codex.md` + `.codex/mcp-config.json` + `.codexignore`)
|
|
19
19
|
- **AugmentCode Rules** (`.augment/rules/*.md`)
|
|
20
20
|
- **Roo Code Rules** (`.roo/rules/*.md` + `.roo/instructions.md`)
|
|
21
|
-
- **Gemini CLI** (`GEMINI.md` + `.gemini/memories/*.md`)
|
|
21
|
+
- **Gemini CLI** (`GEMINI.md` + `.gemini/memories/*.md` + **カスタムスラッシュコマンド** `.gemini/commands/*.md`)
|
|
22
22
|
- **JetBrains Junie Guidelines** (`.junie/guidelines.md`)
|
|
23
|
-
- **Windsurf AIコードエディター** (`.
|
|
23
|
+
- **Windsurf AIコードエディター** (`.windsurf/rules/*.md` + `.codeiumignore` + `.windsurf/mcp.json`)
|
|
24
24
|
- **Kiro IDE カスタムステアリングドキュメント** (`.kiro/steering/*.md`) + **AI除外ファイル** (`.aiignore`)
|
|
25
25
|
|
|
26
26
|
## インストール
|
|
@@ -153,6 +153,7 @@ rulesyncは**OpenAI Codex CLI**の階層メモリシステムをサポートし
|
|
|
153
153
|
- **GPT-4モデル**: GPT-4、GPT-4 Turbo、o1-mini、その他のOpenAIモデルをサポート
|
|
154
154
|
- **プレーンMarkdown形式**: 複雑なフロントマターなしのクリーンで読みやすいインストラクションファイル
|
|
155
155
|
- **コミュニティIgnoreサポート**: 機密ファイルをAIアクセスから除外するオプションの`.codexignore`ファイル
|
|
156
|
+
- **カスタムスラッシュコマンド**: Claude CodeとGemini CLI用の統一されたカスタムコマンド生成
|
|
156
157
|
|
|
157
158
|
### ファイル構造
|
|
158
159
|
|
|
@@ -206,14 +207,27 @@ rulesyncは**Windsurf AIコードエディター**の完全統合を提供し、
|
|
|
206
207
|
- **プライバシー制御**: 機密ファイルをAIアクセスから除外するスマートな除外システム
|
|
207
208
|
- **プロジェクトレベル設定**: チーム全体で一貫したAI支援開発体験
|
|
208
209
|
|
|
209
|
-
###
|
|
210
|
+
### ファイル構造
|
|
210
211
|
|
|
211
212
|
rulesyncはWindsurf用に以下のファイルを生成します:
|
|
212
213
|
|
|
213
|
-
- **`.
|
|
214
|
-
- **`.windsurf/
|
|
215
|
-
- **`.
|
|
216
|
-
|
|
214
|
+
- **`.windsurf/rules/*.md`**: プロジェクト固有のルール(ルートルールと詳細ルールの両方から生成)
|
|
215
|
+
- **`.windsurf/mcp.json`**: 外部ツール統合用のMCPサーバー設定
|
|
216
|
+
- **`.codeiumignore`**: Cascade AI分析から機密ファイルを除外するための除外ファイル
|
|
217
|
+
|
|
218
|
+
### ルール統合オプション
|
|
219
|
+
|
|
220
|
+
Windsurfは複数のルール配置戦略をサポートしています:
|
|
221
|
+
|
|
222
|
+
#### ディレクトリ方式(推奨)
|
|
223
|
+
- **場所**: `.windsurf/rules/`ディレクトリ
|
|
224
|
+
- **ファイル**: 整理されたルール分類のための複数のMarkdownファイル
|
|
225
|
+
- **利点**: より良い整理、チーム協力、バージョン管理に優しい
|
|
226
|
+
|
|
227
|
+
#### 単一ファイル方式
|
|
228
|
+
- **場所**: プロジェクトルートの`.windsurf-rules`ファイル
|
|
229
|
+
- **形式**: すべてのルールを含む単一のMarkdownファイル
|
|
230
|
+
- **用途**: シンプルなプロジェクトまたは最小限のルールセット
|
|
217
231
|
|
|
218
232
|
### Windsurf設定の生成
|
|
219
233
|
|
|
@@ -231,10 +245,9 @@ npx rulesync generate --windsurf --base-dir ./packages/frontend
|
|
|
231
245
|
```
|
|
232
246
|
|
|
233
247
|
これにより以下が作成されます:
|
|
234
|
-
- `.
|
|
235
|
-
- `.windsurf/
|
|
236
|
-
- `.
|
|
237
|
-
- `.windsurfignore` プライバシー保護用(`.rulesyncignore`が存在する場合)
|
|
248
|
+
- `.windsurf/rules/*.md` カテゴリ別に整理されたプロジェクトルール
|
|
249
|
+
- `.windsurf/mcp.json` MCPサーバー統合用
|
|
250
|
+
- `.codeiumignore` プライバシー制御強化用(`.rulesyncignore`が存在する場合)
|
|
238
251
|
|
|
239
252
|
### アーキテクチャ改善
|
|
240
253
|
|
|
@@ -280,6 +293,128 @@ In .rulesync/overview.md, root should be set to true. Please write an appropriat
|
|
|
280
293
|
- **チーム標準化**: すべてのメンバーが同じルールセットを使用
|
|
281
294
|
- **継続的改善**: プロジェクトの成長とともにルールが進化
|
|
282
295
|
|
|
296
|
+
## カスタムスラッシュコマンド
|
|
297
|
+
|
|
298
|
+
### 概要
|
|
299
|
+
|
|
300
|
+
rulesyncは、統一されたコマンド定義からClaude CodeとGemini CLI用のカスタムスラッシュコマンドを生成できます。これにより、異なるAIアシスタント間で一貫したカスタムコマンドを作成できます。
|
|
301
|
+
|
|
302
|
+
### カスタムコマンドの作成
|
|
303
|
+
|
|
304
|
+
`.rulesync/commands/`ディレクトリにコマンドファイルを作成します。各ファイルは1つのカスタムコマンドを表します:
|
|
305
|
+
|
|
306
|
+
```
|
|
307
|
+
.rulesync/
|
|
308
|
+
├── commands/
|
|
309
|
+
│ ├── init-project.md # /init-projectコマンド
|
|
310
|
+
│ ├── test-suite.md # /test-suiteコマンド
|
|
311
|
+
│ └── deploy.md # /deployコマンド
|
|
312
|
+
└── *.md # 通常のルールファイル
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### コマンドファイルのフォーマット
|
|
316
|
+
|
|
317
|
+
コマンドファイルは、メタデータを定義するYAMLフロントマターとコマンドの説明用Markdownコンテンツを使用します:
|
|
318
|
+
|
|
319
|
+
```markdown
|
|
320
|
+
---
|
|
321
|
+
targets: ["claudecode", "geminicli"] # ターゲットツール(オプション、デフォルトは両方)
|
|
322
|
+
description: "プロジェクトセットアップを初期化" # 簡潔な説明(オプション)
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
# プロジェクトの初期化
|
|
326
|
+
|
|
327
|
+
このプロジェクトのコードベースを分析して、初期設定をセットアップします。
|
|
328
|
+
|
|
329
|
+
## 手順:
|
|
330
|
+
1. プロジェクト構造をスキャン
|
|
331
|
+
2. 技術スタックを特定
|
|
332
|
+
3. 設定ファイルを作成
|
|
333
|
+
4. 開発環境をセットアップ
|
|
334
|
+
|
|
335
|
+
以下を確認してください:
|
|
336
|
+
- すべての依存関係が適切に設定されている
|
|
337
|
+
- 環境変数がドキュメント化されている
|
|
338
|
+
- READMEにセットアップ手順が更新されている
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### コマンド用フロントマターフィールド(v0.58.0で簡略化)
|
|
342
|
+
|
|
343
|
+
- **`targets`**(オプション): ターゲットツールの配列。デフォルトは`["claudecode", "geminicli"]`。
|
|
344
|
+
- **`description`**(オプション): コマンドの目的の簡潔な説明。
|
|
345
|
+
|
|
346
|
+
**注意**: コマンド名はファイル名(拡張子なし)から自動的に決定されるため、別途`name`フィールドは不要です。
|
|
347
|
+
|
|
348
|
+
### 生成されるコマンドファイル
|
|
349
|
+
|
|
350
|
+
コマンドは以下の場所に生成されます:
|
|
351
|
+
|
|
352
|
+
| ツール | 出力パス | フォーマット |
|
|
353
|
+
|------|------------|--------|
|
|
354
|
+
| **Claude Code** | `.claude/commands/<name>.md` | プレーンMarkdown |
|
|
355
|
+
| **Gemini CLI** | `.gemini/commands/<name>.md` | プレーンMarkdown |
|
|
356
|
+
|
|
357
|
+
### コマンドファイルの例
|
|
358
|
+
|
|
359
|
+
**テストコマンド**(`.rulesync/commands/test-all.md`):
|
|
360
|
+
```markdown
|
|
361
|
+
---
|
|
362
|
+
description: "カバレッジ付きですべてのテストスイートを実行"
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
カバレッジレポート付きでこのプロジェクトの完全なテストスイートを実行します。
|
|
366
|
+
|
|
367
|
+
以下を実行:
|
|
368
|
+
1. ユニットテスト
|
|
369
|
+
2. 統合テスト
|
|
370
|
+
3. E2Eテスト(該当する場合)
|
|
371
|
+
4. カバレッジレポートを生成
|
|
372
|
+
|
|
373
|
+
失敗がある場合は以下の詳細を報告:
|
|
374
|
+
- テスト名と場所
|
|
375
|
+
- エラーメッセージ
|
|
376
|
+
- 修正案
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**ドキュメントコマンド**(`.rulesync/commands/update-docs.md`):
|
|
380
|
+
```markdown
|
|
381
|
+
---
|
|
382
|
+
targets: ["claudecode"]
|
|
383
|
+
description: "プロジェクトドキュメントを更新"
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
プロジェクトのドキュメントを現在のコードベースに合わせて確認・更新します。
|
|
387
|
+
|
|
388
|
+
タスク:
|
|
389
|
+
- README.mdを現在の機能で更新
|
|
390
|
+
- APIドキュメントが完全であることを確認
|
|
391
|
+
- 古い例をチェック
|
|
392
|
+
- 不足している設定オプションを追加
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### コマンドの生成
|
|
396
|
+
|
|
397
|
+
コマンドは通常の`generate`コマンドで自動的に生成されます:
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
# コマンドを含むすべてを生成
|
|
401
|
+
npx rulesync generate
|
|
402
|
+
|
|
403
|
+
# Claude Codeのみ生成(コマンドを含む)
|
|
404
|
+
npx rulesync generate --claudecode
|
|
405
|
+
|
|
406
|
+
# Gemini CLIのみ生成(コマンドを含む)
|
|
407
|
+
npx rulesync generate --geminicli
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### コマンドのベストプラクティス
|
|
411
|
+
|
|
412
|
+
1. **コマンドをフォーカスする**: 各コマンドは単一の明確な目的を持つべき
|
|
413
|
+
2. **説明的な名前を使用**: コマンド名は何をするかを明確に示すべき
|
|
414
|
+
3. **明確な指示を含める**: コマンド本文にステップバイステップのガイダンスを提供
|
|
415
|
+
4. **適切にターゲット設定**: コマンドの機能をサポートするツールのみをターゲットに
|
|
416
|
+
5. **期待される結果を文書化**: 何が達成されるべきかを指定
|
|
417
|
+
|
|
283
418
|
## 使用方法
|
|
284
419
|
|
|
285
420
|
### 1. 初期化
|
|
@@ -288,7 +423,7 @@ In .rulesync/overview.md, root should be set to true. Please write an appropriat
|
|
|
288
423
|
npx rulesync init
|
|
289
424
|
```
|
|
290
425
|
|
|
291
|
-
これにより、サンプルルールファイルを含む`.rulesync/`ディレクトリが作成されます。
|
|
426
|
+
これにより、サンプルルールファイルを含む`.rulesync/`ディレクトリと、オプションでカスタムスラッシュコマンド用の`.rulesync/commands/`ディレクトリが作成されます。
|
|
292
427
|
|
|
293
428
|
### 2. ルールファイルの編集
|
|
294
429
|
|
|
@@ -317,7 +452,7 @@ rulesyncは2レベルのルールシステムを使用します:
|
|
|
317
452
|
| **Cline** | 標準フォーマット | 標準フォーマット | すべてのルールがプレーンMarkdownフォーマットを使用 |
|
|
318
453
|
| **Roo Code** | 標準フォーマット | 標準フォーマット | すべてのルールが説明ヘッダー付きのプレーンMarkdownフォーマットを使用 |
|
|
319
454
|
| **Gemini CLI** | `GEMINI.md` | `.gemini/memories/*.md` | GEMINI.mdがメモリファイルへの`@filename`参照を含む |
|
|
320
|
-
| **Windsurf** | `.
|
|
455
|
+
| **Windsurf** | `.windsurf/rules/*.md` | `.windsurf/rules/*.md` | 包括的統合:MCP設定、ignoreファイル、プレーンMarkdownフォーマット |
|
|
321
456
|
|
|
322
457
|
### 3. 設定ファイルの生成
|
|
323
458
|
|
|
@@ -388,14 +523,22 @@ npx rulesync import --copilot
|
|
|
388
523
|
npx rulesync import --claudecode --verbose
|
|
389
524
|
```
|
|
390
525
|
|
|
526
|
+
**拡張インポート機能** (v0.58.0以降):
|
|
527
|
+
- **上書き保護**: 既存の`.rulesync/`ファイルを上書きすることなく安全にインポート
|
|
528
|
+
- **コマンドディレクトリサポート**: サポートするツール(Claude Code、Gemini CLI)からカスタムスラッシュコマンドを自動検出・インポート
|
|
529
|
+
- **改善された整理**: 説明的な名前と適切な分類による、より整理されたルールファイルの作成
|
|
530
|
+
- **MCP設定インポート**: 利用可能な場合、Model Context Protocol設定をインポート
|
|
531
|
+
|
|
391
532
|
importコマンドの動作:
|
|
392
533
|
- カスタムパーサーを使用して各AIツールの既存設定ファイルをパース
|
|
393
534
|
- 適切なフロントマターメタデータを付けてrulesync形式に変換
|
|
394
535
|
- インポートしたコンテンツと適切なルール分類で新しい`.rulesync/*.md`ファイルを作成
|
|
536
|
+
- カスタムコマンドを`.rulesync/commands/`ディレクトリにインポート(Claude Code、Gemini CLI)
|
|
395
537
|
- ファイル名の競合を避けるためツール固有のプレフィックスを使用(例:`claudecode-overview.md`、`cursor-custom-rules.md`)
|
|
396
538
|
- 競合が発生した場合はユニークなファイル名を生成
|
|
397
539
|
- YAMLフロントマター付きのCursorのMDCファイルなど複雑なフォーマットをサポート
|
|
398
540
|
- 複数ファイルのインポート(例:`.claude/memories/`ディレクトリのすべてのファイル)に対応
|
|
541
|
+
- 利用可能な場合、MCP設定を`.rulesync/.mcp.json`にインポート
|
|
399
542
|
|
|
400
543
|
### Cursorインポートの詳細
|
|
401
544
|
|
|
@@ -421,9 +564,11 @@ Cursorからのインポートでは、以下の4つのルールタイプが自
|
|
|
421
564
|
- **description非空 + globs非空の場合**: `specificFiles`として処理(globsパターンを優先)
|
|
422
565
|
- **判定条件に該当しない場合**: `manual`として処理(デフォルト)
|
|
423
566
|
|
|
424
|
-
####
|
|
425
|
-
- `.
|
|
426
|
-
- `.
|
|
567
|
+
#### サポートファイル
|
|
568
|
+
- `.cursorrules`(レガシー形式)
|
|
569
|
+
- `.cursor/rules/*.mdc`(モダンMDC形式)
|
|
570
|
+
- `.cursorignore`(除外パターン)
|
|
571
|
+
- `.cursor/mcp.json`(MCPサーバー設定)
|
|
427
572
|
|
|
428
573
|
### 設定ファイル
|
|
429
574
|
|
|
@@ -464,6 +609,9 @@ rulesyncは、繰り返しコマンドライン引数を避けるために設定
|
|
|
464
609
|
// ルールファイルを含むディレクトリ
|
|
465
610
|
"aiRulesDir": ".rulesync",
|
|
466
611
|
|
|
612
|
+
// カスタムコマンドを含むディレクトリ(オプション)
|
|
613
|
+
"commandsDir": ".rulesync/commands",
|
|
614
|
+
|
|
467
615
|
// 監視設定
|
|
468
616
|
"watch": {
|
|
469
617
|
"enabled": false,
|
|
@@ -485,7 +633,8 @@ const config: ConfigOptions = {
|
|
|
485
633
|
},
|
|
486
634
|
baseDir: "./packages",
|
|
487
635
|
delete: false,
|
|
488
|
-
verbose: true
|
|
636
|
+
verbose: true,
|
|
637
|
+
commandsDir: ".rulesync/commands"
|
|
489
638
|
};
|
|
490
639
|
|
|
491
640
|
export default config;
|
|
@@ -500,6 +649,7 @@ export default config;
|
|
|
500
649
|
- `delete`: 生成前に既存ファイルを削除(デフォルト: false)
|
|
501
650
|
- `verbose`: 詳細出力を有効化(デフォルト: false)
|
|
502
651
|
- `aiRulesDir`: ルールファイルを含むディレクトリ(デフォルト: ".rulesync")
|
|
652
|
+
- `commandsDir`: カスタムコマンドファイルを含むディレクトリ(デフォルト: ".rulesync/commands")
|
|
503
653
|
- `watch`: `enabled`、`interval`、`ignore`オプション付きの監視設定
|
|
504
654
|
- `enabled`: ファイル監視を有効化(デフォルト: false)
|
|
505
655
|
- `interval`: 監視間隔(ミリ秒、デフォルト: 1000)
|
|
@@ -556,7 +706,10 @@ npx rulesync config --init # 設定ファイルを作成
|
|
|
556
706
|
├── naming-conventions.md # 命名規約 (root: false)
|
|
557
707
|
├── architecture.md # アーキテクチャガイドライン (root: false)
|
|
558
708
|
├── security.md # セキュリティルール (root: false)
|
|
559
|
-
|
|
709
|
+
├── custom.md # プロジェクト固有ルール (root: false)
|
|
710
|
+
└── commands/ # カスタムスラッシュコマンド (オプション)
|
|
711
|
+
├── init-project.md # /init-projectコマンド
|
|
712
|
+
└── test-all.md # /test-allコマンド
|
|
560
713
|
```
|
|
561
714
|
|
|
562
715
|
### .rulesyncignoreでファイルを除外
|
|
@@ -656,7 +809,7 @@ globs: ["**/*.ts", "**/*.tsx"]
|
|
|
656
809
|
| **Roo Code** | `.roo/rules/*.md` | プレーンMarkdown | 両レベルとも説明ヘッダー付きの同じフォーマットを使用 |
|
|
657
810
|
| **Gemini CLI** | `GEMINI.md` (ルート)<br>`.gemini/memories/*.md` (非ルート) | プレーンMarkdown | ルートはGEMINI.mdに移動<br>非ルートは別メモリファイルに移動<br>GEMINI.mdは`@filename`参照を含む |
|
|
658
811
|
| **JetBrains Junie** | `.junie/guidelines.md` | プレーンMarkdown | すべてのルールを単一のガイドラインファイルに統合 |
|
|
659
|
-
| **Windsurf** | `.
|
|
812
|
+
| **Windsurf** | `.windsurf/rules/*.md` | プレーンMarkdown | 両レベルとも`.windsurf/rules/`ディレクトリに統合<br>自動生成メモリ統合を含む同じフォーマット使用 |
|
|
660
813
|
| **Kiro IDE** | `.kiro/steering/*.md` + `.aiignore` | プレーンMarkdown + 除外パターン | カスタムステアリングドキュメントで両レベルとも同じフォーマット使用<br>AI除外ファイルで機密パターンを除外 |
|
|
661
814
|
|
|
662
815
|
## バリデーション
|