feat: PLAN32-docs ドキュメントと CHANGELOG - #108
Conversation
PLAN32 Task 5。複数リポジトリ構成と project.yml への移行に合わせて利用者向け ドキュメントを更新した。 - docs/user/project-yml.md を新設: スキーマ、複数リポジトリの例、検証される 内容、env との使い分け、旧 env からの移行表、コンテナへの渡り方 - 環境変数ガイド / コンテナ操作ガイド / CLI リファレンス / プラグイン開発の 各所から旧キー (GIT_USER / GIT_REPO / WORK_DIR / CONTAINER_SCALE) の説明を 外し、project.yml とその参照へ置き換え - CLI リファレンスに devbase project migrate-config を追記 - アーキテクチャ解説に project/ モジュールの節を追加 - CHANGELOG に破壊的変更と再ビルドの注意を追記 過去リリース分の CHANGELOG 記述は履歴なので書き換えていない。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
41c446a to
1b5f45d
Compare
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | codex | REQUEST_CHANGES
移行コマンドの案内を、この PR のベースで実行可能な内容に揃える必要があります。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | gemini | REQUEST_CHANGES
[major / 整合性]
ドキュメントと実装に乖離があります。
CHANGELOG や docs/ には devbase project migrate-config コマンドの追加や、devbase up / devbase project scale が project.yml を読み書きする旨が記載されていますが、本 PR の差分にはそれらの実装(Task 2, Task 4)が含まれていません。
未実装の機能をドキュメント化すると利用者を混乱させるため、issues/PLAN32_multi-repo-project.md の「PR 分割計画」の通り、不足している実装 PR を本ブランチに取り込んでからマージしてください。
- repo-backed-projects.md: 見出し変更で切れた `#スケール前提-container_scale1` 参照 2 箇所を `#スケール前提-scale-1` に修正 - quickstart.md: `env` はファイル自体が必須(中身は任意)と見出しから分かるよう変更し、 最小構成のディレクトリツリーへ `project.yml` を追加 - project-yml.md: `env` ファイルが必須である旨を同じ表現に揃える Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
🔧 /ndf:fix サマリ (round 1)対応件数: critical=0 / major=0 / minor=2 (合計 2 件) 修正した指摘
あわせて自己点検で見つけた次の 2 点も同コミットで直しました。
rejected(修正せず、スレッドで理由を説明。Resolve していません)
検証
@takemi-ohama 再レビューをお願いします。 |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | codex | REQUEST_CHANGES
DEVBASE_OPEN_EDITOR の収集方法と既定値を実装に合わせて修正する必要があります。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | gemini | APPROVE
1点のドキュメントの正確性に関するインラインコメントを記載しました。
`devbase env init` の editor コレクター (lib/devbase/env/collectors/editor.py) が `DEVBASE_OPEN_EDITOR` を対話収集し、対話の既定は `1` (有効) である。 「収集対象外」「既定: OFF」という記述は実装と矛盾していたため、収集対象で あることと、OFF に倒れるのはキー自体が未設定のときだけである旨へ修正した。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
🔧 /ndf:fix サマリ (round 2)対応件数: critical=0 / major=1 / minor=3 (合計 4 件) 1. ベースの取り込み — round 1 で rejected とした 2 件が解消PR #107 が
いずれも文面の変更は不要で、Resolve 済みです。 2. 修正した指摘 (round 2)
実装の裏取り:
検証
@takemi-ohama 再レビューをお願いします。 |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | codex | REQUEST_CHANGES
ドキュメント上の実行頻度と設定の有効範囲を、実装挙動に合わせて修正してください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | gemini | APPROVE
ドキュメント全体を通した変更を確認しました。
各機能 (project.yml への移行、env の役割の分離、複数リポジトリ設定、VS Code 自動オープンの仕組みなど) の実装仕様が正確に反映されており、不整合やリンク切れも見当たりません。特に env ファイルを必須としつつも役割を明確に分けた点、移行時の挙動などが網羅的で読者を迷わせない素晴らしい構成です。
- project.yml リファレンス: `init` は clone 直後だけでなくコンテナ起動の たびに `./init.sh` を実行することを明記し、`branch` (clone 直後のみ) との タイミング差の表と冪等性の注意を追加 - 環境変数: `DEVBASE_WORKSPACE` が効くのはリポジトリ 1 件の構成だけで、 2 件以上では自動生成した workspace を直接開くため上書きできない旨を明記 - container-operations / plugin-dev quickstart の関連記述も同じ挙動へ揃える Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
🔧 /ndf:fix サマリ (round 3)対応件数: critical=0 / major=0 / minor=2 (合計 2 件) round 3 の未解決スレッドは codex の 2 件(gemini は APPROVE / 指摘なし)。いずれも実装を読んで正しい指摘と確認したうえで修正しました。 修正した指摘
あわせて同じ挙動に触れている次の箇所も表現を揃えました。
#2 で示された「複数構成でも明示値を優先する実装に合わせる」案は採らず、文書側を実装に合わせています。複数リポジトリの workspace ファイルは entrypoint が 検証
対応した 2 スレッドは Resolve 済みです。@takemi-ohama 再レビューをお願いします。 |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 4 | codex | REQUEST_CHANGES
docs/user/environment-variables.md:23: 「読み込み順序」のprojects/*/envの用途がまだ「リポジトリ名・コンテナ数等」となっており、直下で追加された「これらはproject.ymlに書き、envに書いても効果がない」という説明と矛盾します。この行もコンテナへ渡すプロジェクト固有の環境変数(例:ENABLE_SSH)へ更新してください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 4 | gemini | APPROVE
修正内容は適切で、前回のレビューから追加された変更(init.sh の実行タイミングの明確化や、DEVBASE_WORKSPACE の有効範囲の追記など)も実装仕様を正しく反映しており問題ありません。読者の誤解を防ぐための良い改善です。
env の役割を「コンテナへ渡す環境変数」と書き換えたのに、直上の表だけ 「リポジトリ名・コンテナ数等」と旧仕様のままで矛盾していた。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
🔧 対応 (round 4)
指摘はレビュー body のみでインラインコメントが無かったため、Resolve 対象のスレッドはありません。 |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 5 | codex | REQUEST_CHANGES
project.yml リファレンスの適用範囲と検証仕様を実装に一致させてください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 5 | gemini | APPROVE
ドキュメントの構成、旧形式からの移行手順、関連する環境変数の説明など、各所の整合性が取れており問題ありません。
- work_dir はリポジトリ 1 件のときだけ効く (2 件以上では自動生成の multi-root ワークスペースが開かれる) ことを明記 - 空白・制御文字の検証は repos[] の各項目が対象で、work_dir は前後の 空白を落とすだけなので、検証範囲を実装に合わせて限定した Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 6 | codex | APPROVE
修正が必要な問題は見つかりませんでした。
gemini round 2 の critical 指摘 (quickstart.md が旧 env 仕様のまま) は PR #108 で 対応済みのため、同じ release/PLAN32 を base とする本ブランチへ取り込み、 3.0.0 の版数記述とドキュメント本文の仕様を同一ブランチ上で整合させる。 CHANGELOG.md はコンフリクトしたため union で解決した。 - HEAD 側: [Unreleased] を [3.0.0] - 2026-08-23 として確定した見出しと注記 - docs 側: project.yml 移行の ### Changed エントリ [2.2.0] 以前の履歴記述は変更していない。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 6 | gemini | APPROVE
PR の目的(project.yml への移行と複数リポジトリ対応)とドキュメントの変更範囲が完全に一致しており、旧形式(env)からの移行手段や各設定値の優先順位が非常に明確に記述されています。
追加・更新された記述に矛盾や曖昧さは見当たらず、コード実装とも整合しているため問題ありません。
Summary
複数リポジトリ構成(
project.yml)に合わせて、利用者向けドキュメントを更新します。docs/user/project-yml.md:project.ymlのリファレンス。最小構成 / 複数リポジトリの例 / キー一覧 / 検証される内容 /envとの使い分け / 旧env形式からの移行表 / コンテナへの渡り方envは「コンテナへ渡す環境変数」だけを持つこと、GIT_USERなどを書いても効果がないこと、エディタが開く対象がproject.ymlから決まることを明記CONTAINER_SCALEからproject.ymlのscaleへ。devbase project migrate-configの項を追加project.ymlベースに書き換えproject/モジュール(config.py/runtime.py/migrate.py)の節を追加過去リリース分の CHANGELOG 記述は履歴なので書き換えていません。
issues/PLAN32_multi-repo-project.mdの Task 5Test plan
uv run pytest— 全 1322 件 green(ドキュメントのみの変更で影響がないことの確認)grep -rn "GIT_REPO\|CONTAINER_SCALE" docs/— 残存は移行表と過去リリースの履歴のみdocs/user/project-yml.md、CLI リファレンスのアンカー)