rulesync 0.53.0 → 0.54.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.
Files changed (27) hide show
  1. package/README.ja.md +186 -23
  2. package/README.md +101 -25
  3. package/dist/{augmentcode-ICLQ2NEZ.js → augmentcode-MJYD2Y4S.js} +2 -2
  4. package/dist/{chunk-TTHBLXOB.js → chunk-3PHMFVXP.js} +1 -1
  5. package/dist/{chunk-FFW6TGCM.js → chunk-BEPSWIZC.js} +1 -1
  6. package/dist/chunk-D7XQ4OHK.js +145 -0
  7. package/dist/{chunk-OPZOVKIL.js → chunk-ORNO5MOO.js} +1 -1
  8. package/dist/{chunk-Y2XH4E5R.js → chunk-OXKDEZJK.js} +1 -1
  9. package/dist/{chunk-FNL2KPM3.js → chunk-OY6BYYIX.js} +1 -1
  10. package/dist/{chunk-YPIFCGAP.js → chunk-PPAQWVXX.js} +1 -1
  11. package/dist/{chunk-QUJMXHNR.js → chunk-QVPD6ENS.js} +1 -1
  12. package/dist/{chunk-Y26DXTAT.js → chunk-TJKD6LEW.js} +1 -1
  13. package/dist/{chunk-HMMTSS5E.js → chunk-UHANRG2O.js} +1 -1
  14. package/dist/{chunk-IXCMY24P.js → chunk-UZCJNUXO.js} +1 -1
  15. package/dist/{chunk-USKQYIZ2.js → chunk-VI6SBYFB.js} +1 -0
  16. package/dist/{claudecode-4XWK2WAY.js → claudecode-CKGUHLRR.js} +3 -3
  17. package/dist/{cline-MNXOHP77.js → cline-Z5C656VR.js} +3 -3
  18. package/dist/codexcli-VFUJKSIJ.js +10 -0
  19. package/dist/{copilot-ARYIWVJ7.js → copilot-4WQS5TA7.js} +2 -2
  20. package/dist/{cursor-FCS74IAH.js → cursor-HOB2F2V2.js} +2 -2
  21. package/dist/{geminicli-VOPV6DXZ.js → geminicli-XTMQTIU2.js} +2 -2
  22. package/dist/index.cjs +267 -21
  23. package/dist/index.js +213 -33
  24. package/dist/{junie-A2Y2WZI4.js → junie-AN6CR7DD.js} +2 -2
  25. package/dist/{kiro-MHIK4UBV.js → kiro-PTUZOHQ2.js} +2 -2
  26. package/dist/{roo-VG4IUNTE.js → roo-WOMS36KU.js} +2 -2
  27. package/package.json +1 -1
package/README.ja.md CHANGED
@@ -15,9 +15,11 @@ rulesyncは以下のAI開発ツールの**生成**と**インポート**の両
15
15
  - **Cursor Project Rules** (`.cursor/rules/*.mdc` + `.cursorrules`)
16
16
  - **Cline Rules** (`.clinerules/*.md` + `.cline/instructions.md`)
17
17
  - **Claude Code Memory** (`./CLAUDE.md` + `.claude/memories/*.md`)
18
+ - **OpenAI Codex CLI** (`codex.md` + `.codex/mcp-config.json` + `.codexignore`)
18
19
  - **AugmentCode Rules** (`.augment/rules/*.md`)
19
20
  - **Roo Code Rules** (`.roo/rules/*.md` + `.roo/instructions.md`)
20
21
  - **Gemini CLI** (`GEMINI.md` + `.gemini/memories/*.md`)
22
+ - **JetBrains Junie Guidelines** (`.junie/guidelines.md`)
21
23
  - **Kiro IDE カスタムステアリングドキュメント** (`.kiro/steering/*.md`) + **AI除外ファイル** (`.aiignore`)
22
24
 
23
25
  ## インストール
@@ -71,6 +73,7 @@ yarn global add rulesync
71
73
  npx rulesync import --augmentcode-legacy # .augment-guidelines(レガシー形式)から
72
74
  npx rulesync import --roo # .roo/instructions.mdから
73
75
  npx rulesync import --geminicli # GEMINI.mdと.gemini/memories/*.mdから
