TL;DR

TypeScript を中心にした統合的なアプローチを取る BaaS。Firebase や Supabase と同じ分野のサービスである。

なぜ必要か

Convex はアーキテクチャの構成や設計思想、ベストプラクティスまで公式に提供している。ローカルで立ち上げられるので開発しやすい。AI 駆動開発を支える機能も多く、MCP サーバや AI 向けのルールを提供している。AI エージェントを開発する基盤やベクトルストレージもある。

仕組み

convex dev を実行すると、プロジェクトの直下に convex ディレクトリが作られる。ここにスキーマ、クエリ、ミューテーションを書く。convex/schema.ts のスキーマを変えると、convex dev のプロセスが変更を検知して自動でマイグレーションする(Live migration)。

例

Bun でセットアップする場合は次のようにする。

bun add convex
bunx convex dev

convex dev を実行すると、アカウントにログインするか、ローカルで実行するかを選ぶ。とりあえず試すなら「Start without an account (run Convex locally)」を選べばよい。

Welcome to Convex! Would you like to login to your account? (Use arrow keys)
❯ Start without an account (run Convex locally)
  Login or create an account

ローカルで動かすときは --local を付ける。

bunx convex dev --local

注意点

convex/_generated ディレクトリも Git の管理対象に含める。

関連

出典