Skip to content

Concepts

Yusuke Abe edited this page Aug 10, 2026 · 3 revisions

Concepts

wip が何を解決するツールで、どういう設計判断をしているかをまとめるページ。README の断片的な説明を一箇所に集約する。

Outline

  • wip とは何か
    • dip ライクなワークフローを WSLC 向けに提供する CLI
    • wslc.exe / wslc へ安全な引数配列として委譲する(シェル展開なし)という設計方針
  • 3つのモードという中心概念
    • mode: container — wip がコンテナを直接管理(デフォルト)
    • mode: compose — サードパーティの compose-for-wslc ツールへ委譲
    • mode: compose-native — wip 自身が compose.yml をパースして wslc を直接操作
    • 「どのモードを使うべきか」の判断表(README の表を転載 + 判断フローチャート化)
  • 用語集
    • primary container / dependencies / sidecar
    • interaction(commands: との別名関係)
    • sync volume, bind mount, shadow context
    • wslcWslcContainerState(invalid/created/running/exited/deleted)
  • アーキテクチャ上の制約・ポリシー
    • 常駐デーモンを持たない(--watch 系はすべて「開いた端末に紐づくフォアグラウンドループ」)
    • 引数はシェル文字列ではなく配列で渡す(インジェクション対策)
    • compose-native は Compose 仕様のサブセットのみ対応し、対象外キーは ConfigError になる
  • 図解候補
    • モード別のアーキテクチャ図(wip → wslc、wip → 外部compose tool → wslc、wip → compose.yml parser → wslc)
    • sync構成図(host source → read-only mount / named volume 経由でコンテナへ)

Clone this wiki locally