feat: Add ai repo as submodule and create deployment layer
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Área
- developer-experience, devops, tooling
Línea de trabajo
Empieza leyendo la receta de instalación existente en .claude/justfile y el justfile raíz; después, inspecciona la estructura del repositorio solicitado arustydev/ai. La Fase 1 estará completa cuando ai/ esté registrado como submódulo, .gitmodules esté actualizado y ai-init lo inicialice y actualice; los flujos de trabajo posteriores de copia, compilación, perfilado y secretos son explícitamente fases futuras.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Jupyter Notebook
- Estrellas
- 1
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de aRustyDev/dotfiles
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
-
dependencies github-actions
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
-
[Enhancement]: docker setupQuizá libre de nuevo @aRustyDev la tomó hace 275 días y no hay ningún pull request abierto. Abiertoenhancement
-
[Enhancement]: brew install tools before installing dotfilesQuizá libre de nuevo @aRustyDev la tomó hace 276 días y no hay ningún pull request abierto. Abiertoenhancement
-
[Enhancement]: zed install processQuizá libre de nuevo @aRustyDev la tomó hace 276 días y no hay ningún pull request abierto. Abiertoenhancement
Todos los issues de aRustyDev/dotfiles
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
netlify/netlify-mcp#75 ·
Los mantenedores suelen responder en 1 día
-
area:ide bug platform:vscode platform:windows
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
anthropics/claude-code#101482 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
atlassian-labs/compiled#1960 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
Los mantenedores suelen responder en 2 días
-
TUI crash: undefined is not an object (evaluating 'r.text.feedback[t.toast.variant].base')Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoreproduced
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
anomalyco/opencode#54762 · 1 comentario ·
Los mantenedores suelen responder en 1 día