Back to list
dev_to 2026年4月17日

NomaCMS の紹介:チーム向け構造化コンテンツ、クリーンな API、そしてワークフローに統合された AI を備えたヘッドレスコンテンツプラットフォーム

Introducing NomaCMS

Translated: 2026/4/17 10:00:31
nomacmsheadless-cmsjavascript-sdkai-integrationmultilingual

Japanese Translation

私たちは、構造化されたコンテンツ、クリーンな API、そしてワークフローに統合された実際の AI を提供するためのチーム向けのヘッドレスコンテンツプラットフォームである NomaCMS を紹介します。この記事では、NomaCMS とその利用方法について詳しく解説します。 NomaCMS はヘッドレス CMS です。コンテンツは構造化された層に保存され、アプリケーションは REST API や JavaScript SDK を介して読み書きを行います。app.nomacms.com のダッシュボードでは、コンテンツをモデル化し、エントリを作成、資産をアップロード、ロケールを管理、そしてウィークエンドを設定できます。フロントエンドは完全に独立しており、同じコンテンツをウェブサイト、モバイルアプリ、内部ツール、または HTTP リクエストができる任意の場所に配信できます。 NomaCMS のコンテンツはコレクションに整理され、各コレクションには独自のフィールドがあります。コレクションは、ブログ記事や製品のようなリスト、または主页や設定レコードのようなシンゲルトンになり得ます。フィールドは、テキスト、長いテキスト、リッチテキスト、スラッグ、メール、パスワード、数値、列挙、ブール、色、日付、時刻、Datetime、メディア、関係、JSON、そしてグループを含む、現代の CMS で期待されるタイプをカバーします。これは、工作-around なく単純なブログやより洗練された製品カタログをモデル化することを意味します。 エントリは、ドラフトと公開の状態をサポートし、大規模な作成、更新、削除、およびリスト表示時の柔軟なフィルタリングをサポートします。 各プロジェクトには API キーで保護された REST API が用意されています。さらに、@nomacms/js-sdk パッケージは、プロジェクト、コレクション、フィールド、コンテンツ、資産、ウィークエンドにグループ化されたメソッドを持つ型付きクライアントを提供します。最小限の設定は次のようになります: ```javascript import { createClient } from "@nomacms/js-sdk" const noma = createClient({ projectId: process.env.NOMA_PROJECT_ID, apiKey: process.env.NOMA_API_KEY, }) const posts = await noma.content.list("posts") ``` この SDK は API エラーを型付けされた例外に変換し、プロジェクト ID ヘッダーなどの詳細を処理するので、アプリケーション作成に集中できます。 資産ライブラリは、大ファイルを含むダイレクトアップロードとマルチパパートアップロード、大規模アップロード、そして大規模メタデータ更新をサポートします。ウィークエンドはコンテンツと認証イベントに反応させ、異常が見られる場合にチェックできる配送ロギングを提供します。 多言語プロジェクトの場合、プロジェクトレベルでロケールを定義し、デフォルトを選択し、翻訳されたエントリ同士をリンクさせることで、フロントエンドが清潔に切り替えられます。 NomaCMS はアプリケーションのエンドユーザー認証も処理します。ユーザーはメールとパスワードで登録でき、ソーシャルプロバイダーでサインインし、セッションを更新し、独自のカスタム API キーを管理できます。すべてはプロジェクトにスコープされるため、NomaCMS に上乗せして構築するアプリにユーザーをログインさせるために別々の認証サービスを立ち上げる必要はありません。 AI は 3 つの明確な場所で登場します。 ダッシュボード内部では、Noma AI アシスタントはプロジェクト作成、コレクション構築、エントリ管理、そして会話による製品ナビゲーションを支援します。テキストまたはリッチテキストフィールド内のインラインツールは、コンテンツを生成、書き換え、展開、要約、文法修正、または翻訳するために即時利用できます。そして、エントリ全体の翻訳が必要なときは、ワンクリックで他のロケールへ移動し、翻訳をリンクさせます。 Cursor、Claude Code、Windsurf で作業している場合、私たちの MCP サーバーは編集器をプロジェクトに直結させます。プロジェクト、コレクション、フィールド、コンテンツ、資産、ウィークエンド管理のためのツールを露出するので、平文で言いたいことを伝え、それを CMS に表示させます。 さらに深く進めたい場合は、Noma Agent Skills パッケージは、コーディングアシスタントに SDK を使用し、認証パターンを追従させ、Next.js、Nuxt、Astro と統合することを教えます。これにより、タスクを開始するたびに基本事項を説明する時間を減らせます。 試しに試してみたい場合は、app.nomacms.com へ行き、プロジェクトを作成し、SDK をインストールし、最初のエントリを取得してください。私たちは新しい機能のロールアウトを続けながら、このブログでより多くのガイドと更新を共有する予定です。NomaCMS をご覧いただきありがとうございます。

