feat: Add ai repo as submodule and create deployment layer
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 42/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
調査の方向性
まず既存の .claude/justfile の install レシピとルートの justfile を読み、次に要求された arustydev/ai リポジトリのレイアウトを確認します。ai/ がサブモジュールとして記録され、.gitmodules が更新され、ai-init がそれを初期化および更新できる状態になった時点で Phase 1 は完了です。後続のコピー、ビルド、プロファイル、シークレットのワークフローは、明示的に将来のフェーズです。
索引モデルが issue の本文から書いたものです。
説明
Overview
Add the arustydev/ai repository as a git submodule and create a deployment layer that installs AI configurations to the appropriate locations on each machine.
Context
The ai repo is the shareable source of truth for AI configurations. The dotfiles repo serves as the deployment layer that:
- Consumes
ai/as a submodule - Builds/compiles configs (future - for now, just copies)
- Deploys to target locations (
~/.claude/,~/.zed/, etc.)
Workflow
Project .claude/ ──promote──▶ ai/ (source) ──build──▶ global (~/.claude/)
│
▼
dotfiles/
(deployment layer)
Target Structure
dotfiles/
├── ai/ ← git submodule (arustydev/ai)
│
├── .claude/ ← dotfiles' own project configs
│ ├── commands/
│ ├── skills/
│ └── justfile ← existing install logic
│
├── .ai/ ← dotfiles' own .ai configs (if needed)
│
└── justfile
├── install ← existing: install all dotfiles
├── ai-init ← initialize/update ai submodule
├── ai-build PROFILE TOOL ← future: compile components
├── ai-deploy PROFILE TOOL ← future: deploy to targets
└── ai-sync ← pull + build + deploy
Implementation Phases
Phase 1: Structure (Current Focus)
- Add
arustydev/aias git submodule atdotfiles/ai/ - Update
.gitmodules - Add
ai-initrecipe to justfile
Phase 2: Basic Workflow
- Create
just install airecipe that copies to target locations:ai/components/commands/→~/.claude/commands/ai/components/skills/→~/.claude/skills/ai/components/hooks/→~/.claude/hooks/ai/components/rules/→~/.claude/rules/
- Handle Zed configs:
ai/tools/zed/→~/.zed/ - Create
ai-syncrecipe for other machines
Phase 3: Build System (Future)
- Add profile selection (env var
AI_PROFILEor config file) - Call
ai/build/compile.pyfrom justfile - Deploy from
ai/dist/instead ofai/components/
Phase 4: Dynamic MCP (Future)
- Generate MCP configs from
ai/mcp/ - Resolve
op://secrets at deploy time using 1Password CLI - Support tool-specific MCP formats
Justfile Recipes
Phase 1 (Now)
# Initialize or update the ai submodule
ai-init:
git submodule update --init --recursive ai/
git submodule update --remote ai/
Phase 2 (Soon)
# Install AI configs to global locations (simple copy, no profiles yet)
[group('ai')]
install-ai:
@echo "Installing AI configs..."
mkdir -p ~/.claude/{commands,skills,hooks,rules}
cp -r ai/components/commands/* ~/.claude/commands/ 2>/dev/null || true
cp -r ai/components/skills/* ~/.claude/skills/ 2>/dev/null || true
cp -r ai/components/hooks/* ~/.claude/hooks/ 2>/dev/null || true
cp -r ai/components/rules/* ~/.claude/rules/ 2>/dev/null || true
@echo "✅ AI configs installed"
# Sync AI configs (pull latest + install)
[group('ai')]
ai-sync:
git submodule update --remote ai/
just install-ai
Phase 3+ (Future)
# Build AI configs for a specific profile and tool
[group('ai')]
ai-build profile="personal" tool="claude-code":
cd ai && python build/compile.py --profile {{profile}} --tool {{tool}}
# Deploy built configs
[group('ai')]
ai-deploy profile="personal" tool="claude-code":
@echo "Deploying {{tool}} configs for {{profile}} profile..."
# Copy from ai/dist/{{tool}}/{{profile}}/ to target
Target Locations by Tool
| Tool | Target Location | Config Type |
|---|---|---|
| Claude Code | ~/.claude/ |
commands, skills, hooks, rules, settings.json |
| Claude Desktop | ~/Library/Application Support/Claude/ |
claude_desktop_config.json |
| Zed | ~/.zed/ |
settings.json, prompts/ |
| VSCode | ~/.vscode/ |
settings.json, extensions |
Profile Selection (Future)
Options for selecting which profile to use:
- Environment variable:
AI_PROFILE=personal just ai-sync - Config file:
~/.config/ai-profilecontains profile name - Hostname-based: Lookup table mapping hostnames to profiles
- Manual: Always specify as argument
Secrets Handling
Configs may contain 1Password references like op://vault/item/key. At deploy time:
# Resolve secrets using 1Password CLI
op inject -i config.template.json -o config.json
Related Issues
- arustydev/ai#1 - Restructure ai repo for composable architecture
Migration Notes
Current State
.claude/exists with commands, skills, hooks, rules.claude/justfilehas install recipe that copies to~/.claude/.ai/exists with various content
After Migration
ai/submodule is the source of truth.claude/contains only dotfiles-specific project configs.ai/may be removed or kept for dotfiles-specific plans
Labels
- enhancement
- architecture
- 主要言語
- Jupyter Notebook
- スター
- 1
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
aRustyDev/dotfiles のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
-
dependencies github-actions
難易度 2/5 1〜3時間 初心者へのやさしさ 25/100
-
[Enhancement]: docker setup再び着手できるかも @aRustyDev が 277 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
-
[Enhancement]: brew install tools before installing dotfiles再び着手できるかも @aRustyDev が 278 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
-
[Enhancement]: zed install process再び着手できるかも @aRustyDev が 278 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
aRustyDev/dotfiles の issue をすべて見る
似ている issue
-
review-bot
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
midagedev/bloomery#151 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Action Required: Fix Renovate Configuration対応中かも @thompson-tomo が今日担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
open-telemetry/opentelemetry-collector#16170 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
jbacalso24/mimry#191 ·
メンテナーはふだん 1 日以内に返信
-
Installer computes steamid3 as -76561197960265728 when loginusers.vdf uses lowercase "timestamp"オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
typecheck: check LaneletLengthConstraint.__post_init__ by spelling out the ComparisonRule membersオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
autowarefoundation/autoware_carla_scenario#169 ·
メンテナーはふだん 1 日以内に返信