カスタム・ルール
カスタム・ルールは、Bobがリクエストにどのように応答するかに影響を与え、出力を特定の設定やプロジェクト要件に合わせます。カスタム・ルールを設定して、Bobのコーディング・スタイル、ドキュメント・アプローチ、意思決定プロセスを制御できます。
カスタム・ルールとは?
カスタム・ルールは、Bobがニーズに合わせてタスクにアプローチする方法を決定する設定、制約、ガイドラインを定義することで、Bobのデフォルト動作を拡張します。
一般的な用途には以下が含まれます:
- コーディング・スタイルの設定(インデント、命名規則)
- ドキュメント形式と標準
- テスト方法論と要件
- プロジェクト・ワークフローとプロセス
- チーム固有の規則
モードのカスタム・ルールを追加する
カスタム・ルールをモードに追加するには2つの方法があります:
UIを使用
すべてのプロジェクトに適用されるルールを構成します:
- Bobサイドバーの右上隅にある3つのドットをクリックします。
- モードをクリックします。
- ルールを編集したいモードを選択します。
- 編集をクリックします。
- **モード固有のカスタム指示(オプション)**までスクロールします。
- ルールを入力します。
- 保存をクリックします。
モード固有のルール・ファイルを使用
モードは、.bob/rules-{mode-slug}/ディレクトリーに保存された追加のルール・ファイルを持つこともできます:
ディレクトリー内のファイルはアルファベット順に読み込まれ、モード構成のcustomInstructionsプロパティと組み合わされます。詳細については、カスタム・モードを参照してください。
プロジェクト・レベルのルールを使用してBobの動作を標準化する方法の詳細をご覧ください。
ルール・スコープ
Bobは、ルールが適用される場所を決定する2つのルール・スコープをサポートしています:
- グローバル・ルール: すべてのプロジェクトに自動的に適用
- ワークスペース・ルール: 現在のプロジェクト内でのみ適用
個人または組織全体の標準にはグローバル・ルールを使用します。プロジェクト固有の要件にはワークスペース・ルールを使用します。
構成方法
ディレクトリー・ベースの構成
ワークスペース・ルートの.bob/以下のディレクトリーを使用します:
ワークスペース構造:
rules/- すべてのモードの一般的なルールrules-agent/- Agentモード固有のルール
グローバル構造:
Linux/macOS: ~/.bob/rules/
Windows: %USERPROFILE%\.bob\rules\
ワークスペース・ルールを作成:
mkdir -p .bob/rules
echo "# プロジェクト標準" > .bob/rules/coding-style.mdグローバル・ルールを作成:
# Linux/macOS
mkdir -p ~/.bob/rules
echo "# グローバル標準" > ~/.bob/rules/coding-standards.md
# Windows
mkdir %USERPROFILE%\.bob\rules
echo # グローバル標準 > %USERPROFILE%\.bob\rules\coding-standards.mdルールの優先順位
Bobは、次の順序で複数のソースからルールを組み合わせます:
- グローバル・ルール(
~/.bob/rules/) - ワークスペース・ルール(
.bob/rules/)
各レベル内で、モード固有のルールは一般的なルールの前に読み込まれます。ワークスペース・ルールはグローバル・ルールをオーバーライドできます。
効果的なルールの書き方
具体的で実行可能に
良い例: 「JavaScriptファイルのインデントには4つのスペースを使用」
避けるべき: 「コードを美しくフォーマット」
明確な構造を使用
トピック別にルールを整理:
# コード・スタイル
- 変数にはcamelCaseを使用
- クラスにはPascalCaseを使用
# テスト
- すべてのパブリック関数のユニットテストを書く
- テスト・フレームワークとしてJestを使用
# ドキュメント
- パブリックAPIにJSDocコメントを追加効果的なルールの例
- 「常にインデントにスペースを使用し、幅は4スペース」
- 「変数名にはcamelCaseを使用」
- 「すべての新機能のユニットテストを書く」
- 「コードを提供する前に推論を説明」
- 「Webサイトに機能を追加する際は、レスポンシブでアクセス可能であることを確認」
高度な構成
モード固有のルール
専用ディレクトリーで特定のモードをターゲット:
| ディレクトリー | 目的 |
|---|---|
rules/ | すべてのモードの一般的なルール |
rules-agent/ | Agentモードのみ |
rules-plan/ | Planモードのみ |
rules-ask/ | Askモードのみ |
rules-{mode}/ | 任意のカスタム・モード |
AGENTS.mdファイルの使用
チームの標準化のために、ワークスペース・ルートにAGENTS.mdファイルを使用できます:
# チーム標準
- 企業のコーディング・ガイドラインに従う
- 承認されたライブラリーのみを使用
- すべてのAPI変更を文書化重要な詳細:
- デフォルトで自動的に読み込まれる
- プロジェクトでバージョン管理
- 設定で
"bob-code.useAgentRules": falseで無効化 - モード固有のルールの後、一般的なワークスペース・ルールの前に読み込まれる
ファイルの動作
- 再帰的読み取り: Bobはサブディレクトリーを含むルール・ディレクトリー内のすべてのファイルを読み取る
- アルファベット順: ファイルはファイル名のアルファベット順に処理
- 自動フィルタリング: キャッシュ・ファイルを除外(
.DS_Store、*.bak、*.cache、*.log、*.tmp、Thumbs.db) - シンボリック・リンク: 最大深度5でサポート
- 空のファイル: 静かにスキップ
チームの標準化
プロジェクト・レベルの標準
バージョン管理下のワークスペース.bob/rules/ディレクトリーを使用:
# バージョン管理に追加
git add .bob/rules/
git commit -m "Bobカスタム・ルールを追加"これにより、特定のプロジェクトのチーム・メンバー間で一貫した動作が保証されます。
組織全体の標準
チーム・メンバーにグローバル・ルールを配布:
- 共有ルール・リポジトリーを作成
- チーム・メンバーが
~/.bob/rules/にクローン - 一貫性のために定期的に更新
ハイブリッド・アプローチ
両方のアプローチを組み合わせることができます:
- 組織標準のグローバル・ルール
- プロジェクト固有の要件のワークスペース・ルール
- 必要に応じてワークスペース・ルールがグローバル・ルールをオーバーライド