feat(claude): default role で fleet 層をローカル展開 (DOT-45 改訂追従)#37
Merged
Conversation
DOT-45 ブリーフ改訂「AI 組織開発を default のベースにする」に追従。A2 (PR #36) は旧方針 (fleet 非 symlink・remote inject のみ) で実装・マージ済みのため、その後の 改訂を本 PR で反映する。 - nix/modules/home/claude.nix を role 対応に: - default role: claude/fleet/agents を ~/.claude/agents に symlink、 claude/fleet/skills を個人層 (claude/skills) とマージして ~/.claude/skills に per-entry symlink で展開 (activation。2 source dir を 1 symlink で束ねられず、 かつ eval 時に working tree を読むと CI が壊れるため activation 方式) - sub-1 等の別 role: 個人層スキルのみ。fleet は展開しない - remote の inject-fleet.sh は role 非依存・本モジュールと独立 (不変) - AGENTS.md: リポジトリ構造 (agents は claude/fleet/agents 12 体へ移動) と fleet 配送モデル (default ローカル展開 / 別 role 除外 / remote inject) を改訂 DOT-45
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
WalkthroughこのPRは、Claude fleet agents/skillsのローカル展開とリモート注入を役割別に制御するための戦略をAGENTS.mdで文書化し、その実装をnix/modules/home/claude.nixのロール分岐ロジックで具現化します。 ChangesClaude Fleet 役割ベース展開
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
DOT-45 のブリーフが着手後に改訂され(「AI 組織開発を default のベースにする」=default role では fleet 層をローカルにも展開する)、先にマージした A2(PR #36)の旧方針(fleet 非 symlink・remote inject のみ)と矛盾していたため、その追従。PR #36 はマージ済みで再オープンできないため follow-up として実施。
変更内容
nix/modules/home/claude.nixを role 対応にrepo 既存の
role機構(/etc/dotfiles-role→default/sub-1、homebrew.nix/defaults.nixと同じ)に乗せる。claude/fleet/agents→~/.claude/agentsに whole-dir symlink(個人層 agents は A2 で空になったため衝突なし)claude/fleet/skillsを個人層claude/skillsとマージして~/.claude/skillsに展開。2 つの source dir を 1 つの symlink で束ねられず、かつ eval 時に working tree を読むと CI(nix build)が壊れるため、activation で per-entry symlink を張り直す方式を採用(既存のhome.activation.*パターンに準拠)。working tree を指す symlink なのでファイル編集は即反映(skill の追加・削除時のみ次回 switch が必要)inject-fleet.shは role 非依存・本モジュールと独立のまま(不変)AGENTS.mdclaude/fleet/agents(dev × 8 / rev × 3 / pr-publisher × 1 = 12 体。A2 でclaude/agentsから移動)に更新、stale なclaude/agents/行を除去前提との差異(重要)
~/.claudeに symlink」と記述しているが、個人層 + fleet の 2 ディレクトリを 1 つの~/.claude/skillsに束ねる whole-dir symlink は不可能。さらにbuiltins.readDirで eval 時列挙すると CI(fake user で working tree 不在)が壊れる。そのため activation 時の per-entry symlink マージで実現した(syncClaudeMcpServers等の既存 activation パターンと同系統)。fleet/agents は個人層が空なので whole-dir symlink で足りる。設計レベルの選択のため vault 反映候補としてフラグ。検証
nix buildはローカル未実行。CI(nix flake check+ closure build、role 未設定時はdefault解決)で検証。activation 方式は eval 時に working tree を読まないため CI-safe の想定。注意
https://claude.ai/code/session_015R1g7uW4DpstGRaqSDgMsG
Generated by Claude Code
Summary by CodeRabbit
ドキュメント
Refactor