
TanStarter
TanStarter · コーディング
TanStarter は TanStack Start と Cloudflare Workers 上に構築されたフルスタック SaaS ボイラープレートだ。この TanStack Start ボイラープレートには、認証、Stripe 課金、データベース層、ファイルストレージ、ブログ、トランザクションメール、AI フックが最初からつながった状態で入っている。面倒な部分を済ませておきたい人にとって、そのまま使える React フルスタックスターターになる。ライブラリを寄せ集めて動くアプリにするまで何週間も費やす代わりに、リポジトリを1つクローンし、環境変数を設定して、すぐ開発に入れる。Stripe 課金スターターとしての要件も満たすため、決済の道筋を自分で描く必要はない。対象は個人開発者と小規模チーム。すべて Cloudflare のエッジネットワーク上で動く。レイテンシは低く保たれ、ホスティング費用も読みやすい。

TanStarter について
TanStarter とは
TanStarter は、フルスタック React アプリケーションを作るための本番向けボイラープレートだ。ルーティングとサーバー関数に TanStack Start、コンピューティングに Cloudflare Workers、リレーショナルデータベースに D1、オブジェクトストレージに R2、決済に Stripe をまとめている。共通のプロバイダーインターフェースを通じて、Creem と Waffo も代替の決済プロバイダーとして対応する。
狙いは単純だ。どの SaaS も同じ土台を必要とする。それを一から作り直すのは無駄な労力でしかない。TanStarter はその土台を、借り物のブラックボックスサービスではなく、自分が所有する編集可能なコードとして渡す。決済はサブスクリプション、買い切りのライフタイム購入、無料トライアルをカバーする。ならば、動く土台から始めればいい。ユーザーは Stripe カスタマーポータルで請求を管理する。メール、ニュースレター、通知の各モジュールも同じプロバイダーパターンに従うため、ベンダーを差し替えるときはアプリを書き直すのではなく、1つのインターフェースを実装すれば済む。
はじめかた
- マシンに Git、Node.js 18+、pnpm をインストールする。
- リポジトリをクローンし、
.env.exampleを.envにコピーする。 pnpm installで依存関係を取得し、pnpm devでローカルサーバーをhttp://localhost:3000で起動する。wrangler.jsoncでプロジェクト名、カスタムドメイン、D1/R2 のバインディングを設定する。pnpm wrangler secret bulk .env.productionでシークレットを送信し、pnpm run deployでデプロイする。
AIツール情報
TanStarterの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- バックエンドチームなしで有料プロダクトを作る個人創業者
- 繰り返しのセットアップ作業を省きたい小規模なエンジニアリングチーム
- Next.js から TanStack Start に移る React 開発者
- 小さな SaaS プロジェクトを複数立ち上げるインディーハッカー
タスク
- サブスクリプション型または買い切り型の Web アプリを立ち上げる
- 既存のアイデアに認証、課金、ファイルアップロードを加える
- Cloudflare Workers AI や Fal.ai で AI 機能を試作する
- アプリと並べてコンテンツブログを立ち上げる
シーン
- インフラを組まずに週末で SaaS のアイデアを検証する
- 個人プロジェクトを重いフレームワークから軽いスタックへ移行する
- ログインと決済が必要な社内ツールを作る
- 有料ホスティングに踏み切る前に Cloudflare の無料プランを試す
主な機能
TanStack Start の基盤
テンプレートは TanStack Start 上で動く。ファイルベースのルーティング、サーバー関数、データ読み込みを1つのフレームワークで処理する。サーバールートとクライアントルートが同居するため、2つの思考モデルを使い分ける必要はない。React と TypeScript を知っていれば、学習の負担は小さい。
Cloudflare Workers でのホスティング
すべて Cloudflare のエッジネットワークにデプロイする。Workers はユーザーの近くで動き、無料プランでも非圧縮の Worker バンドルを最大 64 MiB まで許容する。これは一般的なアプリには十分すぎる余裕だ。D1 がリレーショナルデータを、R2 がファイルストレージを担い、どちらのバインディングも wrangler.jsonc で宣言する。この組み合わせにより、最初のバージョンを公開するためだけに別のデータベースサーバーやオブジェクトストレージを用意する必要はない。
複数プロバイダーの決済
既定は Stripe だが、決済モジュールはプロバイダーインターフェースの背後にあるため、Creem と Waffo も使える。月次と年次のサブスクリプション、買い切りのライフタイム決済、無料トライアルが揃う。請求管理は Stripe カスタマーポータルで行い、WeChat Pay と Alipay は Stripe の設定で有効にすれば利用できる。
組み込みの AI フック
Cloudflare Workers AI と Fal.ai が、最初から入っている AI 機能を支える。要約や生成といった機能を、別のベンダーアカウントを開かずに追加できる。AI 層は任意なので、プロダクトに不要なら切っておける。
認証、メール、通知
ユーザーアカウントとセッションは設定済みだ。メール、ニュースレター、通知の各モジュールは決済と同じプロバイダーパターンを共有するため、サービスを差し替える手段が一貫する。登録、領収書、パスワード再設定のためのトランザクションメールは初日から動く。
ブログとコンテンツシステム
タイトル、説明、日付、カテゴリ、画像のフロントマターを付けた Markdown ファイルを content/blog/ に置くと、ブログページに自動で表示される。別途 CMS を足さずに、SEO 用のコンテンツ経路を確保できる。
分析ツールの連携
Google Analytics、Umami、Plausible、Microsoft Clarity に対応し、任意の組み合わせで動かせる。環境変数を設定すれば本番で有効になる。独自のトラッキングコードは不要だ。
テンプレートの更新
テンプレートリポジトリを Git のリモートとして追加し、フェッチしてマージすれば、上流の改善を取り込める。競合を解消したら pnpm install を実行し、新しいマイグレーションを適用してテストする。手元のコピーを最新に保つ作業は、移行プロジェクトではなく日常的なマージにとどまる。
メリットとデメリット
メリット
- 認証、課金、ストレージ、メールがつながった状態で入るため、プロダクトコードから始められる
- Cloudflare のエッジで動くため、ホスティング費用を低く読みやすく保てる
- 決済、メール、通知の各モジュールを1つのプロバイダーインターフェースで差し替えられる
- コードは自分のもので、アプリ自体にベンダーロックインはない
- Cloudflare の無料プランで本物のアプリをデプロイできる
デメリット
- i18n は組み込まれていない。ビルド時のメッセージモジュールで英語と中国語が使え、残りは自分でつなぐ
- TanStack Start と Cloudflare のスタックに固定されるため、Next.js や AWS を使うチームには合わない
- TypeScript、Git、コマンドラインでのデプロイ手順に慣れている必要がある
- アプリにかかるホスティング費と決済手数料とは別に、テンプレート代を一度払う
よくある質問
Git、Node.js 18 以上、pnpm の3つだ。リポジトリをクローンし、.env.example を .env にコピーして、pnpm install を実行し、次に pnpm dev を実行する。アプリは http://localhost:3000 で起動する。
関連コンテンツ
TanStarterに関連するツール、スキル、記事を探す。
TanStarterの代替ツール
Base Code
Base44 (Wix) · コーディング · 生産性向上Base CodeはBase44の共有クラウド開発環境だ。既存のGitHubリポジトリに対する変更をチャットで伝え、プレビューで確認し、プルリクエストとして返せる。
Google EmbeddingGemma 2
Google DeepMind · ライティング · 画像 · コーディングGoogle EmbeddingGemma 2 は 7 億 4000 万パラメータのオープンなモデルで、テキスト、コード、画像、音声、動画フレームを同じ 768 次元空間のベクトルに変え、スマートフォンやノート PC 上で動く。
GitGlow
GitGlow · コーディング · 生産性向上GitGlow は自分のコードと AI エージェントの変更を一つのレビューにまとめるデスクトップ Git クライアントだ。出荷前に、マシンから何が出ていくのかを確かめられる。