76
+ npx rulesync import --junie # .junie/guidelines.mdから
74
77
  ```
75
78
 
76
79
  2. **`.rulesync/`ディレクトリのインポートされたルールを確認・編集**
@@ -96,10 +99,12 @@ AI開発ツールは新しいツールが頻繁に登場し、急速に進化し
96
99
  - Cursor:リファクタリング
97
100
  - Claude Code:アーキテクチャ設計
98
101
  - Cline:デバッグ支援
102
+ - OpenAI Codex CLI:GPT-4を活用した開発
99
103
  - Gemini CLI:知的コード解析
104
+ - JetBrains Junie:自律的AIコーディング
100
105
 
101
106
  ### 🔓 **ベンダーロックインなし**
102
- ベンダーロックインを完全に回避できます。rulesyncの使用を停止することを決定した場合でも、生成されたルールファイル(`.github/instructions/`、`.cursor/rules/`、`.clinerules/`、`CLAUDE.md`、`GEMINI.md`など)をそのまま使い続けることができます。
107
+ ベンダーロックインを完全に回避できます。rulesyncの使用を停止することを決定した場合でも、生成されたルールファイル(`.github/instructions/`、`.cursor/rules/`、`.clinerules/`、`CLAUDE.md`、`codex.md`、`GEMINI.md`、`.junie/guidelines.md`など)をそのまま使い続けることができます。
103
108
 
104
109
  ### 🎯 **ツール間の一貫性**
105
110
  すべてのAIツールに一貫したルールを適用し、チーム全体のコード品質と開発体験を向上させます。
@@ -133,6 +138,59 @@ rulesyncは、Kiro IDEの組み込みプロジェクト管理システムを補
133
138
 
134
139
  この責任分担により、rulesyncはKiroのコア機能を複製することなく、その機能を強化します。
135
140
 
141
+ ## OpenAI Codex CLI統合
142
+
143
+ ### 階層メモリシステム
144
+
145
+ rulesyncは**OpenAI Codex CLI**の階層メモリシステムをサポートしており、GPT-4を活用した開発ワークフローに持続的なコンテキストとプロジェクト固有のルールを提供します。
146
+
147
+ **主要機能**:
148
+ - **階層インストラクション**: グローバルユーザーインストラクション → プロジェクトレベルインストラクション → ディレクトリ固有インストラクション
149
+ - **MCP統合**: ラッパーサーバーを通じたModel Context Protocolサポートで機能拡張
150
+ - **GPT-4モデル**: GPT-4、GPT-4 Turbo、o1-mini、その他のOpenAIモデルをサポート
151
+ - **プレーンMarkdown形式**: 複雑なフロントマターなしのクリーンで読みやすいインストラクションファイル
152
+ - **コミュニティIgnoreサポート**: 機密ファイルをAIアクセスから除外するオプションの`.codexignore`ファイル
153
+
154
+ ### ファイル構造
155
+
156
+ rulesyncはOpenAI Codex CLI用に以下のファイルを生成します:
157
+
158
+ - **`codex.md`**: メインのプロジェクトレベルインストラクション(ルートルールから生成)
159
+ - **`<filename>.md`**: 追加のインストラクションファイル(非ルートルールから生成)
160
+ - **`.codex/mcp-config.json`**: ラッパーサーバー用のMCPサーバー設定
161
+ - **`.codexignore`**: コミュニティツールとプライバシー強化用のオプション除外ファイル
162
+
163
+ ### OpenAIモデルでの使用
164
+
165
+ OpenAI Codex CLIは様々なOpenAIモデルで動作します:
166
+ - **GPT-4**: 複雑な推論とアーキテクチャ決定に最適
167
+ - **GPT-4 Turbo**: パフォーマンスとコスト効率を最適化
168
+ - **o1-mini**: コーディングタスクと問題解決に特化
169
+ - **GPT-4o-mini**: 日常的な開発タスクでバランスの取れたパフォーマンス
170
+
171
+ 階層メモリシステムにより、すべてのモデルとのやり取りで一貫したコーディング標準とプロジェクトコンテキストが保証されます。
172
+
173
+ ### 使用例
174
+
175
+ OpenAI Codex CLI設定ファイルを生成:
176
+
177
+ ```bash
178
+ # OpenAI Codex CLI専用で生成
179
+ npx rulesync generate --codexcli
180
+
181
+ # ラッパーサーバー用のMCP設定付きで生成
182
+ npx rulesync generate --codexcli --verbose
183
+
184
+ # 特定のディレクトリに生成(monorepoに便利)
185
+ npx rulesync generate --codexcli --base-dir ./packages/frontend
186
+ ```
187
+
188
+ これにより以下が作成されます:
189
+ - `codex.md` プロジェクトレベルのインストラクション
190
+ - 特定のルールカテゴリ用の追加`.md`ファイル
191
+ - `.codex/mcp-config.json` MCPラッパーサーバー統合用
192
+ - `.codexignore` プライバシー制御強化用(`.rulesyncignore`が存在する場合)
193
+
136
194
  ## Claude Code統合
137
195
 
138
196
  ### カスタムスラッシュコマンドの作成
@@ -144,21 +202,19 @@ Claude Codeの組み込み`/init`コマンドを使用する代わりに、rules
144
202
  **`.claude/commands/init-rulesync.md`**
145
203
 
146
204
  ```markdown
