🛠️

Copilot Cursor Clineのルールを一元管理するツール作った

に公開

最近の開発環境では、GitHub Copilot、Cline、Cursorなど様々なAIツールが活用されています。これらのツールは開発効率を大幅に向上させる一方で、各ツールごとに異なる形式でルールやナレッジを管理する必要があります。複数人で開発している環境でそれぞれのメンバーが違うツールを使っている状況でこの問題は顕著に現れると感じています。

この問題を解決するため、今回複数のAIツール向けのルール管理を一元化する「ai-rule-forge」というものを作ってみました。

https://github.com/him0/ai-rule-forge

複数のAIツールでのルール管理の課題

最近話題になっているAIツール:

  • GitHub Copilot: コード補完や生成を行うAIアシスタント
  • Cline: VSCode向けのAIアシスタント
  • Cursor: AIを活用したコードエディタ

これらのツールはそれぞれ独自のinstructionファイルを持っています:

  • GitHub Copilot: .github/copilot-instructions.md
  • Cline: .clinerules
  • Cursor: .cursorrules

複数のAIツールを使用する場合、同じルールや知識を各ツール向けに別々に記述・管理する必要があり、以下のような問題が発生します:

  1. 重複作業: 同じルールを複数の形式で記述する必要がある
  2. 一貫性の欠如: 更新時に一部のファイルだけが変更され、不整合が生じる
  3. メンテナンスコスト: ルールの追加・変更時に複数のファイルを編集する手間

AI Rule Forge

これらの課題を解決するために一つのソースから複数のAIツール向けの設定ファイルを生成する仕組みを作ってみました。今のところnpm packageにしていないのでリポジトリからの実行になります。

npx https://github.com/him0/ai-rule-forge <コマンド>

基本的な使い方

新規プロジェクトの初期化

導入したいプロジェクトのrootディレクトリでinitすることで、必要なファイルを生成します。この操作で作成されるファイルをリポジトリにコミットすることで、ルールの共有ができるようになります。

npx https://github.com/him0/ai-rule-forge init

このコマンドは以下の操作を行います:

  • ai-docs/ ディレクトリの作成
  • ai-docs/_rules/ ディレクトリの作成
  • 基本的なルールファイルの作成
  • 必要な設定ファイルの作成

ルールの編集

ai-docs/_rules/ ディレクトリ内のMarkdownファイルを編集して、AIツール向けのルールを定義します。数字プレフィックス(例:01_security.md)を使用して順序を制御できます。

ルールの適用

npx https://github.com/him0/ai-rule-forge compile

このコマンドは ai-docs/_rules/ ディレクトリからルールファイルを読み込み、以下のファイルを生成します:

  • .github/copilot-instructions.md (GitHub Copilot用)
  • .clinerules (Cline用)
  • .cursorrules (Cursor用)

プレビュー

npx https://github.com/him0/ai-rule-forge preview

このコマンドは、生成されるファイルの内容をプレビューします。

ルールの書き方

ルールは標準的なMarkdownで記述しますが、特定のAIツールにのみ適用されるルールを指定することもできます:

# セキュリティ [copilot]
このセクションはGitHub Copilotにのみ適用されます。

# コミュニケーション [cline]
このセクションはClineにのみ適用されます。

# 一般的なガイドライン
このセクションはすべてのAIツールに適用されます。

これってほんとに必要なのか...

早く共通して使えるinstructionファイルの規格ができたら良いのですが、2025-03-15時点ではこれといったものが定義されていない感じなので、つなぎの対応という感じが強いですね。早く廃止したい。

コントリビュートおまちしております

https://github.com/him0/ai-rule-forge

Discussion