mcpField
P
polar-local-environment

polar-local-environment

github.com/fcakyonクラウド・DevOps1.2k39 回インストール今日更新
リポジトリ

polar-local-environment について

Local Environment Skillは、`dev docker` CLIを使ったPolarのローカル開発環境管理を支援します。共有インフラとworktreeごとのアプリスタックの構成を説明し、インスタンスのポート、ログ、トラブルシューティングを案内します。

主な機能

  1. 01ローカル環境の起動、停止、再起動
  2. 02インスタンスのポートとサービス状態の確認
  3. 03並行するworktreeインスタンスの管理
  4. 04ログ確認、コンテナ接続、コマンド実行
  5. 05アプリスタックと共有インフラの構成説明

活用シーン

  1. 01ローカルサービスの起動や起動障害の調査
  2. 02複数の独立したworktree環境の並行実行
  3. 03サービスの実際のポートやURLの確認
  4. 04個別インスタンスまたは共有データのクリーンアップ

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fcakyon/claude-codex-settings --skill polar-local-environment

インストール後、Claude Code で/polar-local-environmentを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

rules/
manage-instances.md
payment-testing.md
service-architecture.md
shell-and-workflows.md
start-environment.md
stop-environment.md
troubleshooting.md
view-logs.md

詳細

ローカル環境スキル

dev docker CLI を通じて Polar のローカル開発環境の管理を支援します。ローカルスタックの起動、停止、デバッグ、または仕組みの確認に使用します。

2 部構成モデル

dev docker は、複数のワークツリーで大規模なインフラを共有できるよう、スタックを意図的に分割しています。

  • 共有インフラ — マシンごとに 1 つ。Docker プロジェクトは polar-shared: postgres、redis、minio、tinybird、およびオプションの prometheus/grafana。Postgres と redis はホストポートを公開しません。MinIO はブラウザーからのアップロード用に 9000/9001 を公開します。ホストポートのないサービスには dev docker exec <service> ... を使用します。
  • インスタンスごとのアプリスタック — ワークツリーごとに 1 つ。プロジェクトは polar-app-<N>:api、worker、web。ホストポートを公開するのは api と web のみで、インスタンスごとにポート番号がずれるため、ワークツリー同士で競合しません。

これを理解しておくと、最もよくある混乱を避けられます。データベース用の localhost:5432 はありません(データベースは共有スタック内にあり、dev docker exec db ... を通じてアクセスします)。MinIO はブラウザーからのアップロードとコンソールへのアクセス用に 9000/9001 を公開します。

インスタンスの自動検出

dev docker は現在のワークツリーのインスタンスを自動検出するため、-i が必要になることはほとんどありません。優先順位は次のとおりです。

  1. dev/docker/.env.docker で固定された POLAR_DOCKER_INSTANCE(dev docker set-instance N)
  2. ワークツリー間で共有されるレジストリ(~/.config/polar/docker-instances.json)
  3. それ以外の場合は、最も小さい空き番号。その後、登録済みの番号

dev docker ports を実行すると、解決されたインスタンスと URL を確認できます(ツール向けには --json を追加します)。このワークツリーを Claude Code のプレビューに接続するには、dev docker launch-json を実行します。正しいポートを設定したインスタンスごとの .claude/launch.json が書き込まれます(Git の追跡対象外のため、set-instance の後に再生成してください)。

使用する場面

  • ローカル環境の起動/停止/再起動
  • ログの表示、または起動しないサービスのデバッグ
  • 複数の分離されたワークツリーインスタンスの並行実行
  • サービスアーキテクチャの把握、またはサービスの実際のポートの特定
  • コンテナや初回起動時のエラーの診断

クイックリファレンス

タスクコマンド
スタック全体を起動(バックグラウンド)dev docker up -d
起動し、正常な状態になるまで待機dev docker up -d --wait
フォアグラウンドで起動(ログをストリーミング)dev docker up --no-detach
新しいベースイメージを取得して再ビルドdev docker up -b --pull -d
このインスタンスのポート/URLを表示dev docker ports(ツール向けには --json)
Claude Code のプレビュー設定を書き込むdev docker launch-json
アプリスタックを停止dev docker down
アプリと共有インフラを停止dev docker down --all
ログを追跡dev docker logs -f [service]
ログを出力して終了dev docker logs --no-follow [service]
ステータスdev docker ps
サービスを再起動dev docker restart <service>
サービスのシェルに入るdev docker shell <service>
サービス内で単発のコマンドを実行dev docker exec <service> <cmd>
このインスタンスをリセットdev docker cleanup -f
共有データをすべて消去dev docker cleanup --all -f
すべてのインスタンスを一覧表示dev docker list
モニタリングを有効にして起動dev docker up --monitoring -d

サービス

サービスプロジェクトホストポート(インスタンス 0 / N)備考
apipolar-app-<N>8000 / 8100+NFastAPI;/healthz ヘルスチェック
webpolar-app-<N>3000 / 3100+NNext.js;ヘルスチェックあり
workerpolar-app-<N>なしバックグラウンドジョブ
dbpolar-sharedなし(exec)PostgreSQL;DB は polar_dev_<N>
redispolar-sharedなし(exec)Redis の DB インデックス = N
miniopolar-shared9000、9001S3;バケットは polar-s3-<N>;コンソールは 9001
tinybirdpolar-sharedなし(exec)アナリティクス
prometheus / grafanapolar-sharedなし(exec)--monitoring のみ

現在のワークツリーで使われている正確なホストポートを確認するには、dev docker ports を実行します。

インスタンスのポートマッピング

ホストポートが割り当てられるのは api と web のみです。インスタンス 1~99 では、Port = Base + Instance です(api の Base は 8100、web の Base は 3100)。インスタンス 0 では、従来の 8000 / 3000 を使用します。

インスタンスAPIWeb
080003000
181013101
281023102
581053105

それ以外のものはすべてインスタンスごとに分かれますが、ホストポートは割り当てられません。データベースは polar_dev_<N>、Redis の DB インデックスは <N>、バケットは polar-s3-<N> / polar-s3-public-<N> です。dev docker exec <service> または docker exec polar-shared-<service>-1 を使ってアクセスしてください。

ルール一覧

ルールカテゴリ説明
service-architecture参照サービスの詳細、ポート、ヘルスチェック
start-environment運用スタックの起動(フラグ、--wait、--pull)
stop-environment運用停止とクリーンアップ(アプリと共有サービス)
manage-instances運用並行作業用のワークツリーインスタンス
view-logsデバッグサービスログの表示
shell-and-workflows運用シェルへのアクセスと一般的な開発ワークフロー
troubleshootingデバッグよくあるエラーと解決方法
payment-testing運用ログインコード、Stripe の Webhook、バックオフィス

コメント