147
- このプロジェクトの内容を確認し、必要に応じて.rulesync/*.mdファイルを更新してください。
148
-
149
- 手順:
150
- 1. プロジェクト構造とコードベースを分析
151
- 2. 既存の.rulesync/ファイルを確認
152
- 3. プロジェクトの技術スタック、アーキテクチャ、コーディング規約を考慮
153
- 4. 不足している要素や改善点が見つかった場合は.rulesync/*.mdファイルを更新
154
- 5. 必要に応じてrulesync generateを実行
155
-
156
- 考慮すべきプロジェクトの特徴:
157
- - 技術スタック
158
- - アーキテクチャパターン
159
- - コーディング規約
160
- - セキュリティ要件
161
- - パフォーマンスの考慮事項
205
+ Analyze this project's codebase and update .rulesync/overview.md files as needed.
206
+
207
+ Please ensure the following frontmatter is defined in .rulesync/overview.md:
208
+
209
+ ---
210
+ root: true | false # Required: Rule level (true for overview, false for details)
211
+ targets: ["*"] # Required: Target tools (* = all, or specific tools)
212
+ description: "" # Required: Rule description
213
+ globs: ["**/*"] # Required: File patterns
214
+ cursorRuleType: "always" # Optional: Cursor-specific rule type (always, manual, specificFiles, intelligently)
215
+ ---
216
+
217
+ In .rulesync/overview.md, root should be set to true. Please write an appropriate description in the description field.
162
218
  ```
163
219
 
164
220
  ### 統合のメリット
@@ -217,16 +273,18 @@ npx rulesync generate --copilot
217
273
  npx rulesync generate --cursor
218
274
  npx rulesync generate --cline
219
275
  npx rulesync generate --claudecode
276
+ npx rulesync generate --codexcli
220
277
  npx rulesync generate --augmentcode
221
278
  npx rulesync generate --roo
222
279
  npx rulesync generate --geminicli
280
+ npx rulesync generate --junie
223
281
  npx rulesync generate --kiro
224
282
 
225
283
  # クリーンビルド(既存ファイルを最初に削除)
226
284
  npx rulesync generate --delete
227
285
 
228
286
  # 特定ツール用のクリーンビルド
229
- npx rulesync generate --copilot --cursor --delete
287
+ npx rulesync generate --copilot --cursor --codexcli --delete
230
288
 
231
289
  # 詳細出力
232
290
  npx rulesync generate --verbose
@@ -242,8 +300,10 @@ npx rulesync generate --base-dir ./apps/web,./apps/api,./packages/shared
242
300
 
243
301
  - `--delete`: 新しいファイルを作成する前に既存の生成済みファイルをすべて削除
244
302
  - `--verbose`: 生成プロセス中に詳細出力を表示
245
- - `--copilot`, `--cursor`, `--cline`, `--claudecode`, `--augmentcode`, `--roo`, `--geminicli`, `--kiro`: 指定されたツールのみ生成
303
+ - `--copilot`, `--cursor`, `--cline`, `--claudecode`, `--codexcli`, `--augmentcode`, `--roo`, `--geminicli`, `--junie`, `--kiro`: 指定されたツールのみ生成
246
304
  - `--base-dir <paths>`: 指定されたベースディレクトリに設定ファイルを生成(複数パスの場合はカンマ区切り)。異なるプロジェクトディレクトリにツール固有の設定を生成したいmonorepoセットアップに便利。
305
+ - `--config <path>`: 特定の設定ファイルを使用
306
+ - `--no-config`: 設定ファイルの読み込みを無効化
247
307
 
248
308
  ### 4. 既存設定のインポート
249
309
 
@@ -258,6 +318,7 @@ npx rulesync import --cline # .cline/instructions.mdからインポート
258
318
  npx rulesync import --augmentcode # .augment/rules/*.mdからインポート
259
319
  npx rulesync import --roo # .roo/instructions.mdからインポート
260
320
  npx rulesync import --geminicli # GEMINI.mdと.gemini/memories/*.mdからインポート
321
+ npx rulesync import --junie # .junie/guidelines.mdからインポート
261
322
 
262
323
  # 各ツールを個別にインポート
263
324
  npx rulesync import --claudecode
@@ -305,6 +366,100 @@ Cursorからのインポートでは、以下の4つのルールタイプが自
305
366
  - `.cursor/rules/*.mdc` (モダンな推奨形式)
306
367
  - `.cursorrules` (レガシーな形式)
307
368
 
369
+ ### 設定ファイル
370
+
371
+ rulesyncは、繰り返しコマンドライン引数を避けるために設定ファイルをサポートしています。設定は(優先順位順に)以下から読み込まれます:
372
+
373
+ 1. `--config`フラグで指定されたパス
374
+ 2. `rulesync.jsonc` (コメント付きJSONC形式)
375
+ 3. `rulesync.ts` (TypeScript形式)
376
+ 4. `rulesync.config.ts`
377
+ 5. `rulesync.config.jsonc`
378
+ 6. `package.json` (`"rulesync"`フィールド内)
379
+
380
+ #### 設定ファイルの例
381
+
382
+ **JSONC形式 (`rulesync.jsonc`):**
383
+ ```jsonc
384
+ {
385
+ // 設定を生成するツールのリスト
386
+ "targets": ["copilot", "cursor", "claudecode", "codexcli"],
387
+
388
+ // 生成から除外するツール(targetsをオーバーライド)
389
+ "exclude": ["roo"],
390
+
391
+ // 特定ツール用のカスタム出力パス
392
+ "outputPaths": {
393
+ "copilot": ".github/copilot-instructions.md"
394
+ },
395
+
396
+ // 生成用のベースディレクトリまたはディレクトリ群
397
+ "baseDir": "./packages",
398
+
399
+ // 生成前に既存ファイルを削除
400
+ "delete": false,
401
+
402
+ // 詳細出力を有効化
403
+ "verbose": true,
404
+
405
+ // ルールファイルを含むディレクトリ
406
+ "aiRulesDir": ".rulesync",
407
+
408
+ // 監視設定
409
+ "watch": {
410
+ "enabled": false,
411
+ "interval": 1000,
412
+ "ignore": ["node_modules/**", ".git/**", "dist/**", "build/**"]
413
+ }
414
+ }
415
+ ```
416
+
417
+ **TypeScript形式 (`rulesync.ts`):**
418
+ ```typescript
419
+ import type { ConfigOptions } from "rulesync";
420
+
421
+ const config: ConfigOptions = {
422
+ targets: ["copilot", "cursor", "claudecode", "codexcli"],
423
+ exclude: ["roo"],
424
+ outputPaths: {
425
+ copilot: ".github/copilot-instructions.md"
426
+ },
427
+ baseDir: "./packages",
428
+ delete: false,
429
+ verbose: true
430
+ };
431
+
432
+ export default config;
433
+ ```
434
+
435
+ #### 設定オプション
436
+
437
+ - `targets`: 設定を生成するツールの配列(デフォルトターゲットをオーバーライド)
438
+ - `exclude`: 生成から除外するツールの配列
439
+ - `outputPaths`: 特定ツール用のカスタム出力パス
440
+ - `baseDir`: 生成用のベースディレクトリまたはディレクトリ配列
441
+ - `delete`: 生成前に既存ファイルを削除(デフォルト: false)
442
+ - `verbose`: 詳細出力を有効化(デフォルト: false)
443
+ - `aiRulesDir`: ルールファイルを含むディレクトリ(デフォルト: ".rulesync")
444
+ - `watch`: `enabled`、`interval`、`ignore`オプション付きの監視設定
445
+ - `enabled`: ファイル監視を有効化(デフォルト: false)
446
+ - `interval`: 監視間隔(ミリ秒、デフォルト: 1000)
447
+ - `ignore`: 監視中に無視するパターンの配列
448
+
449
+ #### 設定の管理
450
+
451
+ ```bash
452
+ # 現在の設定を表示
453
+ npx rulesync config
454
+
455
+ # 設定ファイルを初期化
456
+ npx rulesync config --init
457
+
458
+ # 特定の形式で初期化
459
+ npx rulesync config --init --format jsonc # デフォルト、コメントをサポート
460
+ npx rulesync config --init --format ts # 型安全性を持つTypeScript
461
+ ```
462
+
308
463
  ### 5. その他のコマンド
309
464
 
310
465
  ```bash
@@ -327,6 +482,10 @@ npx rulesync watch
327
482
 
328
483
  # 生成されたファイルを.gitignoreに追加
329
484
  npx rulesync gitignore
485
+
486
+ # 設定を表示または管理
487
+ npx rulesync config
488
+ npx rulesync config --init # 設定ファイルを作成
330
489
  ```
331
490
 
332
491
  ## 設定ファイル構造
@@ -378,7 +537,7 @@ draft-*.md
378
537
  root: true | false # 必須: ルールレベル (概要の場合true、詳細の場合false)
379
538
  targets: ["*"] # 必須: ターゲットツール (* = すべて、または特定のツール)
380
539
  description: "簡潔な説明" # 必須: ルールの説明
381
- globs: "**/*.ts,**/*.js" # 必須: ファイルパターン (カンマ区切りまたは空文字列)
540
+ globs: ["**/*"] # 必須: ファイルパターン (配列形式)
382
541
  cursorRuleType: "always" # オプション: Cursor固有のルールタイプ (always, manual, specificFiles, intelligently)
