[{"data":1,"prerenderedAt":599},["ShallowReactive",2],{"navigation":3,"doc-/getting-started/repo-setup":217,"docs-all-paths":544},[4,19,39,63,87,111,127,195,211],{"title":5,"path":6,"stem":7,"children":8},"Welcome","/welcome","01.welcome",[9,11,15],{"title":5,"path":6,"stem":10},"01.welcome/index",{"title":12,"path":13,"stem":14},"Astar とは（5分）","/welcome/product-in-5-min","01.welcome/01.product-in-5-min",{"title":16,"path":17,"stem":18},"事業文脈","/welcome/business-context","01.welcome/02.business-context",{"title":20,"path":21,"stem":22,"children":23},"Getting Started","/getting-started","02.getting-started",[24,27,31,35],{"title":25,"path":21,"stem":26},"はじめかた","02.getting-started/index",{"title":28,"path":29,"stem":30},"リポジトリ取得と環境構築","/getting-started/repo-setup","02.getting-started/01.repo-setup",{"title":32,"path":33,"stem":34},"日々の開発ループ","/getting-started/dev-loop","02.getting-started/02.dev-loop",{"title":36,"path":37,"stem":38},"検証の 4 層","/getting-started/verification-tiers","02.getting-started/03.verification-tiers",{"title":40,"path":41,"stem":42,"children":43},"Architecture","/architecture","03.architecture",[44,47,51,55,59],{"title":45,"path":41,"stem":46},"アーキテクチャ","03.architecture/index",{"title":48,"path":49,"stem":50},"マルチテナンシーと RLS","/architecture/multi-tenancy-rls","03.architecture/01.multi-tenancy-rls",{"title":52,"path":53,"stem":54},"認可モデル","/architecture/authorization","03.architecture/02.authorization",{"title":56,"path":57,"stem":58},"AI サブシステム","/architecture/ai-subsystem","03.architecture/03.ai-subsystem",{"title":60,"path":61,"stem":62},"データモデル","/architecture/data-model","03.architecture/04.data-model",{"title":64,"path":65,"stem":66,"children":67},"Backend","/backend","04.backend",[68,71,75,79,83],{"title":69,"path":65,"stem":70},"バックエンド","04.backend/index",{"title":72,"path":73,"stem":74},"層構造","/backend/layering","04.backend/01.layering",{"title":76,"path":77,"stem":78},"規約","/backend/conventions","04.backend/02.conventions",{"title":80,"path":81,"stem":82},"テスト","/backend/testing","04.backend/03.testing",{"title":84,"path":85,"stem":86},"マイグレーション","/backend/migrations","04.backend/04.migrations",{"title":88,"path":89,"stem":90,"children":91},"Frontend","/frontend","05.frontend",[92,95,99,103,107],{"title":93,"path":89,"stem":94},"フロントエンド","05.frontend/index",{"title":96,"path":97,"stem":98},"モジュール内部構造","/frontend/module-anatomy","05.frontend/01.module-anatomy",{"title":100,"path":101,"stem":102},"API アクセスの一本道","/frontend/api-access-chain","05.frontend/02.api-access-chain",{"title":104,"path":105,"stem":106},"i18n","/frontend/i18n","05.frontend/03.i18n",{"title":108,"path":109,"stem":110},"デザインシステム","/frontend/design-system","05.frontend/04.design-system",{"title":112,"path":113,"stem":114,"children":115},"Go Agent And Cli","/go-agent-and-cli","06.go-agent-and-cli",[116,119,123],{"title":117,"path":113,"stem":118},"Go agent と CLI","06.go-agent-and-cli/index",{"title":120,"path":121,"stem":122},"Go agent","/go-agent-and-cli/go-agent","06.go-agent-and-cli/01.go-agent",{"title":124,"path":125,"stem":126},"CLI","/go-agent-and-cli/cli","06.go-agent-and-cli/02.cli",{"title":128,"path":129,"stem":130,"children":131},"Modules","/modules","07.modules",[132,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191],{"title":133,"path":129,"stem":134},"モジュール","07.modules/index",{"title":136,"path":137,"stem":138},"テーブル","/modules/table","07.modules/01.table",{"title":140,"path":141,"stem":142},"ドキュメントツリー","/modules/document","07.modules/02.document",{"title":144,"path":145,"stem":146},"AIチャット","/modules/ai","07.modules/03.ai",{"title":148,"path":149,"stem":150},"認証・権限","/modules/auth","07.modules/04.auth",{"title":152,"path":153,"stem":154},"AI取込","/modules/organize","07.modules/05.organize",{"title":156,"path":157,"stem":158},"ストレージ","/modules/storage","07.modules/06.storage",{"title":160,"path":161,"stem":162},"NAS同期","/modules/sync","07.modules/07.sync",{"title":164,"path":165,"stem":166},"ワークスペース","/modules/workspace","07.modules/08.workspace",{"title":168,"path":169,"stem":170},"テナントとメンバーシップ","/modules/tenant-membership","07.modules/09.tenant-membership",{"title":172,"path":173,"stem":174},"検索","/modules/search","07.modules/10.search",{"title":176,"path":177,"stem":178},"表示ビュー","/modules/display","07.modules/11.display",{"title":180,"path":181,"stem":182},"テンプレート","/modules/template","07.modules/12.template",{"title":184,"path":185,"stem":186},"メール","/modules/mail","07.modules/13.mail",{"title":188,"path":189,"stem":190},"電話","/modules/phone","07.modules/14.phone",{"title":192,"path":193,"stem":194},"リアルタイム","/modules/realtime","07.modules/15.realtime",{"title":196,"path":197,"stem":198,"children":199},"Infra And Deploy","/infra-and-deploy","08.infra-and-deploy",[200,203,207],{"title":201,"path":197,"stem":202},"インフラとデプロイ","08.infra-and-deploy/index",{"title":204,"path":205,"stem":206},"環境の種類","/infra-and-deploy/environments","08.infra-and-deploy/01.environments",{"title":208,"path":209,"stem":210},"セルフホスト構成","/infra-and-deploy/self-host","08.infra-and-deploy/02.self-host",{"title":212,"path":213,"stem":214,"children":215},"docs-map","/docs-map","09.docs-map/index",[216],{"title":212,"path":213,"stem":214},{"id":218,"title":28,"body":219,"description":538,"extension":539,"meta":540,"navigation":541,"path":29,"seo":542,"stem":30,"__hash__":543},"docs/02.getting-started/01.repo-setup.md",{"type":220,"value":221,"toc":529},"minimark",[222,225,229,265,277,280,283,390,397,407,415,435,449,456,499,506,512,515,525],[223,224,28],"h1",{"id":28},[226,227,228],"h2",{"id":228},"リポジトリを取得する",[230,231,236],"pre",{"className":232,"code":233,"language":234,"meta":235,"style":235},"language-bash shiki shiki-themes github-light github-dark","git clone https://github.com/AstarWorks/AstarManagement.git\ncd AstarManagement\n","bash","",[237,238,239,255],"code",{"__ignoreMap":235},[240,241,244,248,252],"span",{"class":242,"line":243},"line",1,[240,245,247],{"class":246},"sScJk","git",[240,249,251],{"class":250},"sZZnC"," clone",[240,253,254],{"class":250}," https://github.com/AstarWorks/AstarManagement.git\n",[240,256,258,262],{"class":242,"line":257},2,[240,259,261],{"class":260},"sj4cs","cd",[240,263,264],{"class":250}," AstarManagement\n",[266,267,268,269,272,273,276],"p",{},"Astar Works 社内の開発は ",[237,270,271],{},"/IdeaProjects/AstarManagement"," に配置する規約です（",[237,274,275],{},".claude/"," エコシステム — skill・agent 群がここを起点に有効化されます）。社内メンバーはこのパスで clone してください。",[226,278,279],{"id":279},"前提ツール",[266,281,282],{},"このリポジトリは 3 つの言語ランタイムにまたがっています。実際にビルド設定ファイルが要求しているバージョンは次の通りです。",[284,285,286,305],"table",{},[287,288,289],"thead",{},[290,291,292,296,299,302],"tr",{},[293,294,295],"th",{},"ツール",[293,297,298],{},"バージョン",[293,300,301],{},"何に使うか",[293,303,304],{},"根拠",[306,307,308,330,350,377],"tbody",{},[290,309,310,314,317,320],{},[311,312,313],"td",{},"Bun",[311,315,316],{},"最新版",[311,318,319],{},"frontend のパッケージマネージャー兼スクリプトランナー（npm/yarn は使いません）",[311,321,322,325,326,329],{},[237,323,324],{},"frontend/package.json"," の全 script は ",[237,327,328],{},"bun run"," 前提",[290,331,332,335,338,341],{},[311,333,334],{},"JDK",[311,336,337],{},"25",[311,339,340],{},"backend (Kotlin 2.3.0 + Spring Boot 4.0.0) のビルド・実行",[311,342,343,346,347],{},[237,344,345],{},"backend/build.gradle.kts"," の ",[237,348,349],{},"sourceCompatibility = JavaVersion.VERSION_25",[290,351,352,355,358,369],{},[311,353,354],{},"Go",[311,356,357],{},"1.25 以上",[311,359,360,361,364,365,368],{},"NAS Agent（",[237,362,363],{},"agent/","）と CLI（",[237,366,367],{},"cli/","）のビルド",[311,370,371,346,374],{},[237,372,373],{},"agent/go.mod",[237,375,376],{},"go 1.25.0",[290,378,379,382,384,387],{},[311,380,381],{},"Docker",[311,383,316],{},[311,385,386],{},"共有 dev サービス（PostgreSQL・MinIO・Caddy proxy など）のコンテナ実行",[311,388,389],{},"下記「共有 dev サービス」参照",[266,391,392,393,396],{},"バージョンを個別にインストールしてもよいですが、Astar Works の開発環境は上記すべて（+ Kotlin/Rust/gcloud CLI など）を揃えた devcontainer (",[237,394,395],{},".devcontainer/devcontainer.json",") を前提にしているセッションが多く、そちらを使えば個別インストールの手間がありません。",[398,399,401],"callout",{"type":400},"warning",[266,402,403,406],{},[237,404,405],{},"docs-site"," 自体は別の Nuxt プロジェクトです（このサイトを動かしているコード）。プロダクト本体の frontend/backend とは無関係なので、プロダクトの開発環境構築には出てきません。",[226,408,410,411,414],{"id":409},"共有-dev-サービス-手動で-docker-compose-up-しない","共有 dev サービス — 手動で ",[237,412,413],{},"docker compose up"," しない",[266,416,417,418,422,423,426,427,430,431,434],{},"PostgreSQL・MinIO・Caddy proxy・Mailpit・GreenMail といった dev 用の周辺サービスは、",[419,420,421],"strong",{},"手動で起動する必要がありません","。",[424,425,32],"a",{"href":33}," で説明する ",[237,428,429],{},"/wt start"," や dev-lifecycle skill が、必要になった時点でオンデマンドに ",[237,432,433],{},"docker compose up -d"," を裏側で実行します。初回起動時にコンテナの pull・DB 初期化（Flyway migration・拡張機能セットアップ）が自動で走ります。",[266,436,437,438,441,442,445,446,448],{},"これらのサービスは全 worktree で共有される長期稼働コンテナです（",[237,439,440],{},"astarmanagement-postgres-dev"," / ",[237,443,444],{},"astarmanagement-proxy"," など）。worktree ごとに個別のコンテナが立つわけではなく、DB 名とポート番号の使い分けで分離されています（詳細は ",[424,447,32],{"href":33}," の worktree 分離の節）。",[226,450,452,455],{"id":451},"docker-composeselfhostyml-は開発用ではない",[237,453,454],{},"docker-compose.selfhost.yml"," は開発用ではない",[266,457,458,459,461,462,465,466,469,470,441,473,441,476,479,480,441,483,441,486,441,489,441,492,495,496,498],{},"リポジトリ直下に ",[237,460,454],{}," があり、",[237,463,464],{},"README.md"," の Quick Start にも登場しますが、これは",[419,467,468],{},"顧客がセルフホストで Astar 本体を運用するためのバンドル","です。",[237,471,472],{},"postgres",[237,474,475],{},"minio",[237,477,478],{},"kreuzberg","（OCR）/ ",[237,481,482],{},"ndlocr",[237,484,485],{},"doc-export",[237,487,488],{},"doc-converter",[237,490,491],{},"backend",[237,493,494],{},"frontend"," を 1 つの compose ファイルにまとめ、",[237,497,433],{}," 一発でプロダクション相当のスタックが立ち上がる構成になっています。",[266,500,501,502,505],{},"これは開発者の日々のループでは使いません。理由は単純で、コンテナ化された backend/frontend はコード変更のたびにイメージを作り直す必要があり、開発向きではないためです。開発では backend/frontend をホスト側で直接実行し（",[237,503,504],{},"/wt"," + dev-lifecycle skill 経由）、周辺サービスだけを上記の共有 dev コンテナで賄います。",[266,507,508,509,511],{},"セルフホストデプロイの手順そのものは ",[424,510,201],{"href":197}," セクションを参照してください。",[226,513,514],{"id":514},"最初の一歩",[266,516,517,518,520,521,524],{},"環境構築が終わったら、次は ",[424,519,32],{"href":33}," で ",[237,522,523],{},"/wt start \u003Cname>"," を使って最初の worktree を作るところから始めます。",[526,527,528],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":235,"searchDepth":257,"depth":257,"links":530},[531,532,533,535,537],{"id":228,"depth":257,"text":228},{"id":279,"depth":257,"text":279},{"id":409,"depth":257,"text":534},"共有 dev サービス — 手動で docker compose up しない",{"id":451,"depth":257,"text":536},"docker-compose.selfhost.yml は開発用ではない",{"id":514,"depth":257,"text":514},"git clone の後に何を入れるか。前提ツールの実バージョンと、docker-compose.selfhost.yml を日々の開発では使わない理由。","md",{},{"title":28},{"title":28,"description":538},"tWIdpFjIjUEiGQeDwsThas30lGlwZaWIF9RIQQjGoBA",[545,547,548,550,551,552,553,554,555,556,557,558,560,561,562,563,564,566,567,568,569,570,572,574,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,594,595,596,597],{"path":13,"title":546},"Astar とは何か（5分で）",{"path":17,"title":16},{"path":6,"title":549},"ようこそ",{"path":29,"title":28},{"path":33,"title":32},{"path":37,"title":36},{"path":21,"title":25},{"path":49,"title":48},{"path":53,"title":52},{"path":57,"title":56},{"path":61,"title":60},{"path":41,"title":559},"システムアーキテクチャ",{"path":73,"title":72},{"path":77,"title":76},{"path":81,"title":80},{"path":85,"title":84},{"path":65,"title":565},"バックエンドガイド",{"path":97,"title":96},{"path":101,"title":100},{"path":105,"title":104},{"path":109,"title":108},{"path":89,"title":571},"フロントエンドガイド",{"path":121,"title":573},"Go agent — NAS 同期エージェント",{"path":125,"title":575},"astar CLI",{"path":113,"title":117},{"path":137,"title":136},{"path":141,"title":140},{"path":145,"title":144},{"path":149,"title":148},{"path":153,"title":152},{"path":157,"title":156},{"path":161,"title":160},{"path":165,"title":164},{"path":169,"title":168},{"path":173,"title":172},{"path":177,"title":176},{"path":181,"title":180},{"path":185,"title":184},{"path":189,"title":188},{"path":193,"title":192},{"path":129,"title":593},"モジュール索引",{"path":205,"title":204},{"path":209,"title":208},{"path":197,"title":201},{"path":213,"title":598},"docs/ 地図",1785452454153]