このプロジェクトについて

Model Citizenはコーディングエージェントのコントロールプレーンであり、使用しているルールライブラリやオーケストレーション層の下に位置するように設計されています。ルール、スキル、ロール、スタンスを一度定義すれば、それらをClaude CodeとCodexに投影し、フックで強制し、各セッションが何を行い何を費やしたかの台帳を保持します。 主な機能は次のとおりです。 - **判断を伴うガードレール**: フックは、シェルコマンドの格付け(読み取り専用から不可逆まで)、リポジトリのゲートが赤い場合のターン停止、新鮮なコンテキストのレビュー、シークレットの検出、信頼できないツール出力の中和、サンドボックス化といった決定論的チェックを処理します。 - **可逆的な設定**: 同期にはドライランがあり、差分はドリフトを示し、所有権ジャーナルが変更を記録し、アンインストールは採用したものを復元します。共有プリミティブは1か所に存在し、各ランタイムのネイティブ設定に同期されます。 - **コストと使用状況の可視性**: コスト姿勢(frugal、balanced、max)はロールごとにモデル、エフォート、ソフトバジェットを設定します。モデル階層化は、特定のモデルではなく能力クラス(frontier、strong、standard、light)にロールを割り当てます。使用状況フィードはターンとサブエージェントのコストを報告し、意思決定ログはフックの決定を記録します。 - **読みやすい出力**: ボイススタンス(concise、answer-card、scannable)が出力を形作ります。Review Cardプランは1画面のカードで始まり、ビルドゲートで停止します。サブエージェントの戻り値は所見と語数上限で制限されます。 - **測定可能なルール**: すべてのルールは、トランスクリプトに対する決定論的検出器を指定するか、なぜ決定できないかを説明します。そうでなければLintがコミットを失敗させます。使用状況レポートは各ルールが発火した頻度を示します。 - **選好スイッチ**: 9つのスタンス次元(autonomy、delegation、testing、cost、voice、commits、planning、licensing、build vs. buy)があり、それぞれに名前付きのバリアントがあります。デフォルトを設定し、リポジトリまたはセッションごとに上書きし、独自のスタンス次元をMarkdownフォルダとして記述できます。 Claude Code CLI(macOS、Linux)をqualifiedとしてサポートし、Codex CLIやその他のクライアントはunqualifiedまたは計画中です。このハーネスはLLM APIゲートウェイやモデルプロバイダーではありません。モデルアクセスとネイティブ権限は引き続きClaude CodeとCodexが担います。 インストールは1行のスクリプトまたは手動クローンで行います。sync、doctor、uninstallコマンドが設定と所有権を管理します。このプロジェクトはMITライセンスで、コントリビューションを歓迎します。