383
542
  ---
384
543
  ```
@@ -400,7 +559,7 @@ Cursorツール用の追加メタデータフィールド:
400
559
  root: true
401
560
  targets: ["*"]
402
561
  description: "プロジェクト概要と開発思想"
403
- globs: "src/**/*.ts"
562
+ globs: ["src/**/*.ts"]
404
563
  ---
405
564
 
406
565
  # プロジェクト開発ガイドライン
@@ -414,7 +573,7 @@ globs: "src/**/*.ts"
414
573
  root: false
415
574
  targets: ["copilot", "cursor", "roo"]
416
575
  description: "TypeScriptコーディング標準"
417
- globs: "**/*.ts,**/*.tsx"
576
+ globs: ["**/*.ts", "**/*.tsx"]
418
577
  ---
419
578
 
420
579
  # TypeScriptコーディングルール
@@ -432,9 +591,11 @@ globs: "**/*.ts,**/*.tsx"
432
591
  | **Cursor** | `.cursor/rules/*.mdc` | MDC (YAMLヘッダー + Markdown) | ルート: `cursorRuleType: always`<br>非ルート: `cursorRuleType: specificFiles` (globs指定時)<br>非ルート: `cursorRuleType: intelligently` (description指定時)<br>非ルート: `cursorRuleType: manual` (デフォルト) |
433
592
  | **Cline** | `.clinerules/*.md` | プレーンMarkdown | 両レベルとも同じフォーマットを使用 |
434
593
  | **Claude Code** | `./CLAUDE.md` (ルート)<br>`.claude/memories/*.md` (非ルート) | プレーンMarkdown | ルートはCLAUDE.mdに移動<br>非ルートは別メモリファイルに移動<br>CLAUDE.mdは`@filename`参照を含む |
594
+ | **OpenAI Codex CLI** | `codex.md` (ルート)<br>`<filename>.md` (非ルート) | プレーンMarkdown | ルートはcodex.mdに移動<br>非ルートは別インストラクションファイルに移動<br>階層メモリシステム |
435
595
  | **AugmentCode** | `.augment/rules/*.md` | YAMLフロントマター + Markdown | ルート: `type: always`<br>非ルート: `type: auto` (description指定時) または `type: manual` (デフォルト) |
436
596
  | **Roo Code** | `.roo/rules/*.md` | プレーンMarkdown | 両レベルとも説明ヘッダー付きの同じフォーマットを使用 |
437
- | **Gemini CLI** | `GEMINI.md` (ルート)<br>`.gemini/memories/*.md` (非ルート) | プレーンMarkdown | ルートはGEMINI.mdに移動<br>非ルートは別メモリファイルに移動<br>GEMINI.mdは`@filename`参照を含む |
597
+ | **Gemini CLI** | `GEMINI.md` (ルート)<br>`.gemini/memories/*.md` (非ルート) | プレーンMarkdown | ルートはGEMINI.mdに移動<br>非ルートは別メモリファイルに移動<br>GEMINI.mdは`@filename`参照を含む |
598
+ | **JetBrains Junie** | `.junie/guidelines.md` | プレーンMarkdown | すべてのルールを単一のガイドラインファイルに統合 |
438
599
  | **Kiro IDE** | `.kiro/steering/*.md` + `.aiignore` | プレーンMarkdown + 除外パターン | カスタムステアリングドキュメントで両レベルとも同じフォーマット使用<br>AI除外ファイルで機密パターンを除外 |
439
600
 
440
601
  ## バリデーション
@@ -461,7 +622,9 @@ rulesyncは、対応するAIツール用のMCPサーバー設定も管理でき
461
622
  - **GitHub Copilot** (`.vscode/mcp.json`)
462
623
  - **Cursor** (`.cursor/mcp.json`)
463
624
  - **Cline** (`.cline/mcp.json`)
625
+ - **OpenAI Codex CLI** (`.codex/mcp-config.json`)
464
626
  - **Gemini CLI** (`.gemini/settings.json`)
627
+ - **JetBrains Junie** (`.junie/mcp.json`)
465
628
  - **Kiro IDE** (`.kiro/mcp.json`)
466
629
  - **Roo Code** (`.roo/mcp.json`)
467
630
 
@@ -533,7 +696,7 @@ MCP設定はルールファイルと一緒に生成されます:
533
696
  npx rulesync generate
534
697
 
535
698
  # 特定のツールのみ生成
536
- npx rulesync generate --claudecode --cursor --kiro
699
+ npx rulesync generate --claudecode --cursor --codexcli --junie --kiro
537
700
 
538
701
  # 特定のディレクトリに生成(monorepo)
539
702
  npx rulesync generate --base-dir ./packages/frontend
package/README.md CHANGED
@@ -15,9 +15,11 @@ rulesync supports both **generation** and **import** for the following AI develo
15
15
  - **Cursor Project Rules** (`.cursor/rules/*.mdc` + `.cursorrules`)
16
16
  - **Cline Rules** (`.clinerules/*.md` + `.cline/instructions.md`)
17
17
  - **Claude Code Memory** (`./CLAUDE.md` + `.claude/memories/*.md`)
18
+ - **OpenAI Codex CLI** (`codex.md` + `.codex/mcp-config.json` + `.codexignore`)
18
19
  - **AugmentCode Rules** (`.augment/rules/*.md`)
19
20
  - **Roo Code Rules** (`.roo/rules/*.md` + `.roo/instructions.md`)
20
21
  - **Gemini CLI** (`GEMINI.md` + `.gemini/memories/*.md`)
22
+ - **JetBrains Junie Guidelines** (`.junie/guidelines.md`)
21
23
  - **Kiro IDE Custom Steering Documents** (`.kiro/steering/*.md`) + **AI Ignore Files** (`.aiignore`)
22
24
 
23
25
  ## Installation
@@ -71,6 +73,7 @@ If you already have AI tool configurations, you can import them into rulesync fo
71
73
  npx rulesync import --augmentcode-legacy # From .augment-guidelines (legacy format)
72
74
  npx rulesync import --roo # From .roo/instructions.md
73
75
  npx rulesync import --geminicli # From GEMINI.md and .gemini/memories/*.md
76
+ npx rulesync import --junie # From .junie/guidelines.md
74
77
  ```
75
78
 
76
79
  2. **Review and edit** the imported rules in `.rulesync/` directory
@@ -96,10 +99,12 @@ Enable hybrid development workflows combining multiple AI tools:
96
99
  - Cursor for refactoring
97
100
  - Claude Code for architecture design
98
101
  - Cline for debugging assistance
102
+ - OpenAI Codex CLI for GPT-4 powered development
99
103
  - Gemini CLI for intelligent code analysis
104
+ - JetBrains Junie for autonomous AI coding
100
105
 
101
106
  ### 🔓 **No Vendor Lock-in**
102
- Avoid vendor lock-in completely. If you decide to stop using rulesync, you can continue using the generated rule files (`.github/instructions/`, `.cursor/rules/`, `.clinerules/`, `CLAUDE.md`, `GEMINI.md`, etc.) as-is.
107
+ Avoid vendor lock-in completely. If you decide to stop using rulesync, you can continue using the generated rule files (`.github/instructions/`, `.cursor/rules/`, `.clinerules/`, `CLAUDE.md`, `codex.md`, `GEMINI.md`, `.junie/guidelines.md`, etc.) as-is.
103
108
 
104
109
  ### 🎯 **Consistency Across Tools**
105
110
  Apply consistent rules across all AI tools, improving code quality and development experience for the entire team.
@@ -133,6 +138,59 @@ rulesync supports **Custom Steering Documents** and **AI Ignore Files** for Kiro
133
138
 
134
139
  This division of responsibility ensures that rulesync enhances Kiro's capabilities without duplicating its core functionality.
135
140
 
141
+ ## OpenAI Codex CLI Integration
142
+
143
+ ### Hierarchical Memory System
144
+
145
+ rulesync supports **OpenAI Codex CLI**'s hierarchical memory system, which provides persistent context and project-specific rules to GPT-4 powered development workflows.
146
+
147
+ **Key Features**:
148
+ - **Hierarchical Instructions**: Global user instructions → Project-level instructions → Directory-specific instructions
149
+ - **MCP Integration**: Model Context Protocol support through wrapper servers for extended functionality
150
+ - **GPT-4 Models**: Support for GPT-4, GPT-4 Turbo, o1-mini, and other OpenAI models
151
+ - **Plain Markdown Format**: Clean, readable instruction files without complex frontmatter
152
+ - **Community Ignore Support**: Optional `.codexignore` file for excluding sensitive files from AI access
153
+
154
+ ### File Structure
155
+
156
+ rulesync generates the following files for OpenAI Codex CLI:
157
+
158
+ - **`codex.md`**: Main project-level instructions (generated from root rules)
159
+ - **`<filename>.md`**: Additional instruction files (generated from non-root rules)
160
+ - **`.codex/mcp-config.json`**: MCP server configuration for wrapper servers
161
+ - **`.codexignore`**: Optional ignore file for community tools and enhanced privacy
162
+
163
+ ### Usage with OpenAI Models
164
+
165
+ OpenAI Codex CLI works with various OpenAI models:
166
+ - **GPT-4**: Best for complex reasoning and architecture decisions
167
+ - **GPT-4 Turbo**: Optimized for performance and cost efficiency
168
+ - **o1-mini**: Specialized for coding tasks and problem-solving
169
+ - **GPT-4o-mini**: Balanced performance for everyday development tasks
170
+
171
+ The hierarchical memory system ensures consistent coding standards and project context across all model interactions.
172
+
173
+ ### Example Usage
174
+
175
+ Generate OpenAI Codex CLI configuration files:
176
+
177
+ ```bash
178
+ # Generate only for OpenAI Codex CLI
179
+ npx rulesync generate --codexcli
180
+
181
+ # Generate with MCP configuration for wrapper servers
182
+ npx rulesync generate --codexcli --verbose
183
+
184
+ # Generate in specific directory (useful for monorepos)
185
+ npx rulesync generate --codexcli --base-dir ./packages/frontend
186
+ ```
187
+
188
+ This will create:
189
+ - `codex.md` with your project-level instructions
190
+ - Additional `.md` files for specific rule categories
191
+ - `.codex/mcp-config.json` for MCP wrapper server integration
192
+ - `.codexignore` for enhanced privacy control (if `.rulesyncignore` exists)
193
+
136
194
  ## Claude Code Integration
137
195
 
138
196
  ### Creating Custom Slash Commands
@@ -144,21 +202,19 @@ Refer to the [Claude Code slash commands documentation](https://docs.anthropic.c
144
202
  **`.claude/commands/init-rulesync.md`**
145
203
 
146
204
  ```markdown
147
- Review this project's content and update .rulesync/*.md files as needed.
148
-
149
- Steps:
150
- 1. Analyze project structure and codebase
151
- 2. Review existing .rulesync/ files
152
- 3. Consider project's tech stack, architecture, and coding conventions
153
- 4. Update .rulesync/*.md files if missing elements or improvements are found
154
- 5. Run rulesync generate if necessary
155
-
156
- Project characteristics to consider:
157
- - Technology stack
158
- - Architecture patterns
159
- - Coding conventions
160
- - Security requirements
161
- - Performance considerations
205
+ Analyze this project's codebase and update .rulesync/overview.md files as needed.
206
+
207
+ Please ensure the following frontmatter is defined in .rulesync/overview.md:
208
+
209
+ ---
210
+ root: true | false # Required: Rule level (true for overview, false for details)
211
+ targets: ["*"] # Required: Target tools (* = all, or specific tools)
212
+ description: "" # Required: Rule description
213
+ globs: ["**/*"] # Required: File patterns
214
+ cursorRuleType: "always" # Optional: Cursor-specific rule type (always, manual, specificFiles, intelligently)
215
+ ---
216
+
217
+ In .rulesync/overview.md, root should be set to true. Please write an appropriate description in the description field.
162
218
  ```
163
219
 
164
220
  ### Integration Benefits
@@ -217,16 +273,18 @@ npx rulesync generate --copilot
217
273
  npx rulesync generate --cursor
218
274
  npx rulesync generate --cline
219
275
  npx rulesync generate --claudecode
276
+ npx rulesync generate --codexcli
220
277
  npx rulesync generate --augmentcode
221
278
  npx rulesync generate --roo
222
279
  npx rulesync generate --geminicli
280
+ npx rulesync generate --junie
223
281
  npx rulesync generate --kiro
224
282
 
225
283
  # Clean build (delete existing files first)
226
284
  npx rulesync generate --delete
227
285
 
228
286
  # Clean build for specific tools
229
- npx rulesync generate --copilot --cursor --delete
287
+ npx rulesync generate --copilot --cursor --codexcli --delete
230
288
 
231
289
  # Verbose output
232
290
  npx rulesync generate --verbose
@@ -242,7 +300,7 @@ npx rulesync generate --base-dir ./apps/web,./apps/api,./packages/shared
242
300
 
243
301
  - `--delete`: Remove all existing generated files before creating new ones
244
302
  - `--verbose`: Show detailed output during generation process
245
- - `--copilot`, `--cursor`, `--cline`, `--claudecode`, `--augmentcode`, `--roo`, `--geminicli`, `--kiro`: Generate only for specified tools
303
+ - `--copilot`, `--cursor`, `--cline`, `--claudecode`, `--codexcli`, `--augmentcode`, `--roo`, `--geminicli`, `--junie`, `--kiro`: Generate only for specified tools
246
304
  - `--base-dir <paths>`: Generate configuration files in specified base directories (comma-separated for multiple paths). Useful for monorepo setups where you want to generate tool-specific configurations in different project directories.
247
305
  - `--config <path>`: Use a specific configuration file
248
306
  - `--no-config`: Disable configuration file loading
@@ -264,7 +322,7 @@ rulesync supports configuration files to avoid repetitive command-line arguments
264
322
  ```jsonc
