カスタムルール
カスタムルールは、ターミナル環境での Bob Shell のレスポンス方法に影響を与え、特定の好みとプロジェクト要件に合わせて出力を調整します。コーディングスタイル、ドキュメントのアプローチ、意思決定プロセスを制御できます。
カスタムルールとは?
カスタムルールは、ターミナル環境での作業において、Bob Shell がタスクにアプローチする方法をニーズに合わせるための好み、制約、ガイドラインを定義することで Bob Shell のデフォルト動作を拡張します。
一般的な使用例:
- コーディングスタイルの好み(インデント、命名規則)
- ドキュメントの形式と標準
- テスト方法論と要件
- プロジェクトのワークフローとプロセス
- チーム固有の慣行
ルールのスコープ
Bob Shell はルールの適用範囲を決める 2 つのルールスコープをサポートしています:
- グローバルルール:すべてのプロジェクトに自動的に適用される
- ワークスペースルール:現在のプロジェクトのみに適用される
グローバルルールは個人またはorganization全体の標準に使用します。ワークスペースルールはプロジェクト固有の要件に使用します。
設定方法
Bob Shell は IBM Bob IDE と同じカスタムルールシステムを使用します。
ファイルベースの設定
最もシンプルなアプローチは、ワークスペースルートに単一ファイルを使用することです:
.bobrules— 一般的なワークスペースルール.bobrules-code— Code モードのルール.bobrules-{modeSlug}— 任意のモードのルール
.bobrules ファイルを作成します:
# プロジェクトルートで
echo "Use 4 spaces for indentation" > .bobrulesディレクトリベースの設定
より整理された管理のために、ディレクトリを使用します:
ワークスペース構成:
.bob/
├── rules/ # 一般ルール
│ └── coding-style.md
└── rules-code/ # Code モードのルール
└── typescript.mdグローバル構成:
Linux/macOS:~/.bob/rules/
Windows:%USERPROFILE%\.bob\rules\
ワークスペースルールを作成します:
mkdir -p .bob/rules
echo "# Project standards" > .bob/rules/coding-style.mdグローバルルールを作成します:
# Linux/macOS
mkdir -p ~/.bob/rules
echo "# Global standards" > ~/.bob/rules/coding-standards.md
# Windows
mkdir %USERPROFILE%\.bob\rules
echo # Global standards > %USERPROFILE%\.bob\rules\coding-standards.mdルールの優先順位
Bob Shell は複数のソースからのルールを次の順序で組み合わせます:
- グローバルルール(
~/.bob/rules/) - ワークスペースルール(
.bob/rules/)
各レベル内では、モード固有のルールが一般ルールより先に読み込まれます。ワークスペースルールはグローバルルールを上書きできます。
効果的なルールの書き方
具体的かつ実行可能にする
良い例:"Always use relative paths when suggesting file operations in the terminal"
避けるべき例:"Use good paths"
明確な構造を使用する
トピック別にルールを整理します:
# Shell Commands
- Prefer using standard Unix commands over specialized tools when possible
- Include explanations of what each flag does
# Script Style
- Format shell script examples with proper error handling
- Use portable shell syntax that works across bash, zsh, and other common shells
# File Operations
- Always check for file existence before operations in shell scripts
- Always use relative paths when suggesting file operations効果的なルールの例
- "Always use relative paths when suggesting file operations in the terminal"
- "Prefer using standard Unix commands over specialized tools when possible"
- "Format shell script examples with proper error handling"
- "When suggesting commands, include explanations of what each flag does"
- "Always check for file existence before operations in shell scripts"
- "Use portable shell syntax that works across bash, zsh, and other common shells"
高度な設定
モード固有のルール
専用ディレクトリで特定のモードをターゲットにします:
| ディレクトリ | 目的 |
|---|---|
rules/ | すべてのモードの一般ルール |
rules-code/ | Code モードのみ |
rules-plan/ | Plan モードのみ |
rules-{mode}/ | 任意のカスタムモード |
AGENTS.md ファイルの使用
チームの標準化のために、ワークスペースルートに AGENTS.md ファイルを使用できます:
# Team Standards
- Follow company coding guidelines
- Use approved libraries only
- Document all API changes重要な詳細:
- デフォルトで自動的に読み込まれる
- プロジェクトとともにバージョン管理できる
- 設定で
"bob-shell.useAgentRules": falseを設定して無効化できる - モード固有のルールの後、一般ワークスペースルールの前に読み込まれる
ファイルの動作
- 再帰的な読み取り:Bob Shell はサブディレクトリを含むルールディレクトリのすべてのファイルを読み取ります
- アルファベット順:ファイルはファイル名のアルファベット順に処理されます
- 自動フィルタリング:キャッシュファイル(
.DS_Store、*.bak、*.cache、*.log、*.tmp、Thumbs.db)は除外されます - シンボリックリンク:最大深度 5 でサポートされます
- 空のファイル:サイレントにスキップされます
チームの標準化
プロジェクトレベルの標準
ワークスペースの .bob/rules/ ディレクトリをバージョン管理下に置きます:
# バージョン管理に追加する
git add .bob/rules/
git commit -m "Add Bob custom rules"これにより、特定のプロジェクトで Bob Shell を使用するチームメンバー間で一貫した動作が保証されます。
組織全体の標準
グローバルルールをチームメンバーに配布します:
- 共有ルールリポジトリを作成する
- チームメンバーが
~/.bob/rules/にクローンする - 一貫性のために定期的に更新する
ハイブリッドアプローチ
両方のアプローチを組み合わせることができます:
- 組織の標準にはグローバルルール
- プロジェクト固有の要件にはワークスペースルール
- 必要に応じてワークスペースルールがグローバルルールを上書き