Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ python3 .github/scripts/proper_term_check.py # 固有の語の検査
| `containers/base/entrypoint.sh` などイメージに入るファイルを変えた | `devbase up` だけでは反映されない | base を建て直してから確かめる |
| base を建てて比べる | base は 1 本で数 GB ある。並べて残すとディスクが埋まり Docker が止まる | 建てる前に `docker system df` を見る。作業用のタグは記録を書いたら消す |
| イメージの大きさを受け入れ条件に書く | `docker images` の `.Size` は、containerd のイメージストア(Docker Desktop)では圧縮後、classic のストアでは展開後に近い値を出す。同じ条件が端末で二通りに読める(#402 は 611MB と 1.29GB に分かれた) | 用語集の「展開後の大きさ」(`du -sbx /`)で書き、測った端末とストアを記録に残す |
| ビルドの前後でイメージが変わっていないことを確かめる | containerd のイメージストア(Docker Desktop)では、キャッシュだけで建っても `docker images` の ID が変わることがある(m7e のリリース後テストで `devbase-base:latest` が c6b3549b950d → 7c621a66378d、作成時刻は同じ)。「ID は変わらない」と先に書いて直した。前の ID は手元から消え、比べ直せなかった | 建てる前に `docker image inspect` の `Id` と `Created` を控える。変わっていないことは `Created` で示し、ID が変わったら変わったと書く |
| 通常の経路(`build`・`up` など)に `docker compose` の呼び出しを足す | 足した呼び出しが元の経路より多くの前提を持つと、これまで通っていた利用者の環境で止まる(#415 の `docker compose config` はサービスの `env_file` を読み、`.env` をまだ作っていない初回のビルドで失敗する形だった。直しに使った `--no-env-resolution` は Compose v2.35 より前では未知のオプション。どちらも設計を通り、スプリント m7e の cross-review で major になった) | 設計で、足す呼び出しが読むファイルと要る Compose の版を、元の経路と並べて書く。版で入ったオプションは、退けられたときの扱いを決める |
| base から道具を外す前に、使う者を探す | `repos/*/` のプラグインだけを探すと、プロジェクトのコード(`projects/*/repo`)の `.mcp.json`・`package.json` が `npx` などで実行時に使う道具を見落とす(#401 で `chrome-devtools-mcp`・`@playwright/mcp` を承認ゲートで人が見つけた) | `projects/*/repo` も探す範囲に入れ、探した場所と探していない場所を要求に書く |
| 非対話のセッション(`claude -p` の担当)で base を建てる | macOS の Docker Desktop がキーチェーンを開けず、`ubuntu` などの取得が `error getting credentials` で止まる(#400 の担当は建てられないまま PR を出した) | 担当は建てられなかったことを「判断が要る」で返す。建てる確認は対話できるセッションか、取得済みのイメージを `docker load` してから行う |
| 「base の無い端末」での `devbase build` を確かめる | 手元の `devbase-base:latest` などを消すと利用者の環境を壊す。base を実際に建てると取得がキーチェーンで止まり得る(上の行) | 端末に無い作業用の名前で、最下段を `FROM scratch` にした同じ形の連なり(`containers/<作業用>/`・`projects/<作業用>/`)を `git archive` で展開した一時の root に組み、`env -u DEVBASE_ROOT` で建てる。たどり方は名前に依らない。実の名前での確認は base の無い端末で利用者に頼む(#404 のリリース後テスト、#421 のコメント) |
Expand Down
Loading