設定

特定のファイルを無視する方法

プロジェクトに`.bobignore`ファイルを作成して、Bobがアクセスできるファイルを制御します。

.bobignoreとは?

  • 目的: 機密情報を保護し、ビルド・アーティファクトや大きなアセットへの偶発的な変更を防ぎ、一般的にワークスペース内でのBobの動作範囲を定義します。
  • 使用方法: ワークスペースのディレクトリーに.bobignoreという名前のファイルを作成します。このファイルにパターンをリストして、Bobにどのファイルとディレクトリーを無視すべきかを伝えます。

Bobは.bobignoreファイルを積極的に監視します。行った変更は自動的に再読み込みされるため、Bobは常に最新のルールを使用します。.bobignoreファイル自体は常に暗黙的に無視されるため、Bobは独自のアクセス・ルールを変更できません。

パターン構文

.bobignoreの構文は.gitignoreと同じです。一般的な例を以下に示します:

説明
node_modules/node_modulesディレクトリー全体を無視
*.log.logで終わるすべてのファイルを無視
config/secrets.json特定のファイルを無視
!important.log例外;*.logのような広いパターンが存在しても、Bobはこの特定のファイルを無視しません
build/buildディレクトリーを無視
docs/**/*.mddocsディレクトリーとそのサブディレクトリー内のすべてのMarkdownファイルを無視

構文の詳細については、.gitignoreに関する公式Gitドキュメントを参照してください。

Bobツールが.bobignoreとどのように相互作用するか

.bobignoreルールは、さまざまなBobツール全体で適用されます:

厳格な適用(読み取りと書き込み)

これらのツールは、各ファイル操作の前に.bobignoreを直接チェックします。ファイルが無視されている場合、操作はブロックされます:

  • read_file: 無視されたファイルを読み取りません。
  • write_file: 無視されたファイルに書き込んだり、新しい無視されたファイルを作成したりしません。
  • apply_diff: 無視されたファイルに差分を適用しません。
  • GetSymbolsOverview: 無視されたファイルをコード・シンボルのために解析しません。

ファイル編集ツール(潜在的な書き込みバイパス)

insert_contentおよびsearch_and_replaceツールは、変更を管理するための内部コンポーネントを使用します。 重要: 現在、これらのツールによって実行される最終的な書き込み操作は、.bobignoreルールをバイパスする可能性があります。初期の読み取り試行はブロックされる可能性がありますが、保存アクション自体には明示的なチェックがありません。

ファイル検出とリスト

  • list_filesツール: Bobがファイルをリストする場合、無視されたファイルは通常省略されるか、🔒シンボルでマークされます(以下の「ユーザー・エクスペリエンス」を参照)。
  • 環境の詳細: Bobに提供されるワークスペースに関する情報(開いているタブやプロジェクト構造など)は、無視された項目を除外またはマークするためにフィルタリングされます。

コマンド実行

  • execute_commandツール: このツールは、コマンド(catgrepなどの事前定義されたリストから)が無視されたファイルをターゲットにしているかどうかをチェックします。その場合、コマンドの実行はブロックされます。

重要な制限と範囲

  • ワークスペース中心: .bobignoreルールは、現在のBobワークスペース・ルート内のファイルとディレクトリーにのみ適用されます。この範囲外のファイルは影響を受けません。
  • execute_commandの特異性: execute_commandの保護は、事前定義されたファイル読み取りコマンドのリストに限定されています。カスタム・スクリプトや珍しいユーティリティーはキャッチされない可能性があります。
  • insert_contentsearch_and_replaceによる書き込み操作: 前述のように、これらのツールは、保存メカニズムの現在の制限により、無視されたファイルに書き込むことができる可能性があります。
  • 完全なサンドボックスではない: .bobignoreは、ツールを介したBobのファイル・アクセスを制御するための強力なツールですが、システム・レベルのサンドボックスを作成するものではありません。

ユーザー・エクスペリエンスと通知

  • 視覚的な手がかり(🔒): ファイル・リストでは、.bobignoreによって無視されたファイルは、showbobignoredFiles設定(デフォルトはtrue)に応じて、ロック・シンボル(🔒)でマークされる場合があります。
  • エラー・メッセージ: ツール操作がブロックされると、Bobはエラーを受け取ります:「[file_path]へのアクセスは.bobignoreファイル設定によってブロックされています。このファイルを使用せずにタスクを続行するか、ユーザーに.bobignoreファイルの更新を依頼する必要があります。」
  • チャット通知: .bobignoreによってアクションがブロックされた場合、通常、Bobチャット・インターフェースに通知が表示されます。

このガイドは、.bobignore機能、その機能、および現在の制限を理解するのに役立ち、Bobとコードベースとの相互作用を効果的に管理できるようにします。

このトピックはいかがですか?