265
323
  {
266
324
  // List of tools to generate configurations for
267
- "targets": ["copilot", "cursor", "claudecode"],
325
+ "targets": ["copilot", "cursor", "claudecode", "codexcli"],
268
326
 
269
327
  // Tools to exclude from generation (overrides targets)
270
328
  "exclude": ["roo"],
@@ -281,7 +339,17 @@ rulesync supports configuration files to avoid repetitive command-line arguments
281
339
  "delete": false,
282
340
 
283
341
  // Enable verbose output
284
- "verbose": true
342
+ "verbose": true,
343
+
344
+ // Directory containing rule files
345
+ "aiRulesDir": ".rulesync",
346
+
347
+ // Watch configuration
348
+ "watch": {
349
+ "enabled": false,
350
+ "interval": 1000,
351
+ "ignore": ["node_modules/**", ".git/**", "dist/**", "build/**"]
352
+ }
285
353
  }
286
354
  ```
287
355
 
@@ -290,7 +358,7 @@ rulesync supports configuration files to avoid repetitive command-line arguments
290
358
  import type { ConfigOptions } from "rulesync";
291
359
 
292
360
  const config: ConfigOptions = {
293
- targets: ["copilot", "cursor", "claudecode"],
361
+ targets: ["copilot", "cursor", "claudecode", "codexcli"],
294
362
  exclude: ["roo"],
295
363
  outputPaths: {
296
364
  copilot: ".github/copilot-instructions.md"
@@ -313,6 +381,9 @@ export default config;
313
381
  - `verbose`: Enable verbose output (default: false)
314
382
  - `aiRulesDir`: Directory containing rule files (default: ".rulesync")
315
383
  - `watch`: Watch configuration with `enabled`, `interval`, and `ignore` options
384
+ - `enabled`: Enable file watching (default: false)
385
+ - `interval`: Watch interval in milliseconds (default: 1000)
386
+ - `ignore`: Array of patterns to ignore during watching
316
387
 
317
388
  #### Managing Configuration
318
389
 
@@ -341,6 +412,7 @@ npx rulesync import --cline # Import from .cline/instructions.md
341
412
  npx rulesync import --augmentcode # Import from .augment/rules/*.md
342
413
  npx rulesync import --roo # Import from .roo/instructions.md
343
414
  npx rulesync import --geminicli # Import from GEMINI.md and .gemini/memories/*.md
415
+ npx rulesync import --junie # Import from .junie/guidelines.md
344
416
 
345
417
  # Import each tool individually
346
418
  npx rulesync import --claudecode
@@ -467,7 +539,7 @@ Each rule file must include frontmatter with the following fields:
467
539
  root: true | false # Required: Rule level (true for overview, false for details)
468
540
  targets: ["*"] # Required: Target tools (* = all, or specific tools)
469
541
  description: "Brief description" # Required: Rule description
470
- globs: "**/*.ts,**/*.js" # Required: File patterns (comma-separated or empty string)
542
+ globs: ["**/*"] # Required: File patterns (array format)
471
543
  cursorRuleType: "always" # Optional: Cursor-specific rule type (always, manual, specificFiles, intelligently)
472
544
  ---
473
545
  ```
