mcpField
G
guardfile

guardfile

ローカル
github.com/CloudCorpRecordsバージョン管理01 週間前に更新

guardfile について

guardfile は、渡されたリポジトリのファイルから DCO、CLA、changesets、sign-off の4種類の貢献ルールを確認します。入力内容だけを使い、証拠となるパス、不足項目、全体の完了状態をレポートします。

主な機能

  1. 01DCO、CLA、changesets、sign-off を検出
  2. 02ファイルパスまたは内容でルールを判定
  3. 03重複のない証拠パスを順序付きで表示
  4. 04適用済みと不足のルールを報告
  5. 05入力をローカルで検証

活用シーン

  1. 01リリース前に貢献要件を確認
  2. 02リポジトリファイルのルール根拠を点検
  3. 03不足している DCO、CLA、changeset、sign-off を特定

MCP 対応

MCP サーバーは `extract_guardrails` ツールを公開します。リポジトリ相対パスとファイル内容を受け取り、検出したルール、証拠、不足項目、完了状態を返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-guardfile": {
"command": "npx",
"args": [
"-y",
"@reneturcios/guardfile"
]
}
}
}
起動コマンドnpx -y @reneturcios/guardfile

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/guardfile0.1.0
ocighcr.io/cloudcorprecords/guardfile:0.1.0

ツール

1

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
filesarrayはい調査するリポジトリファイル(1 つ以上)

詳細

guardfile

リポジトリでは、コミットへの署名、ライセンス条項への同意、変更セットの追加など、さまざまな貢献ルールを設けていると主張できます。しかし、それぞれのルールを実際に適用するファイルを示せなければ、その主張には意味がありません。guardfile は、そのファイルを示します。リポジトリのファイルを渡すと、実際に存在するルールと、それぞれの根拠を確認できるレポートを返します。

固定ルールに基づいて、次の 4 つのルールを検出します。

  • DCO — ベース名が大文字小文字を問わず正確に DCO であるファイル、または Developer Certificate of Origin に言及するコンテンツ。
  • CLA — ベース名が大文字小文字を問わず CLA で始まるファイル(CLA.md など)、または Contributor License Agreement に言及するコンテンツ。
  • changesets — .changeset/ を含むパス、/.changeset で終わるパス、正確に .changeset であるパス、または @changesets/ スコープに言及するコンテンツ。
  • sign-off — Signed-off-by: 行を含むコンテンツ。コロンもルールの一部です。Signed-off-by への言及だけでは該当しません。

コンテンツの照合では大文字と小文字を区別しません。レポートには各ルールについて、該当したパスをソートして記載します。同じファイルがパスとコンテンツの両方によって同じルールに該当しても、各パスは一度だけ記載されます。4 つの判定に加えて、レポートには該当数、不足しているルールの名前(固定順序 dco、cla、changeset、signoff)、および 4 つすべてが該当する場合にのみ true となる complete フラグが含まれます。

不正な入力(ファイルリストがない、または空である、オブジェクトではないエントリ、パスがない、空である、または重複している、コンテンツがない、または文字列ではない)は、該当するパスを示す検証エラーになります(例:files[1].content must be a string)。部分的なレポートは生成されません。処理は純粋かつローカルで行われます。ネットワークや設定は不要で、渡された入力以外のファイルを読み取ることもありません。

CLI

npx @reneturcios/guardfile extract --input args.json
npx @reneturcios/guardfile --version

args.json には引数オブジェクト全体が含まれます。

{
  "files": [
    { "path": "DCO", "content": "Developer Certificate of Origin\n\nVersion 1.1" },
    { "path": "docs/contributing.md", "content": "Please add a Signed-off-by: line." },
    { "path": ".changeset/bright-foxes-jump.md", "content": "---\n\"pkg\": patch\n---\n" }
  ]
}

レポートは JSON として出力されます。

{
  "guardrails": {
    "dco": { "present": true, "evidence": ["DCO"] },
    "cla": { "present": false, "evidence": [] },
    "changeset": { "present": true, "evidence": [".changeset/bright-foxes-jump.md"] },
    "signoff": { "present": true, "evidence": ["docs/contributing.md"] }
  },
  "present_count": 3,
  "missing": ["cla"],
  "complete": false
}

終了コード:成功時は 0、実行時エラー(読み取れない入力ファイルや無効な入力を含む)では 1、使用方法のエラーでは 2 です。

MCP server

npx -y @reneturcios/guardfile mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "guardfile": {
      "command": "npx",
      "args": ["-y", "@reneturcios/guardfile", "mcp"]
    }
  }
}
ツール
  • extract_guardrails — リポジトリのファイルから貢献ルールを抽出します。
    • files(配列、必須、1 件以上)— {path, content} オブジェクトとして指定するリポジトリのファイル。path はリポジトリ相対パスで、セット内で一意である必要があります。content はファイルのコンテンツで、空でもかまいません。

{guardrails, present_count, missing, complete} を返します。

Docker

docker run -i ghcr.io/cloudcorprecords/guardfile
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/guardfile extract --input /w/args.json

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (pure local, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。