Original Content

We are excited to introduce NomaCMS, a headless content platform built for teams that want structured content, a clean API, and a real place for AI inside their workflow. This post walks through what NomaCMS is and what you can do with it today. NomaCMS is a headless CMS. Your content lives in a structured layer, and your applications read and write it through a REST API or our JavaScript SDK. The dashboard at app.nomacms.com is where you model your content, create entries, upload assets, manage locales, and configure webhooks. Your frontend stays completely separate, which means you can ship the same content to a website, a mobile app, an internal tool, or anywhere else that can make an HTTP request. Content in NomaCMS is organized into collections, and each collection has its own fields. A collection can be a list, like blog posts or products, or a singleton, like a homepage or a settings record. Fields cover the types you would expect from a modern CMS, including text, long text, rich text, slug, email, password, number, enumeration, boolean, color, date, time, datetime, media, relation, JSON, and group. That means you can model a simple blog or a more involved product catalog without reaching for workarounds. Entries support draft and published states, bulk create, update, and delete, and flexible filtering when you list them. Every project gets a REST API secured with API keys. On top of that, the @nomacms/js-sdk package gives you a typed client with grouped methods for projects, collections, fields, content, assets, and webhooks. A minimal setup looks like this: import { createClient } from "@nomacms/js-sdk" const noma = createClient({ projectId: process.env.NOMA_PROJECT_ID, apiKey: process.env.NOMA_API_KEY, }) const posts = await noma.content.list("posts") The SDK maps API errors to typed exceptions and handles details like the project-id header for you, so you can focus on your application. The asset library handles file uploads, including direct and multipart uploads for large files, plus bulk upload and bulk metadata updates. Webhooks let you react to content and auth events, with delivery logs you can inspect when something looks off. For multilingual projects, you can define locales at the project level, pick a default, and link translated entries together so your frontend can navigate between them cleanly. NomaCMS also handles end-user authentication for your application. Your users can sign up with email and password or sign in with social providers, refresh their sessions, and manage their own per-user API keys. Everything is scoped to the project, so you do not need to stand up a separate auth service just to let users log in to the app you are building on top of NomaCMS. AI shows up in three clear places. Inside the dashboard, the Noma AI Assistant can help you create projects, build collections, manage entries, and navigate the product through conversation. In any text or rich text field, inline tools let you generate, rewrite, expand, summarize, fix grammar, or translate content on the spot. And when it is time to translate a whole entry, one click can move it into another locale and link the translations together. If you work in Cursor, Claude Code, or Windsurf, our MCP server plugs your editor straight into your project. It exposes tools for project, collection, field, content, asset, and webhook management, so you can say what you want in plain language and have it show up in your CMS. To go further, the Noma Agent Skills package teaches your coding assistant how to use the SDK, follow our auth patterns, and integrate with Next.js, Nuxt, and Astro, so you spend less time explaining the basics every time you start a task. If you want to try it out, head to app.nomacms.com, create a project, install the SDK, and fetch your first entries. We will be sharing more guides and updates here on the blog as we roll out new features. Thanks for checking out NomaCMS.