ローカル開発
このページでは swallowkit dev コマンド、ローカルシードデータ管理、バックエンド別のセットアップを説明します。
開発サーバーの起動
npx swallowkit devpnpm swallowkit dev2 つのサーバーが起動します:
- Next.js: http://localhost:3000
- Azure Functions: http://localhost:7071
オプション
| フラグ | 説明 |
|---|---|
-p, --port <port> | Next.js サーバーポート |
-f, --functions-port <port> | Azure Functions ポート |
--host <host> | サーバーホスト名 |
--seed-env <name> | 起動前にシードデータを適用 |
-o, --open | ブラウザを自動で開く |
-v, --verbose | 詳細ログ出力 |
--no-functions | Azure Functions の起動をスキップ |
--mock-connectors | モックコネクタサーバーを使用 |
バックエンド別の動作
TypeScript
追加セットアップ不要。func start ですぐに起動します。
Python
swallowkit dev はローカルの Python 環境管理に uv を使います:
.uv/binにプロジェクトローカルのuvバイナリを導入または再利用.uv/pythonに uv 管理の Python を保持functions/.venvを Functions アプリ用に作成functions/.codegen-venvをスキーマ生成用に作成(scaffoldが使用)
Python のインストールや virtualenv の手動作成は不要です。
C#
Azure Functions isolated worker(.NET 10)はホスト応答前にビルドが必要です。swallowkit dev は Functions ホストが応答可能になるまで最大 90 秒待機してから URL を表示します。
.NET 10 SDK と Azure Functions Core Tools 4.6.0 以上が必要です。
Dev seeds
Dev seeds を使うと、サーバー起動前にローカルの Cosmos DB Emulator に既知のデータを投入できます。
シードテンプレートの作成
npx swallowkit create-dev-seeds localpnpm swallowkit create-dev-seeds localdev-seeds/local/ にモデルごとの JSON ファイルが生成されます:
dev-seeds/
local/
todo.json
category.json各ファイルは shared/models/ のスキーマに対応します。テストデータを記述します:
[
{
"id": "seed-todo-001",
"text": "最初の todo",
"completed": false,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
]各ドキュメントには id フィールドが必須です。
現在の Emulator データをエクスポート
npx swallowkit create-dev-seeds local --from-emulator --forcepnpm swallowkit create-dev-seeds local --from-emulator --force現在の Cosmos DB Emulator のコンテナデータをシードファイルにエクスポートします。_etag などのシステムプロパティは自動的に除去されます。
起動時にシードを適用
npx swallowkit dev --seed-env localpnpm swallowkit dev --seed-env localdev-seeds/local/ の JSON ドキュメントで、対応するコンテナのデータを置き換えます。対応するファイルがないコンテナはそのまま残ります。
--seed-env を省略すると、既存の Emulator データは保持されます。
ユースケース
- デモや障害再現のために既知の状態を再現する
- 手動テスト中に登録した現実的なデータを保存する
- 検証前に Emulator を一貫した状態にリセットする
- リポジトリ経由でチームメンバーとテストデータを共有する
モックコネクタ
外部データコネクタ(MySQL、PostgreSQL、REST API)を使うモデルでは、実際の外部サービスなしでローカル開発できます:
npx swallowkit dev --mock-connectorspnpm swallowkit dev --mock-connectorsポート 7072 にモックプロキシサーバーが起動し:
- コネクタモデルのルートへのリクエストをインターセプト
- Zod スキーマから生成されたリアルな偽データを返却
- 標準的な Cosmos DB モデルのリクエストはポート 7071 の実 Functions ランタイムにプロキシ
フロントエンドと BFF レイヤーは、実データかモックデータかに関係なく同一の動作をします。
次のステップ
- Scaffold ガイド — CRUD 生成とモデル設定
- Azure へのデプロイ — ローカルからクラウドへ
- 外部コネクタ — MySQL、PostgreSQL、REST API への接続
