メインコンテンツへ

リポジトリ取得と環境構築

リポジトリを取得する

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 前提
JDK25backend (Kotlin 2.3.0 + Spring Boot 4.0.0) のビルド・実行backend/build.gradle.ktssourceCompatibility = JavaVersion.VERSION_25
Go1.25 以上NAS Agent(agent/)と CLI(cli/)のビルドagent/go.modgo 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 を作るところから始めます。