repoready について
reporeadyは、指定されたファイルパスやREADMEの内容、任意のpackageスクリプトから、初めてのコントリビューターを迎える準備状況を評価します。コードやネットワークに触れず、8項目のチェックと準備状況を返します。
主な機能
- 01順序固定の8項目チェック
- 02READMEの導入・テスト文書を確認
- 03ライセンス、ガイド、CI、ロックファイルを確認
- 04必須項目の失敗と準備状況を報告
- 05コードを実行しないローカル評価
活用シーン
- 01コントリビューターを迎える前の準備確認
- 02導入手順やテスト説明の不足を特定
- 03指定したファイル一覧からリポジトリを点検
MCP 対応
MCP サーバーは `assess_readiness` ツールを公開します。リポジトリのファイルと任意のpackageスクリプトを受け取り、チェック結果と準備状況を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| files | array | はい | 評価するリポジトリファイル(1 つ以上) |
| package_scripts | object | いいえ | 文字列から文字列へのマップで表した package.json のスクリプト(任意) |
詳細
repoready
リポジトリの技術的な品質が非常に高くても、最初の10分で初めてのコントリビューターを失うことがあります。案内となるREADMEがなく、手順に沿ってインストールできず、セットアップが正しく行われたことを確認するテストコマンドもないためです。reporeadyは、提供された情報だけを使い、何も実行せずに、その最初の体験を評価します。
リポジトリのファイル一覧(READMEの内容が分かる場合はその内容も)と、任意でpackage.jsonのスクリプトを渡します。すると、固定順序の8つのチェックを返します。それぞれに合格または不合格と、詳細を示す正確な文字列が含まれます。
- readme — READMEが存在する
- install_docs — READMEにインストール方法が記載されている
- test_script —
testスクリプトが定義されている - test_command_docs — READMEにテストコマンドが記載されている
- license — ライセンスファイルが存在する
- contributing — コントリビューションガイドが存在する
- ci —
.github/workflows/の下にCIワークフローが存在する - lockfile — 対応するロックファイルが存在する
最初の4つのチェックは必須です。チェックに加えて、合格した数(8件中)を数え、不合格となった必須チェックをチェック順に列挙し、必須チェックに不合格がない場合に限りreadyをtrueにします。そのため、ライセンス、コントリビューションガイド、CI、ロックファイルといった補助的なチェックで高得点を得ていても、新規ユーザーがインストールできない、またはテストを実行できない場合は、正直に準備未完了と判定されます。
READMEとして扱われるのは、入力順で最初に見つかった、ベース名を小文字にしたときにreadme.mdと一致するか、readme.で始まるファイルです。READMEの内容が渡されていない場合、ドキュメントに関する2つのチェックでは、ファイル名から推測するのではなく、その旨を明示します(README content not supplied)。ベース名の照合では常に大文字と小文字を区別しません。CIのチェックでは、パスのプレフィックスが正確に.github/workflows/である必要があります。また、ロックファイルのチェックでは、package-lock.json、yarn.lock、pnpm-lock.yaml、Cargo.lock、poetry.lock、Pipfile.lock、go.sumを認識します。
不正な入力(ファイル一覧がない、または空、ファイルパスがない、空、または重複している、contentが文字列でない、あるいはpackage_scriptsの値が文字列でない場合)は、該当するパスを示す検証エラーになります。部分的な評価結果は生成されません。処理は純粋かつローカルで行われ、ネットワークも設定も不要で、何も実行されません。
CLI
npx @reneturcios/repoready assess --input args.json
npx @reneturcios/repoready --version
args.jsonには、引数オブジェクト全体が含まれます。
{
"files": [
{ "path": "README.md", "content": "# Demo\n\n## Install\n\nnpm install\n\nRun npm test to verify.\n" },
{ "path": "LICENSE" },
{ "path": "CONTRIBUTING.md" },
{ "path": ".github/workflows/ci.yml" },
{ "path": "package-lock.json" }
],
"package_scripts": { "test": "node --test", "build": "tsc" }
}
評価結果はJSONとして出力されます。
{
"checks": [
{ "id": "readme", "status": "pass", "detail": "README found at README.md" },
{ "id": "install_docs", "status": "pass", "detail": "README documents installation" },
{ "id": "test_script", "status": "pass", "detail": "a test script is defined" },
{ "id": "test_command_docs", "status": "pass", "detail": "README documents a test command" },
{ "id": "license", "status": "pass", "detail": "license file found at LICENSE" },
{ "id": "contributing", "status": "pass", "detail": "contributing guide found at CONTRIBUTING.md" },
{ "id": "ci", "status": "pass", "detail": "CI workflows found" },
{ "id": "lockfile", "status": "pass", "detail": "lockfile found at package-lock.json" }
],
"passed": 8,
"total": 8,
"essential_failures": [],
"ready": true
}
終了コード:成功時は0、実行時エラー(読み取り不能または無効な入力ファイル、無効な入力を含む)時は1、使用方法のエラー時は2です。
MCP サーバー
npx -y @reneturcios/repoready mcp
MCPクライアントの設定:
{
"mcpServers": {
"repoready": {
"command": "npx",
"args": ["-y", "@reneturcios/repoready", "mcp"]
}
}
}
ツール
assess_readiness— リポジトリのファイルとパッケージスクリプトから、初めてのコントリビューターを受け入れる準備が整っているか評価します。files(配列、必須、1件以上) —{path, content?}オブジェクトとして指定するファイル。pathはセット内で一意であり、contentはREADMEのチェックに使用されますpackage_scripts(オブジェクト、任意) — 文字列から文字列へのマップとして指定するpackage.jsonのスクリプト
{checks, passed, total, essential_failures, ready}を返します。
Docker
docker run -i ghcr.io/cloudcorprecords/repoready
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/repoready assess --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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。