設定

カスタムルール

カスタムルールは、ターミナル環境での 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 は複数のソースからのルールを次の順序で組み合わせます:

  1. グローバルルール~/.bob/rules/
  2. ワークスペースルール.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*.tmpThumbs.db)は除外されます
  • シンボリックリンク:最大深度 5 でサポートされます
  • 空のファイル:サイレントにスキップされます

チームの標準化

プロジェクトレベルの標準

ワークスペースの .bob/rules/ ディレクトリをバージョン管理下に置きます:

# バージョン管理に追加する
git add .bob/rules/
git commit -m "Add Bob custom rules"

これにより、特定のプロジェクトで Bob Shell を使用するチームメンバー間で一貫した動作が保証されます。

組織全体の標準

グローバルルールをチームメンバーに配布します:

  1. 共有ルールリポジトリを作成する
  2. チームメンバーが ~/.bob/rules/ にクローンする
  3. 一貫性のために定期的に更新する

ハイブリッドアプローチ

両方のアプローチを組み合わせることができます:

  • 組織の標準にはグローバルルール
  • プロジェクト固有の要件にはワークスペースルール
  • 必要に応じてワークスペースルールがグローバルルールを上書き
このトピックはいかがですか?