概要
Castor は AI ファーストのフルスタック管理画面スキャフォールドです。業務機能を自然言語で説明すると、AI コーディングツールがリポジトリに書かれた規約に従ってテーブル、API、画面、権限、データベースマイグレーションを生成し、最後に検証ゲートが納品品質を確認します。
名前の Castor はビーバーのラテン語の属名で、ビーバーは「自然界のエンジニア」と呼ばれています。
技術スタック
Castor は pnpm monorepo で、3 つのアプリケーションで構成されています。
| アプリケーション | パッケージ名 | 技術 |
|---|---|---|
バックエンド apps/api | @castorjs/api | Node 22、TypeScript(strict)、Fastify 5、Zod、Drizzle ORM、PostgreSQL 14+、pino |
フロントエンド apps/web | @castorjs/web | React 19、Vite、React Router、shadcn/ui(Radix)、Tailwind CSS v4、motion、lucide-react、i18next(TypeScript / TSX) |
MCP Server apps/mcp | @castorjs/mcp | @modelcontextprotocol/sdk。スキャフォールド、検証、RBAC 同期、マイグレーションなどのツールを MCP クライアントに公開 |
その他の主な依存ライブラリ:テーブル @tanstack/react-table、フォーム react-hook-form、グラフ ECharts、コードエディター Monaco、リッチテキスト react-quill-new、ドラッグ&ドロップ dnd-kit。
対象ユーザー
- AI に本当に機能を納品させたいチーム:プロダクトマネージャーや開発者が要件を一文で伝えるだけで、ルーティング、フィールド型、権限コード、メニュー ID などの技術的な詳細は AI が推測します。
- 規約の整った管理画面の出発点が欲しい開発者:ログイン、ユーザー、ロール、部署、メニュー、ログ、データ辞書、ファイル管理、オンラインユーザー、システム設定、定期タスク、通知、お知らせ、API トークン、Webhook などの機能と、RBAC 権限体系、行レベルのデータ権限が最初から揃っています。
- よくある管理画面ページの書き方を参考にしたいフロントエンド開発者:コンポーネント例には 36 個のサンプルページが含まれ、ページパターンごとの参考実装(標準リスト、カード一覧、ツリー一覧、集計一覧、詳細ページ、ステップフォーム、動的フォーム、カンバン、ガントチャート、高度なテーブル)、共通コンポーネントのグループごとの使い方のページ(ライブのサンプル、正確なソース、主要なプロパティ:データテーブル、フォーム、フィルター、ピッカー、ツリー、アップロード、インポート / エクスポート、フィードバック、データ表示、Markdown、条件ビルダー)のほか、データダッシュボード、AI チャット、エディターなどがあります。詳しくは コンポーネント例 を参照してください。
主な機能
- AI 駆動開発:
AGENTS.mdはすべての AI ツールが共有するプロジェクトコンテキストで、Claude Code と Codex CLI にはプロジェクトのスキルも用意され、Cursor、GitHub Copilot、Windsurf はAGENTS.mdを直接読み込み、MCP クライアントは同梱の MCP Server から接続します。詳しくは AI 駆動開発 を参照してください。 - コード骨格の生成:
pnpm scaffoldでテーブル定義、バックエンドの 4 層ファイル、フロントエンドのページと API、API テスト、モジュールの OpenAPI エントリーを一度に生成し、登録とマイグレーション生成も自動で行います。 - 検証ゲート:
pnpm verifyが型、レイヤールール、マイグレーションチェーンと DB への反映状況、OpenAPI ドキュメント、ファイルと登録、RBAC シード、フロントエンドのビルド、フロントエンド・バックエンドのテストをチェックします。すべて合格して初めて納品完了です。 - 完全な RBAC:ユーザー、ロール、メニュー、ボタンの 4 段階の権限を備え、メニューツリーは
seed-rbac.tsで一元管理します。詳しくは 権限(RBAC) を参照してください。 - 多言語対応:UI は简体中文、English、日本語に対応しています。中国語の原文がそのまま翻訳キーとなり、スキャンツールとテストによるガードもあります。詳しくは 多言語対応 を参照してください。
- テーマとレイアウト:ライト / ダーク、6 種類のアクセントカラー、3 種類のナビゲーションモード、タブバーとページの状態保持に対応しています。詳しくは テーマとレイアウト を参照してください。
- インポート / エクスポート:一覧ページには CSV / XLSX のインポート / エクスポートが標準で備わり、数式インジェクション対策とバッチ全体のトランザクションロールバックも組み込まれています。
- 定期タスク:データベースのリースに基づくスケジューラーで、複数レプリカでのデプロイに対応し、管理ページも付属しています。
- AI アシスタント:アプリ内のアシスタントが、ドキュメント化された API を通じて質問に答えます。データを変更するときは「許可」をクリックしてから実行し、常にあなた自身の権限で動作します。詳しくは AI アシスタント を参照してください。
- セキュリティと連携:サーバー側のセッション、2 段階認証、メールによるパスワード再設定、実行中に変更できるシステム設定(アカウントセキュリティとシステム設定 を参照)、ほかのシステム向けの API トークンと Webhook(オープン API を参照)。
- Docker デプロイ:
bash scripts/setup.shで設定を生成して PostgreSQL とアプリケーションを起動します。コンテナ起動時にマイグレーションと RBAC 同期が自動で行われます。詳しくは デプロイガイド を参照してください。
ほかのスキャフォールドとの違い
多くの管理画面スキャフォールドが提供するのは「コピーして手を加えるためのコード一式」です。Castor はそれに加えて、次の 2 つを行います。
- 規約を AI 向けに書いている。 レイヤールール、命名、フィールド型の推測表、権限コードのルール、メニュー ID の割り当て、アンチパターン一覧はすべて
AGENTS.mdに書かれています。AI はこれを読んだうえで自ら技術的な判断を下せるため、ルーティングやフィールド型について何度も確認を求めてくることはありません。 - 納品の可否をゲートが判定する。 AI が生成したコードは
pnpm verifyに合格しなければなりません。ゲートは静的チェックだけでなく、マイグレーションが実際にデータベースへ適用されていること、ルートとメニュー権限が登録されていることを確認し、フロントエンドのビルドとフロントエンド・バックエンドのテストも実行します。
これにより、「AI が完了したと言った」ことと「機能が実際に使える」ことの間に、自動で実行できるチェックが挟まります。
