Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

feat: Add ai repo as submodule and create deployment layer

オープン
#176 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
42/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
git, python, shell

調査の方向性

まず既存の .claude/justfile の install レシピとルートの justfile を読み、次に要求された arustydev/ai リポジトリのレイアウトを確認します。ai/ がサブモジュールとして記録され、.gitmodules が更新され、ai-init がそれを初期化および更新できる状態になった時点で Phase 1 は完了です。後続のコピー、ビルド、プロファイル、シークレットのワークフローは、明示的に将来のフェーズです。

索引モデルが issue の本文から書いたものです。

説明

enhancement

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:

  1. Consumes ai/ as a submodule
  2. Builds/compiles configs (future - for now, just copies)
  3. 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/ai as git submodule at dotfiles/ai/
  • Update .gitmodules
  • Add ai-init recipe to justfile
Phase 2: Basic Workflow
  • Create just install ai recipe 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-sync recipe for other machines
Phase 3: Build System (Future)
  • Add profile selection (env var AI_PROFILE or config file)
  • Call ai/build/compile.py from justfile
  • Deploy from ai/dist/ instead of ai/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:

  1. Environment variable: AI_PROFILE=personal just ai-sync
  2. Config file: ~/.config/ai-profile contains profile name
  3. Hostname-based: Lookup table mapping hostnames to profiles
  4. 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/justfile has 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 はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

aRustyDev/dotfiles のほかの issue

aRustyDev/dotfiles の issue をすべて見る

似ている issue

DevTools の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。