@@ -489,7 +561,7 @@ Additional metadata field for Cursor tool:
489
561
  root: true
490
562
  targets: ["*"]
491
563
  description: "Project overview and development philosophy"
492
- globs: "src/**/*.ts"
564
+ globs: ["src/**/*.ts"]
493
565
  ---
494
566
 
495
567
  # Project Development Guidelines
@@ -503,7 +575,7 @@ This project follows TypeScript-first development with clean architecture princi
503
575
  root: false
504
576
  targets: ["copilot", "cursor", "roo"]
505
577
  description: "TypeScript coding standards"
506
- globs: "**/*.ts,**/*.tsx"
578
+ globs: ["**/*.ts", "**/*.tsx"]
507
579
  ---
508
580
 
509
581
  # TypeScript Coding Rules
@@ -521,9 +593,11 @@ globs: "**/*.ts,**/*.tsx"
521
593
  | **Cursor** | `.cursor/rules/*.mdc` | MDC (YAML header + Markdown) | Root: `cursorRuleType: always`<br>Non-root: `cursorRuleType: specificFiles` (with globs)<br>Non-root: `cursorRuleType: intelligently` (with description)<br>Non-root: `cursorRuleType: manual` (default) |
522
594
  | **Cline** | `.clinerules/*.md` | Plain Markdown | Both levels use same format |
