Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

コーディングエージェントのガイドライン

リポジトリ ルートの AGENTS.md は、AI コーディングアシスタント向けの、簡潔で常に読み込まれる規約です。このページには一部のタスクに役立つ詳細が記載されていますが、すべてのセッションでプロンプトの予算を消費しないようにしています。

これらのルールは、モデルのサイズやモデルの実行場所に関係なく適用されます。コンパクトなプロンプトプロファイルは、コンテキストを積極的にロードする量を変える場合がありますが、安全性、プライバシー、認可、またはコントリビューションの要件を弱めることはありません。

このページの使い方

まず アーキテクチャとコントリビューションのマップ から始めてください。その変更パス表では、各タスクを現在のアーキテクチャ、基盤、テスト、セキュリティ、メンテナー向けドキュメントへ案内しています。以下のエージェント固有の事項についてのみ、ここに戻ってください。

信頼できる唯一の情報源の例

状態のいかなる要素も、独立して管理される2か所に存在してはなりません。設定、スキーマ、ランタイム状態、または生成された定義にすでに存在する情報は、別のフィールドにコピーするのではなく、そのソースから解決または導出してください。

構造体フィールド、チャネルまたはハンドルのフィールド、スキーマフィールド、または設定エントリを追加する前に、次のいずれかの回答を明記してください:

  1. “これは、ここで作成された信頼できる唯一の情報源です。” それが何を表しているかを述べてください。
  2. “信頼できる唯一の情報源は <path> です。これではそれを複製することになります。” 使用時にその場所から解決してください。

重複状態のクリーンアップをフォローアップに先送りしないでください。再起動時のみのスナップショットも依然として重複状態です。

禁止されている例:

  • チャンネルハンドルは認証済みユーザーをキャッシュしますが、ライブ設定がそれらを所有します。
  • enum と、それとは別に手動で管理されているバリアントのリスト。
  • ランタイムがライブ構成から読み取れるフィールドを複製した構成スナップショット
  • プロバイダーの認証情報を別のランタイムフィールドにコピーする。

使用可能な例:

  • Arc<RwLock<Config>> に対するリゾルバのクロージャ;
  • 借用された Config または型指定された config パラメータ;
  • 操作中にのみ使用され、それ以降は保存されないオンデマンドビュー。
  • 1つの入力から複数のサーフェスを生成するマクロまたはジェネレーター。

アーキテクチャと所有権

ZeroClaw は Rust ファーストの、トレイト駆動型エージェントランタイムです。主要な拡張トレイトは crates/zeroclaw-api/src/ にあります:

  • model_provider.rsModelProvider
  • channel.rsChannel
  • tool.rs (Tool)
  • memory_traits.rs (Memory)
  • observability_traits.rsObserver
  • runtime_traits.rs (RuntimeAdapter)
  • peripherals_traits.rs (Peripheral)

別のクレートやリポジトリのインベントリをここで管理しないでください。所有権と依存関係の方向については Crates を、現在のメンバーシップについてはルートの Cargo.toml のワークスペースメンバーを、プロバイダー、チャンネル、ツール、プラグイン、ランタイム、および設定変更パスについてはアーキテクチャマップを使用してください。

安定性とリスク

安定性ティアの定義とバージョニングポリシーは FND-001 に記載されています。コンポーネントローカルの AGENTS.md ファイルおよびプラグインレジストリマニフェストが、対象となるオーナーシップモデルです。すべてのコンポーネントに対応ファイルが揃うまでは、以下の表が現在のアサインメントに関する正式な情報源です。別の手動管理された集約ファイルにコピーしないでください。

現在の安定性の割り当て

コンポーネント階層注釈
zeroclaw-api実験的v1.0.0 で安定(正式なマイルストーン)
zeroclaw-configBetav0.8.0 で安定
zeroclaw-logBeta統合ログの出力、JSONL の永続化、ブロードキャストフック
zeroclaw-providersBeta
zeroclaw-memoryBeta
zeroclaw-infraBeta
zeroclaw-commands実験的組み込みコマンドカタログとメタデータ
zeroclaw-tool-call-parserBetav0.8.0 で安定
zeroclaw-channels実験的v1.0.0 でのプラグイン移行
zeroclaw-tools実験的v1.0.0 でのプラグイン移行
zeroclaw-runtime実験的エージェントランタイム: エージェントループ、セキュリティ、cron、SOP、スキル、可観測性
zeroclaw-gateway実験的v0.9.0 でバイナリを分離
zerocode実験的TUIオンボーディングウィザード
zeroclaw-plugins実験的WASMプラグインシステムおよびv1.0.0プラグインエコシステムの基盤
zeroclaw-hardware実験的USB デバイスの検出、周辺機器、シリアルのサポート
zeroclaw-macrosBeta設定スキーマと密接に結合されています
zeroclaw-eval実験的LLM トレースフィクスチャの決定論的リプレイに対応したエージェント評価ハーネス
zeroclaw-spawnBetazeroclaw-log の上に構築された、属性を伝播する tokio::spawn ラッパー

Stable コンポーネントは破壊的変更ポリシーに従います。Beta コンポーネントは、MINOR リリースで変更履歴の注記を伴って破壊的変更を行う場合があります。Experimental コンポーネントには安定性の保証はありません。ティアは、チームによる慎重な決定を通じて昇格されることはあっても、降格されることはありません。

変更リスクの振り分けは、パスではなく影響に基づきます。正式な定義については、メンテナーラベルガイドを使用してください。risk:low は、本番、互換性、ビルド、リリース、またはガバナンスへの影響がないドキュメント、フィクスチャ、および機械的なメタデータを対象とします。risk:medium は通常の動作変更を対象とします。risk:high は、具体的な信頼、認証情報、互換性、ガバナンス、またはリリース権限に関する境界を対象とします。domain:securityrisk:* とは独立しており、実効的なセキュリティ境界を識別します。

risk:high または domain:security のいずれかを付けた PR は、マージ前に詳細なレビューと、独立した Core Team メンバー 2 名による承認が必要です。不確実性は上位の区分に分類してください。検証およびロールバックの証拠は、変更行数だけでなく、実際の影響範囲に見合ったものにしてください。PR の手順については How to contribute を、検証の分類については Testing を参照してください。

スキルの検出

リポジトリが所有するコーディングアシスタントのスキルは .claude/skills/ に配置されています。利用可能な */SKILL.md ファイルを確認し、要求された操作に一致するスキルのみを読み込んでください。このページに2つ目のスキルカタログを保持しないでください。ディレクトリが現在のインベントリであり、各スキルファイルが自身のワークフローを所有します。

保護された運用ドキュメント

これらのファイルは skills や開発ツールから参照されます。参照元とリポジトリのガイダンスを更新せずに、移動または削除しないでください。

ファイルコンシューマー
docs/book/src/contributing/pr-review-protocol.mdPRレビュースキル
.claude/skills/changelog-generation/SKILL.md変更履歴スキルローダーとリリース運用手順書
docs/book/src/maintainers/reviewer-playbook.md問題のトリアージスキル
docs/book/src/maintainers/pr-workflow.md課題のトリアージとメンテナーのワークフロー
docs/book/src/contributing/privacy.mdIssue と PR のプライバシーゲート
docs/book/src/foundations/fnd-00*.mdアーキテクチャリファレンスを確認する

ローカリゼーションとプライバシー

ユーザー向けのテキストと英語のみのロギングに関するルールは、ルートの AGENTS.md に記載されています。Wiki と内部の開発者向けドキュメントも英語のみです。詳細な規約については、Privacy and PII disciplineDocs and translations を参照してください。

関連資料