設計(PLAN70): 作り直しても残るシェルの設定の読み込み先 ~/.shellrc.d (#253) - #257
Conversation
~/.shellrc.d をアカウントグループのボリュームへ張り、~/.bashrc が起動定義の後で その中の *.sh を読む。置き場所のパスはイメージの ENV の DEVBASE_SHELLRC_DIR で示す。 要求と受け入れ条件、設計(名前・読み込み器・zsh を含めないこと等の決定)だけを載せる。 Refs #253 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | codex | REQUEST_CHANGES
読み込み器のグロブ設定依存について修正提案が 1 件あります。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | agy | REQUEST_CHANGES
受け入れ条件 3(2 つのグループ間での .shellrc.d の非共有・隔離)を担保する関数テストの実装先が構成要素一覧に定義されていない点、および docs/user/container-operations.md 冒頭の「ボリューム構造」概要表が更新対象から漏れている点について、要件・設計ドキュメントの修正を提案します。
Refs #253 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
🔧 /ndf:fix サマリ | round 1 | commit 72dd4e7対応件数: critical=0 / major=1 / minor=2(合計 3 件) |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | agy | REQUEST_CHANGES
読み込み器の設計におけるシェルオプション(failglob および dotglob)の扱いに関して、スクリプト実行環境の整合性と受け入れ条件の充足に向けた 2 件の修正提案を提示します。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | kiro | APPROVE
PLAN70 の要求・設計ドキュメント更新。round 2 の変更(failglob の control、グループ分離テストの配置先、ボリューム構造表の行追加)を実コード(containers/base/entrypoint.sh、tests/containers/test_entrypoint_ai_settings.py、docs/user/container-operations.md)と突き合わせて検証した。読み込み器の failglob 退避・復元、決定 7 のシード skip 行の記述、AC17 が参照する文書アンカーはいずれも実装・既存コードと整合しており、修正を要する不整合は見つからなかった。
Refs #253 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
🔧 /ndf:fix サマリ | round 2 | commit a1f30d9対応件数: critical=0 / major=1 / minor=1(合計 2 件) |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | claude | REQUEST_CHANGES
設計が参照する entrypoint の関数・一覧、Dockerfile の行、文書の節、テスト名は main の実体と一致している。直す点は、非機能の条件と読み込み器の形の食い違い、bash 3.2 での実測の範囲の 2 点。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | kiro | REQUEST_CHANGES
設計・受け入れ条件・既存コード(entrypoint / Dockerfile / tests / docs / CHANGELOG)との整合はおおむね取れている。round 3 で読み込み器に failglob/dotglob の退避・復元($(shopt -p …) のサブシェルと eval)を足したが、非機能の性能条件の文言が『ディレクトリの有無の判定と 1 回のグロブで終わる』のままで、実装がその文言を超えている点だけ齟齬がある。この 1 点を直せば設計文書として整合する。
Refs #253 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
🔧 /ndf:fix サマリ | commit 8cfde1b対応件数: critical=0 / major=0 / minor=0(合計 0 件) |
|
設計の決定 8( |
Summary
standard。この Pull Request をマージしてから実装へ進みます決めたこと
issues/PLAN70_shellrc-dir-design.md~/.shellrc.dにするDEVBASE_SHELLRC_DIRはイメージのENVで定める~/.bashrcからは 1 行で読むDEVBASE_SHELLRC_DIRを読み、空なら~/.shellrc.dにするdefaultグループの初回シードの試行は特別扱いしないcontainers/lfmには入れないTest plan
devbase-base:latest(arm64、2026-09-24 作成)でcommand -v zshが空、~/.zshrcはインストーラの PATH 行だけ、~/.bashrcの末尾が. /etc/devbase/ai-cli-aliases.shであることを確認*.sh以外を読まないこと・置き場所が無い/空で出力なし終了状態 0 を確認(exit=0)devbase loginがcompose exec ... bash(lib/devbase/commands/container.py)で対話シェルを開くことを確認🤖 Generated with Claude Code