523
595
  | **Claude Code** | `./CLAUDE.md` (root)<br>`.claude/memories/*.md` (non-root) | Plain Markdown | Root goes to CLAUDE.md<br>Non-root go to separate memory files<br>CLAUDE.md includes `@filename` references |
596
+ | **OpenAI Codex CLI** | `codex.md` (root)<br>`<filename>.md` (non-root) | Plain Markdown | Root goes to codex.md<br>Non-root go to separate instruction files<br>Hierarchical memory system |
524
597
  | **AugmentCode** | `.augment/rules/*.md` | Markdown with YAML frontmatter | Root: `type: always`<br>Non-root: `type: auto` (with description) or `type: manual` (default) |
525
598
  | **Roo Code** | `.roo/rules/*.md` | Plain Markdown | Both levels use same format with description header |
526
599
  | **Gemini CLI** | `GEMINI.md` (root)<br>`.gemini/memories/*.md` (non-root) | Plain Markdown | Root goes to GEMINI.md<br>Non-root go to separate memory files<br>GEMINI.md includes `@filename` references |
600
+ | **JetBrains Junie** | `.junie/guidelines.md` | Plain Markdown | All rules combined into single guidelines file |
527
601
  | **Kiro IDE** | `.kiro/steering/*.md` + `.aiignore` | Plain Markdown + Ignore patterns | Both levels use same format for custom steering docs<br>AI ignore file excludes sensitive patterns |
