Skip to content

設計(PLAN70): 作り直しても残るシェルの設定の読み込み先 ~/.shellrc.d (#253) - #257

Merged
takemi-ohama merged 4 commits into
mainfrom
design/plan70-shellrc-dir
Sep 24, 2026
Merged

takemi-ohama merged 4 commits into
mainfrom
design/plan70-shellrc-dir

Conversation

@takemi-ohama

@takemi-ohama takemi-ohama commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

Summary

決めたこと

issues/PLAN70_shellrc-dir-design.md

  • 決定 1: 置き場所の名前は ~/.shellrc.d にする
  • 決定 2: DEVBASE_SHELLRC_DIR はイメージの ENV で定める
  • 決定 3: 読み込みはファイルにして、~/.bashrc からは 1 行で読む
  • 決定 4: 読み込み器は DEVBASE_SHELLRC_DIR を読み、空なら ~/.shellrc.d にする
  • 決定 5: zsh は対象にしない
  • 決定 6: 置き場所は分類 B(アカウントグループ単位)に置く
  • 決定 7: default グループの初回シードの試行は特別扱いしない
  • 決定 8: containers/lfm には入れない

Test plan

  • 手元の devbase-base:latest(arm64、2026-09-24 作成)で command -v zsh が空、~/.zshrc はインストーラの PATH 行だけ、~/.bashrc の末尾が . /etc/devbase/ai-cli-aliases.sh であることを確認
  • 同じイメージの bash で、設計の読み込み器の形を source して、名前の順・構文の誤りの後も続くこと・*.sh 以外を読まないこと・置き場所が無い/空で出力なし終了状態 0 を確認(exit=0)
  • devbase logincompose exec ... bashlib/devbase/commands/container.py)で対話シェルを開くことを確認
  • 設計文書の内部の突き合わせ(受け入れ条件 ↔ テスト設計、構成要素 ↔ 処理の流れ、決定で退けた案が他の節に残っていないこと)

🤖 Generated with Claude Code

~/.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 takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 1 | codex | REQUEST_CHANGES

読み込み器のグロブ設定依存について修正提案が 1 件あります。

Comment thread issues/PLAN70_shellrc-dir-design.md Outdated

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 1 | agy | REQUEST_CHANGES

受け入れ条件 3(2 つのグループ間での .shellrc.d の非共有・隔離)を担保する関数テストの実装先が構成要素一覧に定義されていない点、および docs/user/container-operations.md 冒頭の「ボリューム構造」概要表が更新対象から漏れている点について、要件・設計ドキュメントの修正を提案します。

Comment thread issues/PLAN70_shellrc-dir-design.md Outdated
Comment thread issues/PLAN70_shellrc-dir.md Outdated
@takemi-ohama

Copy link
Copy Markdown
Contributor Author

🔧 /ndf:fix サマリ | round 1 | commit 72dd4e7

対応件数: critical=0 / major=1 / minor=2(合計 3 件)
決着: 3 件 / 見送り: 0 件 / 却下: 0 件
CI: SUCCESS

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 2 | agy | REQUEST_CHANGES

読み込み器の設計におけるシェルオプション(failglob および dotglob)の扱いに関して、スクリプト実行環境の整合性と受け入れ条件の充足に向けた 2 件の修正提案を提示します。

Comment thread issues/PLAN70_shellrc-dir-design.md Outdated
Comment thread issues/PLAN70_shellrc-dir-design.md Outdated

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 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 が参照する文書アンカーはいずれも実装・既存コードと整合しており、修正を要する不整合は見つからなかった。

@takemi-ohama

Copy link
Copy Markdown
Contributor Author

🔧 /ndf:fix サマリ | round 2 | commit a1f30d9

対応件数: critical=0 / major=1 / minor=1(合計 2 件)
決着: 2 件 / 見送り: 0 件 / 却下: 0 件
CI: SUCCESS

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 3 | claude | REQUEST_CHANGES

設計が参照する entrypoint の関数・一覧、Dockerfile の行、文書の節、テスト名は main の実体と一致している。直す点は、非機能の条件と読み込み器の形の食い違い、bash 3.2 での実測の範囲の 2 点。

Comment thread issues/PLAN70_shellrc-dir-design.md Outdated
Comment thread issues/PLAN70_shellrc-dir-design.md Outdated

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 3 | kiro | REQUEST_CHANGES

設計・受け入れ条件・既存コード(entrypoint / Dockerfile / tests / docs / CHANGELOG)との整合はおおむね取れている。round 3 で読み込み器に failglob/dotglob の退避・復元($(shopt -p …) のサブシェルと eval)を足したが、非機能の性能条件の文言が『ディレクトリの有無の判定と 1 回のグロブで終わる』のままで、実装がその文言を超えている点だけ齟齬がある。この 1 点を直せば設計文書として整合する。

Comment thread issues/PLAN70_shellrc-dir.md
@takemi-ohama

Copy link
Copy Markdown
Contributor Author

🔧 /ndf:fix サマリ | commit 8cfde1b

対応件数: critical=0 / major=0 / minor=0(合計 0 件)
決着: 3 件 / 見送り: 0 件 / 却下: 0 件
CI: NONE

@takemi-ohama

Copy link
Copy Markdown
Contributor Author

設計の決定 8(containers/lfm には入れない)は範囲外として #261 に残した。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant