docs: [name] / --context を取るサブコマンドの列挙を揃え、profiles に requires.devbase の手順を足す (#208, #195) - #213
Conversation
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…の手順を足す #208: argparse の集合を正本として、文書 8 か所の列挙に rebuild / open を足す。 - [name]: 02-project.md / cli-reference/README.md(mermaid・ショートカットの表)/ container-operations.md / specifications/compose-profiles.md - --context: 02-project.md / remote-docker-context.md の 2 か所(env token も)/ environment-variables.md - profile も [name] を取るが解決の経路が違うことを 1 行添える - cli-argument-resolution.md と DEVBASE_DOCKER_CONTEXT の行は正しいので触らない #195: profiles: を使う Plugin が plugin.yml の requires.devbase を ">=3.5.0" へ 上げる手順を plugin-dev/compose-profiles.md へ足し、上げる契機を 1 つに限定していた plugin-yml-reference.md 側を広げて相互リンクする。 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 1 | kiro | APPROVE
lib/devbase/cli.py(_create_parser 系の _add_name_arg / _add_context_arg)と bin/devbase の _PROJECT_NAME_SUBCOMMANDS(up down ps logs scale rebuild open)を正本として、変更 8 ファイルの [name] / --context 列挙・profile の扱い・>=3.5.0(CHANGELOG [3.5.0] と一致)・追加した相互リンクのアンカー(#requires / #plugin-として配るなら-requiresdevbase-を-350-以上へ上げる)まで突き合わせ、いずれも一致・解決を確認した。範囲外とされた cli-argument-resolution.md にも新たな不整合は無い。修正提案は無し。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | agy | APPROVE
argparse の定義および bin/devbase の実装と各ドキュメントの列挙が整合しており、追加されたリンク・アンカーやバージョン要件(>=3.5.0)の手順にも問題は見当たりません。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | codex | APPROVE
修正が必要な指摘はありません。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | kiro | APPROVE
lib/devbase/cli.py の _add_project_parser / _add_shortcuts / _add_profile_subparser / _add_open_subparser と bin/devbase の _PROJECT_NAME_SUBCOMMANDS(up down ps logs scale rebuild open)を実際に走査し、変更した 8 文書の [name] 列挙・--context 列挙・profile の解決経路の記述が正本と一致することを確認しました。compose-profiles.md ↔ plugin-yml-reference.md の相互リンクのアンカー、README.md → 02-project.md#プロジェクト名指定cwd-非依存 も解決します。CHANGELOG [3.5.0] が devbase project profile の初出であることも一致しています。非対象と宣言された cli-argument-resolution.md は差分なしです。修正を要する不整合は見つかりませんでした。
|
範囲外と判断し、#216 として残した(リリースブランチ宛の Pull Request で CI の検査ジョブが 1 件も動かない)。この PR の差分は |
Summary
文書だけの変更です。本番の振る舞いも本番コードの構造も変えません(モード:
light)。[name]引数と--contextを取るサブコマンドの列挙が文書の各所で古く、rebuild(PLAN49 以降)とopen(PLAN59 以降)が抜けている。[name]の 4 か所と--contextの 4 か所を、argparse の実際の集合へ揃えるdocs/plugin-dev/compose-profiles.mdに、profiles:を使うプラグインがplugin.ymlのrequires.devbaseを">=3.5.0"へ上げる手順を足す。契機を 1 つに限定しているplugin-yml-reference.md側も広げ、相互リンクするこのまとまりの release Pull Request は #212 です(base は
release/v3.7.0)。正本とした集合
lib/devbase/cli.pyの_create_parser()を走査して得た集合を正としています。project <sub> [name]up/down/ps/logs/scale/rebuild/open(bin/devbaseの_PROJECT_NAME_SUBCOMMANDSと一致)[name]を取るが解決の経路が違うproject profile up/profile down/profile list(wrapper では位置で解決できず、_dispatch_lifecycleが解決する)--contextproject/container/ct配下のup/down/ps/logs/login/scale/build/rebuild/open/profile up/profile down/profile list、トップレベルのup/down/ps/login/scale/rebuild/open、およびenv exec/env token受け入れ条件
#208
docs/user/cli-reference/02-project.mdの[name]の列挙にrebuildとopenが含まれるdocs/user/cli-reference/README.mdの mermaidD1の列挙にopenが含まれるdocs/user/cli-reference/README.mdのショートカットの表にdevbase open [name]の行があり、profileにも触れている(現状はopenにもprofileにも一度も触れていない)docs/user/container-operations.mdの[name]の列挙にrebuildとopenが含まれるdocs/specifications/compose-profiles.mdのup down ps logs scale rebuildの列挙にopenが含まれる[name]を直した文書に「profileも[name]を取るが、解決の経路が違う」旨の 1 行があるdocs/user/cli-reference/02-project.mdの--contextの列挙にopenが含まれるdocs/specifications/remote-docker-context.mdの 2 か所の--contextの列挙にopenが、後者にはさらにenv tokenが含まれるdocs/user/environment-variables.mdの--contextの列挙にopenが含まれるdocs/specifications/cli-argument-resolution.mdの「他のショートカット」、docs/user/environment-variables.mdのDEVBASE_DOCKER_CONTEXTの行)を書き換えていない#195
docs/plugin-dev/compose-profiles.mdの「使える環境」の表の devbase の行が3.5.0 以上と具体的な版数で書かれているdocs/plugin-dev/compose-profiles.mdの「1.compose.ymlの書き方」の末尾に、requires.devbaseを">=3.5.0"へ上げる手順があるdocs/plugin-dev/plugin-yml-reference.mdの「上げる契機」がproject.yml形式への移行だけに限定されておらず、profiles:の導入も契機として挙がっている共通
docs/配下だけに閉じている(lib//bin//etc//tests/を触らない)やらないこと(範囲外)
どちらの issue も本文で「恒久策は範囲を超える」と明示しています。次の 2 件はこの Pull Request に入れず、別の issue として起票します。
docs/specifications/cli-argument-resolution.mdへ一元化し、他の文書をそこへのリンクにする。あわせて argparse が返す集合と正本の列挙の一致をテストで固定する → 列挙の正本を一元化し、argparse と文書の一致をテストで固定する([name] / --context) #214 として起票plugin-yml-reference.mdに「devbase の機能 ↔ 必要な最低版数」の一覧表を置き、新機能の Pull Request でそこへ 1 行足す運用にする → plugin-yml-reference の requires 契機表を正本にし、新機能 PR で 1 行足す手順を PR テンプレートへ入れる #215 として起票コードと補完(
etc/devbase-completion.bash/etc/_devbase)に漏れは無いため、この Pull Request では触りません。Test plan
実行済みです。
lib/devbase/cli.pyの_create_parser()を再帰で走査し、namepositional /--contextを持つ parser を集めて、上の 8 か所の列挙と突き合わせる検査スクリプトexit=0(11 項目すべて ok、FAILS: なし)exit=0(FAILS: なし)](...)を突き合わせるexit=0(切れたリンク 0 件)docs/配下だけgit diff --name-only | grep -v '^docs/'docs/、+59 -15)docs/specifications/cli-argument-resolution.mdは差分なし。docs/user/environment-variables.mdのDEVBASE_DOCKER_CONTEXTの行は差分 0 行検査で確かめた argparse 側の集合:
lib//bin//etc//tests/を触らないため、pytestとdevbase --helpの結果はこの Pull Request で変わりません。検査(実装レビュー / 完了判定)
実装レビュー —
/ndf:cross-review 213ホスト(claude)を除く 3 ランタイムすべてがこの差分を見て承認しました。round 1 で
収束しましたが、輪番から外れた codex がこの差分を見ていないため round 2 を回しています。
未解決のレビュースレッドは GitHub 側で数え直して 0 件(
state.py verify-sweep→exit=0)。完了判定 —
/ndf:quality-gates(モードlight)python3 -m devbase.cli project --help/project open --help/project profile up --helpexit=0。openに[name]と--context、profile upに[name]と--contextがあることを確認_create_parser()の再帰走査)とbin/devbaseの_PROJECT_NAME_SUBCOMMANDSを、変更した 8 ファイルの列挙と突き合わせる検査スクリプトexit=0(0 failure(s))exit=0(0 problem(s))python3 -m compileall -q lib binlib/binexit=0uvx ruff check --select=E9,F63,F7,F82 liblibexit=0(All checks passed!)uvx --from shellcheck-py shellcheck bin/devbasebin/devbaseexit=1(既存の失敗。下記)突き合わせた argparse /
bin/devbase側の集合:pytest)と結合テスト。モードlightの必須段階に含まれず、この Pull Request は
docs/の 8 ファイルだけで非 docs の差分が 0 件のため。shellcheck bin/devbaseがexit=1(8 件)。release/v3.7.0時点のbin/devbaseでも同じ 8 件が出るため、この Pull Request が原因ではありません(
git diff --name-only release/v3.7.0...HEAD -- . ':!docs'の出力は 0 件)。動かない(
.github/workflows/ci.ymlのon.pull_request.branchesがmainだけ)。この Pull Request でも
gh pr checks 213はno checks reportedを返します。→ ci: リリースブランチ宛の Pull Request で検査ジョブが 1 件も動かない(on.pull_request.branches が main だけ) #216 として起票
Closes #208
Closes #195
🤖 Generated with Claude Code