このプロジェクトについて
Wasp(Web Application Specification)は、React・Node.js・Prismaを使ってWebアプリを構築するためのRails風フルスタックフレームワークです。フロントエンド、バックエンド、データベース層、デプロイ設定を手作業で結び付ける代わりに、宣言的なスペックファイル(main.wasp.ts)でアプリの大まかな構造を記述すると、Waspコンパイラが対象スタック向けのアプリケーションの完全なソースコードを生成します。
READMEの主な要点:
- 宣言的スペック:単一のスペックファイルに、アプリ名、タイトル、認証設定、ルート、ページ、クエリを宣言します。独自のReact・Node.jsコードは通常の.ts/.tsxファイルに置き、スペックから参照します。
- バッテリー同梱:認証(メール、Google、その他の方法)、クライアントとサーバー間のRPC、バックグラウンドジョブ、メール送信、エンドツーエンドの型安全性など、フルスタック機能が組み込まれています。データベースモデリングにはPrismaスキーマを使用します。
- ロックインなし:生成されたコードは.wasp/ディレクトリに置かれ、検査できます。アプリは任意のプロバイダーにデプロイできます。
- 単一コマンドでのデプロイ:READMEでは、1つのCLIコマンドで本番対応アプリをデプロイできると宣伝しています。
- AI指向の設計:このプロジェクトは、高レベルのスペック、意見のある構造、統合されたスタックが、AIコーディングエージェントに明確なガードレールとより少ないボイラープレートを提供するものと位置付けています。CursorやClaude Codeなどのツール向けの公式AIエージェントプラグインが提供されています。
はじめ方:macOS、Linux、WSLでnpmを使ってCLIをグローバルインストールし(npm i -g @wasp.sh/wasp-cli@latest)、クイックスタートドキュメントに従います。リポジトリにはTodoAppチュートリアル例が用意されています。
プロジェクトの状況:Waspはベータ版とされており、ほとんどの機能が開発・動作していますが、今後も変更と改善が計画されています。現在の焦点は単一スタック(TanStack Queryを利用したReact、Express.jsを利用したNode.js、Prisma)ですが、より広範なスタックのサポートは長期的な目標です。貢献は歓迎されており、小さな修正はプルリクエストとして直接受け付けられ、大きな変更はまずGitHubのIssueやDiscordで議論されます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.