概要
本文書は、特に大規模コードベースやモノレポにおいて、Qoder CLI をより効率的に活用するための実践的なノウハウをまとめたものです。核心的な考え方は一つだけです。Qoder に必要な情報、制約、コンテキストを事前に準備し、無駄な手間を省くことです。
効果的なプロンプトの作成
明確なプロンプトは、何度も修正を繰り返すよりも時間の節約になります。
- 目標と制約を明確にする:何をするかだけでなく、何を変更しないか、どのようなルールに従う必要があるかも明示します。
- 重要なコンテキストを提供する:特定のファイル、インターフェース、規約が関係する場合は、直接名前を指定し、Qoder の検索コストを削減します。
- 一度に一つのことに集中する:複雑な要件を順序立てた小さなステップに分割すると、すべての要件を一度に積み上げるよりも制御しやすくなります。
- 受け入れ基準を提示する:「何ができれば完了か」(例:特定のテストがパスする、特定のコマンドでエラーが出ない)を明確にすると、Qoder はそれに基づいて自己検証を行います。
コンテキストの管理
コンテキストウィンドウには限りがあるため、長いセッションでは積極的に管理する必要があります。
- 関連性のない新しいタスクに切り替える際は、
/clearを使用して履歴コンテキストをクリアします。 - 長いセッションの途中でコンテキストが逼迫してきた場合は、
/compactを使用して履歴を圧縮し、重要な情報を保持します。 - 安定したプロジェクト規約は
AGENTS.mdに記述し、会話の中で毎回繰り返し説明するのを避けます。詳細はメモリを参照してください。
プロジェクト指示による規約の定着
チームや大規模プロジェクトにおいて、AGENTS.md とルールは一貫性を向上させるための鍵となります。
- プロジェクトルートディレクトリで
/initを使用してAGENTS.mdを生成し、アーキテクチャの説明、ディレクトリ構造、よく使うコマンド、コラボレーション規約を記述します。 <project>/.qoder/rules/配下のルールファイルを使用して、トピック(テスト、API、セキュリティ)ごとに指示を分割し、単一のAGENTS.mdが肥大化するのを防ぎます。- 特定の種類のコマンドやパスを厳格に制限する必要がある場合は、指示だけに頼らず、権限やフックを使用します。詳細は権限とフックを参照してください。
大規模コードベース
大規模リポジトリで作業する場合:
- サブディレクトリから起動する:リポジトリのルートではなく、作業対象のサブディレクトリから Qoder を起動し、その階層のプロジェクト指示とルールを優先的に読み込ませます。プロジェクトメモリは現在のディレクトリから上位に向かって検索されます。詳細はメモリを参照してください。
- 探索範囲を狭める:関連するモジュールやファイルを直接指定し、Qoder がリポジトリ全体で広範囲に検索するのを避けます。
- 階層化されたプロジェクト指示:重要なサブディレクトリにそれぞれの
AGENTS.mdとルールを配置し、異なるモジュールが独自のコンテキストを持つようにします。
モノレポ
モノレポには通常、比較的独立した複数のパッケージやアプリケーションが含まれます。
- パッケージごとにプロジェクト指示を整理する:各パッケージディレクトリで
AGENTS.mdを管理し、そのパッケージの責務、依存関係、規約を記述します。Qoder は特定のパッケージのファイルにアクセスすると、必要に応じて該当ディレクトリおよびその上位の指示を読み込みます。 - 対象パッケージ内で作業する:特定のパッケージを扱う際は、そのパッケージディレクトリから起動するか、作業範囲を明確に指定し、無関係なコンテキストを減らします。
- 並列で進める:ワークツリーを使用して、異なるパッケージやタスクごとに独立した作業ディレクトリを作成し、相互干渉を避けます。詳細は複数のタスクを並列処理するを参照してください。
適切な作業方法の選択
タスクによって適した作業方法は異なります。
- 影響範囲が大きい、または方向性が不確実な場合:まず Plan で方針を確認します。詳細は計画してから実行する(Plan)を参照してください。
- 明確な終了点があり、任せて完了させたい場合:Goal を使用して継続的に実行します。詳細は目標を継続的に達成する(Goal)を参照してください。
- スクリプトやパイプライン:ヘッドレスモードを使用します。詳細はスクリプトでの実行を参照してください。
Qoder による自己検証
- コード変更後に Qoder が自らテストやビルドを実行するようにし、「実装—検証—修正」のサイクルを確立します。
- 変更完了後は
/diffと/reviewを使用して再確認します。詳細は変更の表示とレビューを参照してください。 - 重要な変更が伴う場合は Git コミットと併用し、必要に応じてロールバックで復元します。詳細は取り消しと復元を参照してください。