528
602
 
529
603
  ## Validation
@@ -550,7 +624,9 @@ rulesync can also manage MCP server configurations for supported AI tools. This
550
624
  - **GitHub Copilot** (`.vscode/mcp.json`)
551
625
  - **Cursor** (`.cursor/mcp.json`)
552
626
  - **Cline** (`.cline/mcp.json`)
627
+ - **OpenAI Codex CLI** (`.codex/mcp-config.json`)
553
628
  - **Gemini CLI** (`.gemini/settings.json`)
629
+ - **JetBrains Junie** (`.junie/mcp.json`)
554
630
  - **Kiro IDE** (`.kiro/mcp.json`)
555
631
  - **Roo Code** (`.roo/mcp.json`)
556
632
 
@@ -622,7 +698,7 @@ MCP configurations are generated alongside rule files:
622
698
  npx rulesync generate
623
699
 
624
700
  # Generate only for specific tools
625
- npx rulesync generate --claudecode --cursor --kiro
701
+ npx rulesync generate --claudecode --cursor --codexcli --junie --kiro
626
702
 
627
703
  # Generate in specific directories (monorepo)
628
704
  npx rulesync generate --base-dir ./packages/frontend
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  generateAugmentcodeMcp,
3
3
  generateAugmentcodeMcpConfiguration
4
- } from "./chunk-OPZOVKIL.js";
5
- import "./chunk-USKQYIZ2.js";
4
+ } from "./chunk-ORNO5MOO.js";
5
+ import "./chunk-VI6SBYFB.js";
6
6
  export {
7
7
  generateAugmentcodeMcp,
8
8
  generateAugmentcodeMcpConfiguration
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  shouldIncludeServer
3
- } from "./chunk-USKQYIZ2.js";
3
+ } from "./chunk-VI6SBYFB.js";
4
4
 
5
5
  // src/generators/mcp/cursor.ts
6
6
  function generateCursorMcp(config) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  shouldIncludeServer
3
- } from "./chunk-USKQYIZ2.js";
3
+ } from "./chunk-VI6SBYFB.js";
4
4
 
5
5
  // src/generators/mcp/roo.ts
6
6
  function generateRooMcp(config) {