セルフホスト型サービス
keystonejs/keystone avatar
keystonejs/keystone

KeystoneでスキーマからGraphQL管理画面まで組み立てる

GraphQL と React で構築された、Node.js 用の超強力なヘッドレス CMS。

スター 9,974フォーク 1,263TypeScriptMIT

ひと目でわかる

これは何?
KeystoneはTypeScriptとNode.jsを基盤にしたスキーマ駆動のヘッドレスCMSで、GraphQL APIとReactベースの管理UIを提供する。Node LTS、Keystone 5からの移行、MITの条件が導入判断に関わる。
誰に向いている?
コンテンツモデルをコードで管理し、GraphQL APIと管理画面を同じスキーマから組み立てたいNode.jsチームにはKeystoneが合います。Keystone 5の既存コードを無変更で維持したい案件や、Node LTSの範囲外を固定したい環境では移行コストが先に立ちます。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 2 日前です。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

スキーマを記述してAPIと管理UIを得る

Keystone は Node.js 向けのヘッドレス CMS で、GraphQL と React を中心に構築されています。README の中心的な約束は、コンテンツのスキーマを記述すると、Keystone がそのデータに対する GraphQL API と管理 UI を生成するというものです。これは完全なバックエンドとして位置づけられており、ボイラープレートやブートストラップは不要で、カスタムバックエンドの反復的な部分を手書きする必要もないと主張しています。このリポジトリの主要言語は TypeScript で、プロジェクトは @keystone-6/* というパッケージ名前空間で公開されています。README はまた、他のどの CMS やアプリケーションフレームワークよりも速く構築でき、より遠くまでスケールできるという広い表現も使っていますが、それを裏付けるベンチマーク、パフォーマンス数値、比較方法は示されていません。実際のパフォーマンス、開発速度、スケーラビリティについて、README には測定可能な証拠はありません。したがって、これらはプロジェクト自身の説明であり、検証された結果ではありません。これらの主張を評価したい場合は、自分の環境でテストを実行するしかありません。

ドキュメントと学習の道筋

ドキュメントについて、README はユーザーを keystonejs.com の拡張ドキュメントに誘導し、いくつかの具体的な入り口を挙げています。Why Keystone ページはプロジェクトのビジョンと含まれる機能を説明し、Getting Started ガイドは create-keystone-app CLI を使って最初のステップを説明し、API Reference は基礎となる構成要素の詳細を提供し、Guides はそれらの構成要素を使った実践的な手順を示しています。examples ディレクトリには、ローカルで実行できるプロジェクトのコレクションがあり、各プロジェクトは通常、Keystone の一つの機能に焦点を当てています。README は、API Reference はおおむね完全である一方、guides と examples はまだ改良中であると正直に述べており、不足している例があれば GitHub Discussions で提案するよう求めています。README 自体にはインストールコマンドや初期化コマンドは書かれておらず、create-keystone-app CLI の名前だけが言及されています。具体的なコマンドは Getting Started ページで確認する必要があります。ドキュメントの更新頻度や例の網羅範囲についても README には記載がありません。

Nodeバージョンのサポート

@keystone-6/* パッケージは、Node の Maintenance および Active LTS バージョン向けに書かれており、継続的インテグレーションもこれらのバージョンを追跡しています。つまり、プロジェクトは現在メンテナンスとアクティブな長期サポートの状態にある Node リリースにテストリソースを集中させています。README は Pending や End-of-Life の Node バージョンのサポートを約束しておらず、それらのバージョンで成功するかもしれないが問題が発生するかもしれないとだけ述べています。CI が具体的にどの Node バージョンをテストしているのか、テストマトリックスがどのように設定されているのかを知るには、README にはバージョン番号や設定ファイルの場所が示されていないため、リポジトリの CI ワークフローや関連ドキュメントを確認する必要があります。この制約は、Node バージョンを選ぶ開発者にとって重要ですが、README にはより細かい互換性の説明はありません。例えば、特定の Node メジャーバージョンで過去に修正された問題や、既知の非互換点のリストもありません。

Keystone 5のメンテナンスとセマンティックバージョニング

Keystone 6 は現在のメインラインです。古い Keystone 5 コードベースはメンテナンスモードに入っており、別のリポジトリ keystonejs/keystone-5 に置かれています。README は、移行の背景を知りたい人のために、Keystone 5 and beyond というタイトルのディスカッションへのリンクも貼っています。バージョン戦略について、README は Keystone がセマンティックバージョニングに従うと明言していますが、それ以外のリリース方針の情報はありません。変更ログ、リリーススケジュール、Keystone 5 のメンテナンスがいつ終了するかについての記述もありません。特定のバージョンの変更内容や破壊的変更を知るには、npm のリリース記録か GitHub Releases を確認する必要があります。ディスカッションへのリンクは keystone-5 リポジトリの issue 21 で、タイトルは Keystone 5 and beyond です。

コミュニティ、行動規範、セキュリティ

コミュニティについて、README は複数の入り口を提供しています。Slack ワークスペース、Twitter アカウント、ウェブサイト上の Roadmap ページです。フィードバックや機能リクエストを共有するよう求めており、Slack が好ましいチャネルで Twitter も代替として挙げられ、バグ修正や issue は GitHub の issue テンプレートを通じていつでも歓迎すると述べています。プロジェクトは Contributor Covenant 行動規範に従っており、完全なテキストはリポジトリの CODE-OF-CONDUCT.md にあります。セキュリティに関しては、README は脆弱性報告のために SECURITY.md にリンクしていますが、対応時間、開示プロセス、セキュリティ更新が別途リリースされるかどうかは説明していません。これらの詳細はセキュリティポリシーファイルに委ねられています。また、過去のセキュリティインシデントや修正についても README には言及がありません。

KeystoneのMIT許諾と免責範囲

Keystone は MIT ライセンスで提供されています。著作権表記は Thinkmill Labs Pty Ltd、2024 です。このライセンスは、ソフトウェアのコピーと関連ドキュメントを無償で入手した者に対して、使用、複製、変更、統合、公開、配布、サブライセンス、販売を含む、制限なしにソフトウェアを扱う権利を許可します。ただし、すべてのコピーまたは実質的な部分に上記の著作権表示と許可表示を含めることが条件です。ソフトウェアは現状のまま提供され、商品性、特定目的への適合性、非侵害を含むがこれらに限定されない、明示または黙示のいかなる保証もありません。著者または著作権者は、ソフトウェアの使用に起因する請求、損害、その他の責任について一切責任を負いません。ライセンスのテキスト自体は、技術サポート、セキュリティ更新、保守義務については何も述べていません。そのため、これらの事項は MIT ライセンスから導き出すことはできません。ライセンスの完全なテキストは、リポジトリの LICENSE ファイルにある標準的な MIT テンプレートであり、追加条項はありません。

編集部の結論

コンテンツモデルをコードで管理し、GraphQL APIと管理画面を同じスキーマから組み立てたいNode.jsチームにはKeystoneが合います。Keystone 5の既存コードを無変更で維持したい案件や、Node LTSの範囲外を固定したい環境では移行コストが先に立ちます。最初に現行の@keystone-6/*、Node LTSの組み合わせ、GraphQLスキーマと管理UIの生成結果を確認し、Keystone 5からの差分を公式移行資料で照合してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート