開発セットアップ
開発のためにソースから ChatWalaʻau を実行します。
必要要件
| ツール | バージョン | 入手 |
|---|---|---|
| Node.js | 20.19+ / 22.12+ | nodejs.org |
| pnpm | 10+ | npm install -g pnpm |
| Python | 3.12+ | python.org |
| uv | 0.9+ | docs.astral.sh/uv |
| Azure CLI | 2.x | Azure CLI のインストール |
1. バックエンド
Windows(PowerShell):
cd backend
copy .env.sample .env
notepad .env # Azure OpenAI エンドポイントを設定
uv sync --prerelease=allow
macOS / Linux:
cd backend
cp .env.sample .env
nano .env # Azure OpenAI エンドポイントを設定
uv sync --prerelease=allow
必須の .env:
AZURE_OPENAI_ENDPOINT=https://<your-resource>.openai.azure.com/
AZURE_OPENAI_MODELS=gpt-4o
認証レーンは 設定 -> Azure 認証を参照。
2. フロントエンド
cd frontend
pnpm install
3. 開発サーバを起動
端末を 2 つ開きます:
# 端末 1 -- バックエンド http://localhost:8000
cd backend
uv run uvicorn app.main:app --reload --app-dir src
# 端末 2 -- フロントエンド http://localhost:5173(API はバックエンドへプロキシ)
cd frontend
pnpm dev
4. 本番ビルド
cd frontend
pnpm build
cd ../backend
uv run uvicorn app.main:app --app-dir src
バックエンドがフロントエンドのビルドと API の両方を http://localhost:8000 で配信します。
技術スタック
| レイヤ | 技術 | 目的 |
|---|---|---|
| フロント | React 19 + TypeScript + Vite | UI フレームワーク |
| フロント | Tailwind CSS + shadcn/ui | スタイリング + コンポーネント |
| フロント | Biome | フォーマット + Lint |
| バック | FastAPI + Python 3.12+ | API サーバ |
| バック | Microsoft Agent Framework | エージェント実行 + ツール制御 |
| バック | Ruff | フォーマット + Lint |
| パッケージ | uv | Python 依存管理 |
| パッケージ | pnpm | Node.js 依存管理 |