リポジトリ取得と環境構築
リポジトリを取得する
git clone https://github.com/AstarWorks/AstarManagement.git
cd AstarManagement
Astar Works 社内の開発は /IdeaProjects/AstarManagement に配置する規約です(.claude/ エコシステム — skill・agent 群がここを起点に有効化されます)。社内メンバーはこのパスで clone してください。
前提ツール
このリポジトリは 3 つの言語ランタイムにまたがっています。実際にビルド設定ファイルが要求しているバージョンは次の通りです。
| ツール | バージョン | 何に使うか | 根拠 |
|---|---|---|---|
| Bun | 最新版 | frontend のパッケージマネージャー兼スクリプトランナー(npm/yarn は使いません) | frontend/package.json の全 script は bun run 前提 |
| JDK | 25 | backend (Kotlin 2.3.0 + Spring Boot 4.0.0) のビルド・実行 | backend/build.gradle.kts の sourceCompatibility = JavaVersion.VERSION_25 |
| Go | 1.25 以上 | NAS Agent(agent/)と CLI(cli/)のビルド | agent/go.mod の go 1.25.0 |
| Docker | 最新版 | 共有 dev サービス(PostgreSQL・MinIO・Caddy proxy など)のコンテナ実行 | 下記「共有 dev サービス」参照 |
バージョンを個別にインストールしてもよいですが、Astar Works の開発環境は上記すべて(+ Kotlin/Rust/gcloud CLI など)を揃えた devcontainer (.devcontainer/devcontainer.json) を前提にしているセッションが多く、そちらを使えば個別インストールの手間がありません。
docs-site 自体は別の Nuxt プロジェクトです(このサイトを動かしているコード)。プロダクト本体の frontend/backend とは無関係なので、プロダクトの開発環境構築には出てきません。
共有 dev サービス — 手動で docker compose up しない
PostgreSQL・MinIO・Caddy proxy・Mailpit・GreenMail といった dev 用の周辺サービスは、手動で起動する必要がありません。日々の開発ループ で説明する /wt start や dev-lifecycle skill が、必要になった時点でオンデマンドに docker compose up -d を裏側で実行します。初回起動時にコンテナの pull・DB 初期化(Flyway migration・拡張機能セットアップ)が自動で走ります。
これらのサービスは全 worktree で共有される長期稼働コンテナです(astarmanagement-postgres-dev / astarmanagement-proxy など)。worktree ごとに個別のコンテナが立つわけではなく、DB 名とポート番号の使い分けで分離されています(詳細は 日々の開発ループ の worktree 分離の節)。
docker-compose.selfhost.yml は開発用ではない
リポジトリ直下に docker-compose.selfhost.yml があり、README.md の Quick Start にも登場しますが、これは顧客がセルフホストで Astar 本体を運用するためのバンドルです。postgres / minio / kreuzberg(OCR)/ ndlocr / doc-export / doc-converter / backend / frontend を 1 つの compose ファイルにまとめ、docker compose up -d 一発でプロダクション相当のスタックが立ち上がる構成になっています。
これは開発者の日々のループでは使いません。理由は単純で、コンテナ化された backend/frontend はコード変更のたびにイメージを作り直す必要があり、開発向きではないためです。開発では backend/frontend をホスト側で直接実行し(/wt + dev-lifecycle skill 経由)、周辺サービスだけを上記の共有 dev コンテナで賄います。
セルフホストデプロイの手順そのものは インフラとデプロイ セクションを参照してください。
最初の一歩
環境構築が終わったら、次は 日々の開発ループ で /wt start <name> を使って最初の worktree を作るところから始めます。