CompatLab について
CompatLabは、公開済みnpmパッケージが固定バージョンのNode.js、Bun、Denoで読み込まれる挙動を記録します。バージョンごとの証拠を確認したい開発者やエージェント向けで、観測結果と網羅範囲、環境上の制約を区別して示します。
主な機能
- 01固定ランタイムでのパッケージ検証
- 02バージョン別レポートと証拠の閲覧
- 03網羅範囲と環境制約の確認
- 04CLIによるチェックの再現
活用シーン
- 01パッケージ採用前のランタイム読み込み証拠の確認
- 02特定バージョンのレポート比較
MCP 対応
Streamable HTTP経由で読み取り専用のリモートMCPサーバーを提供します。`check_package`と`get_report`ツールは、バージョン、ランタイムの固定情報、網羅範囲、レポートへのリンクを返し、スキャンは送信しません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://compatlab.me/mcpclaude mcp add --transport http siddiksawani-compatlab https://compatlab.me/mcp{"mcpServers":{"siddiksawani-compatlab":{"type":"http","url":"https://compatlab.me/mcp"}}}Cursor で開く{"servers":{"siddiksawani-compatlab":{"type":"http","url":"https://compatlab.me/mcp"}}}VS Code で開く{"mcpServers":{"siddiksawani-compatlab":{"type":"http","url":"https://compatlab.me/mcp"}}}{"mcpServers":{"siddiksawani-compatlab":{"serverUrl":"https://compatlab.me/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | はい | |
| version | string | いいえ |
詳細
CompatLab
CompatLab は、固定された JavaScript ランタイム全体で公開済みの npm アーティファクトをテストします。レポートでは、観測された読み込み動作、カバレッジ、環境上の制限を、互換性に関するより広範な主張と区別しています。
本番環境のドメイン:compatlab.me。合格レポートを解釈する前に、方法論をお読みください。
エージェントは匿名 APIを通じて既存のエビデンスを参照するか、Streamable HTTP を使用して https://compatlab.me/mcp にリモート MCP クライアントを接続できます。読み取り専用の check_package および get_report ツールは、正確なバージョン、ランタイムの固定値、カバレッジ、レポートへのリンクを返します。スキャンを送信することはありません。MCP のセットアップと検証をご覧ください。エビデンスがない場合も、互換性の判定にはなりません。
ローカルエンジンは、スクリプトを無効にした状態で公開 npm アーティファクトを解決して準備し、その依存関係ツリーを封印してから、固定された Node、Bun、Deno ランタイム全体でプローブを実行します。CLI は、上限を設けたチェックと、明示的なスナップショットの再利用またはロックに基づく再構築をサポートします。ワーカーには、ホストの所有権、容量予約、復旧、悪意あるコードに対する適格性確認が含まれます。PostgreSQL カタログと非公開の制御サービスは、トランザクションによる受付、永続的なリース、認証済みの結果取り込み、スナップショット単位のディスパッチを提供します。匿名ウェブサイトでは、検索、明示的なスキャン要求、永続的な進捗、レポートのマトリクス、エビデンス、再現用ダウンロードを利用できます。SSH によるオペレーター制御、デプロイ用パッケージ化、暗号化されたオフサイトバックアップ、保持期間、リリース適格性のゲートも含まれます。公開受付はデフォルトで無効です。運用手順書と適格性確認記録をご覧ください。制限事項と前提条件については、ウェブサイトのセットアップ、レポート、オーケストレーション、カタログと受付、ワーカーのライフサイクル、ローカル実行、準備、ランタイムプロファイルをご覧ください。
開発
名前付きアサーションと CI アーティファクトにより、メンテナーのワークフローを拡張できます。アサーションでは、コミットを固定したオフラインフィクスチャを使用し、動作に関するエビデンスを分離します。Linux/runsc の CLI では、公開前のアーカイブを、別個のソース ID と呼び出し元が指定するプロベナンスを用いてチェックできます。
公開メンテナー向けセクションは近日公開予定です。任意のアカウント実装では、GitHub App ログイン、暗号化された OAuth トークン、リポジトリの権限のリアルタイム確認、アクセス取り消し、アカウントごとのクォータを使用しますが、このデプロイではサインインとリリース監視は無効のままです。公開レポートは引き続き匿名です。
.node-version の Node.js 24.21.0 と、package.json の pnpm 12.8.1 を使用してください。
corepack enable
pnpm install --frozen-lockfile
pnpm check
pnpm cli --help
pnpm cli doctor --json
pnpm check は、フォーマット/lint チェック、厳密なワークスペースビルド、テストの型チェック、ユニットテスト/CLI テストを実行します。CLI やテストを直接実行する前にビルドしてください。開発時のチェックは macOS と Linux で動作します。doctor、サンドボックステスト、ローカル PostgreSQL テストサーバーには Docker デーモンが必要です。別個の統合ゲートについては、データベースの適格性確認をご覧ください。
doctor は、Linux amd64 の Docker サーバーに runsc ランタイムが登録されているかどうかを報告します。前提条件が不足している場合は終了コード 1 を返し、パッケージコードを実行することはありません。チェックに合格しても、信頼できないコードの実行に適格なホストであることは保証されません。開発者のマシン上でパッケージを実行するフォールバックはありません。
runsc を使用する準備済みの Linux amd64 ホストでは、次のように実行します。
pnpm build
pnpm test:sandbox
スモークテストでは、ダイジェストを固定したフィクスチャイメージをビルドし、ESM/CommonJS の完了、モジュールの失敗、偽の stdout 成功、結果の欠落、異常終了をチェックします。作成されたフィクスチャのみを使用します。CI は、使い捨ての GitHub ホスト型ランナーにチェックサムを固定した gVisor リリースをインストールします。このインストーラーは、開発マシンや本番マシン向けではありません。
リポジトリ構成
| パス | 実装する責務 |
|---|---|
apps/cli | 前提条件、チェック、CI アーカイブ、再現、SSH 管理、バックアップの暗号化 |
apps/web | 匿名での検出、スキャンリクエスト、永続的な進捗、レポートページ |
packages/engine | レジストリの解決、分析、計画、制限付きプローブのオーケストレーション |
packages/catalog | PostgreSQL の ID、受け入れ、リース、結果の検証、復旧、キャッシュ検索 |
packages/contracts | 正規の語彙、制限付き完了の検証 |
services/worker | 準備、封印ストレージ、ランタイムの監視、ローカルのエビデンス保存 |
services/control | WireGuard に限定されたプライベートなワーカー API と調整 |
harnesses | 自動読み込みと、名前付きアサーション完了の独立したプロトコル |
services/maintainer | リリースの調整、比較、独立して再試行されるメール |
runtime-images | ダイジェスト固定された最小ランタイムイメージのレシピ |
fixtures | 作成済みのモジュール/プロトコル、および準備用アーカイブのフィクスチャ |
infra | 固定されたサービスのパッケージ化、ワーカーのプロビジョニング、バックアップ、復旧の設定 |
scripts | 封じ込め、コーパス、デプロイ、復旧の適格性確認 |
docs | アーキテクチャ、提供の順序、調査、意思決定の記録 |
提供と貢献
14 件の PR による提供計画では、公開 MVP と、制限付きのメンテナーワークフローを取り上げています。アーキテクチャ計画、PRD v1.1、調査ノートで設計を定義しています。元の PRDは、過去の参考資料として保存されています。
プロジェクトへの変更はすべて、フィーチャーブランチとプルリクエストを使って行います。チェックとレビューの要件についてはCONTRIBUTING.mdを、セキュリティ問題の報告についてはSECURITY.mdをご覧ください。このリポジトリは siddiksawani が管理し、MITライセンスで公開されています。
公開サイトの運用については、本番環境の運用と検索による検出をご覧ください。延期されたメンテナー向けのリリース監視ワークフローについては、監視とデプロイで説明しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。