Skip to content

aitorroma/devbox-ai

Repository files navigation

Devbox AI Cockpit

Cockpit portable para trabajar por SSH en un VPS con perfiles seleccionables para no instalar más de lo necesario.

  • Devbox/Nix para reproducibilidad
  • Zellij como workspace persistente
  • Zsh con prompt compacto custom
  • Perfiles base, ai, devops y full
  • Pi + gentle-ai + Engram, Codex CLI, Claude Code CLI, OpenCode CLI, Antigravity CLI (agy), Workmux y RTK solo en perfiles IA
  • Plantillas MCP para Engram, Coolify, Context7 y GitHub

Demo

Demo del Devbox AI Cockpit en Asciinema

Haz clic en la imagen para reproducir el asciicast. GitHub muestra la previsualización SVG en el README, pero no permite ejecutar el reproductor JavaScript embebido.

Extender y adaptar tu fork

Este repo está pensado para que cualquiera lo pueda forquear y adaptar sin romper la portabilidad. Hay una guía y una skill para agentes IA:

Ejemplo para crear un perfil propio:

mkdir -p profiles/company
cp skills/devbox-ai-extension/assets/devbox-profile-template.json profiles/company/devbox.json
cd profiles/company
devbox update

Perfiles disponibles

Perfil Qué instala Cuándo usarlo
base Shell/cockpit mínimo: Zellij, Zsh, Neovim, búsqueda, prompt y Python para scripts. VPS ligero o solo terminal portable.
ai base + Node.js + Pi/gentle-ai + Codex + Claude + OpenCode + Antigravity CLI + Workmux + RTK. Cockpit IA sin toolpack DevOps pesado. Recomendado.
devops base + toolpack DevOps/infra, sin agentes IA. VPS para operar infra sin CLIs IA.
full ai + devops. Quieres absolutamente todo y tienes disco/RAM de sobra.

La idea es que normalmente uses ai en el VPS de desarrollo y solo instales devops o full cuando realmente necesites Docker/K8s/Terraform/Ansible/etc.

Instalación rápida en VPS nuevo

apt update && apt install -y curl git bash
curl -fsSL https://get.jetify.com/devbox | bash
git clone https://github.com/aitorroma/devbox-ai.git /root/cookpit
cd /root/cookpit

Elige perfil con el instalador rápido:

# IA: cockpit + agentes, sin toolpack DevOps pesado
./scripts/bootstrap.sh --profile ia

# Solo DevOps: cockpit + herramientas infra, sin agentes IA
./scripts/bootstrap.sh --profile devops

# Todo
./scripts/bootstrap.sh --profile full

Atajos equivalentes: ./scripts/bootstrap.sh ia, devbox run bootstrap, o devbox run -c /root/cookpit/profiles/ai -- bootstrap. Desde la raíz, devbox run bootstrap instala el perfil ai por defecto.

Al terminar, recarga shell o reconecta por SSH:

source ~/.bashrc
work-reset

El wizard interactivo de gentle-ai es opcional y solo aplica a ai/full:

gentle-install
# o
devbox run -c /root/cookpit/profiles/ai -- gentle-install

Cambiar de perfil

Para el día a día no hace falta memorizar rutas de Devbox. Lanza el cockpit con el perfil deseado:

work --profile ia
work --profile devops
work --profile full

También tienes aliases cortos:

work-ia
work-devops
work-full

Para actualizar repo + herramientas + aliases de un perfil concreto:

work-update --profile ia
work-update --profile devops
work-update --profile full

Aliases equivalentes: update-ia, update-devops, update-full.

Si el cambio incluye layout de Zellij, ejecuta fuera de Zellij:

work --profile ia --reset

Ver perfil activo:

profile-info
# o
devbox run -c /root/cookpit/profiles/ai -- profile-info

Toolpack por perfil

base

git curl unzip neovim ripgrep fd zellij zsh fzf zoxide atuin
bat eza carapace zsh-autocomplete zsh-autosuggestions
zsh-syntax-highlighting python312

ai

base +:

nodejs@22
Pi gentle-ai Codex Claude OpenCode Antigravity CLI (agy) Workmux RTK instalados en $HOME

devops

base +:

jq yq gh lazygit delta chezmoi
duf btop htop ncdu tree wget rsync rclone ngrok tmate asciinema openssl
age sops direnv just make gcc
python312Packages.pip uv go rustup
docker-client docker-compose kubernetes-helm kubectl k9s
terraform opentofu ansible awscli2 google-cloud-sdk
httpie xh nmap dnsutils whois tcpdump mtr
pre-commit shellcheck shfmt

Ver TOOLS.md para saber qué hace cada herramienta.

Layout de Zellij

El workspace intencionalmente tiene dos tabs:

  1. SYSTEM — una shell grande, limpia, iniciando en ~.
  2. IA — el cockpit de trabajo con tres panes, iniciando en el repo.

Si cambias el layout o ves tabs antiguas, recrea la sesión desde fuera de Zellij:

devbox run -c /root/cookpit/profiles/ai -- work-reset

Comandos diarios

work                         # abre/adjunta Zellij dev con el perfil activo
work --profile ia            # cambia/arranca cockpit IA
work --profile devops        # cambia/arranca cockpit DevOps
work --profile full          # cambia/arranca cockpit completo
work-reset                   # recrea la sesión dev y reaplica layout
work-update                  # git pull + reinstala shell/autostart + actualiza perfil activo
work-update --profile full   # actualiza usando otro perfil
doctor                       # verifica herramientas/versiones del perfil activo
profile-info                 # muestra perfil y rutas activas

En perfiles ai/full también:

agent         # lanza Pi
codex         # lanza Codex CLI
claude        # lanza Claude Code CLI
opencode      # lanza OpenCode CLI
agy           # lanza Antigravity CLI
workmux / wm  # gestiona worktrees/agentes con multiplexer
wmz           # fuerza backend Zellij para Workmux
rtk gain      # muestra ahorro acumulado de tokens

Si los aliases aún no están cargados, usa el perfil explícito:

devbox run -c /root/cookpit/profiles/ai -- work
devbox run -c /root/cookpit/profiles/ai -- work-update
devbox run -c /root/cookpit/profiles/devops -- doctor

Secretos por VPS

Solo para perfiles IA:

cd /root/cookpit
cp .env.example .env
nano .env
devbox run -c /root/cookpit/profiles/ai -- mcp-render

.env no se commitea. La plantilla portable está en config/pi/mcp.template.json.

Actualizar cockpit

work-update                  # perfil activo
work-update --profile ia     # fuerza perfil IA
work-update --profile devops # fuerza perfil DevOps
work-update --profile full   # fuerza perfil completo

Si estás dentro de Zellij y te avisa que no puede matar la sesión actual, sal/reconecta o ejecuta desde fuera con el perfil activo:

devbox run -c /root/cookpit/profiles/ai -- work-reset

Recuperar SSH si el autostart falla

Salta el autostart con ZELLIJ_AUTO_STARTED=1:

ssh -t root@TU_SERVIDOR 'ZELLIJ_AUTO_STARTED=1 bash -l'

Dentro:

cd /root/cookpit
git pull
devbox run -c /root/cookpit/profiles/ai -- zellij-install
devbox run -c /root/cookpit/profiles/ai -- work-reset

Zsh portable

La configuración zsh incluye un prompt compacto custom como el de tu terminal actual, autosuggestions, syntax highlighting, autocomplete, fzf, zoxide, atuin, eza, bat y carapace. No copia secretos ni rutas locales.

Reinstalar solo zsh para un perfil:

devbox run -c /root/cookpit/profiles/ai -- zsh-install

RTK para ahorrar tokens

RTK se instala solo en perfiles ai/full, desde rtk-ai/rtk, y queda en $HOME/.local/bin. El setup ejecuta también los hooks globales para Claude/Copilot y Codex:

rtk init -g
rtk init -g --codex

Verificación:

rtk --version
rtk gain

Reinstalar/actualizar solo RTK:

devbox run -c /root/cookpit/profiles/ai -- rtk-install

Antigravity CLI

Antigravity CLI (agy) entiende el codebase, propone ediciones con permiso y ejecuta comandos desde la terminal. El instalador oficial para macOS/Linux es:

curl -fsSL https://antigravity.google/cli/install.sh | bash

En este cockpit se instala de forma portable en $HOME/.local/bin con:

devbox run -c /root/cookpit/profiles/ai -- antigravity-install

En SSH, agy imprime una URL de autorización para completar login localmente. Para cerrar sesión dentro del CLI usa /logout.

AI CLIs

Los perfiles ai/full instalan Pi, gentle-ai, Codex, Claude, OpenCode, Antigravity CLI, Workmux y RTK. Antigravity se instala desde el instalador oficial de Google y deja el binario agy en $HOME/.local/bin. OpenCode se instala vía npm como opencode-ai; Workmux se instala en $HOME/.local/bin.

codex --version
claude --version
opencode --version
workmux --version
agy --version
pi --version
gentle-ai --version

Para reinstalarlos/actualizarlos manualmente:

devbox run -c /root/cookpit/profiles/ai -- ai-clis
devbox run -c /root/cookpit/profiles/ai -- workmux-install
devbox run -c /root/cookpit/profiles/ai -- antigravity-install

Workmux + Zellij

Workmux crea worktrees y abre agentes en tu multiplexer. En este cockpit queda disponible como workmux y como alias corto wm.

wm init                 # opcional: crea .workmux.yaml en un proyecto
wm add nueva-feature   # crea worktree y ventana/tab de trabajo
wmz add fix-login      # fuerza WORKMUX_BACKEND=zellij

Según la guía oficial, el backend Zellij de Workmux es experimental y depende de capacidades recientes/no publicadas de Zellij; si falla, actualiza Zellij o usa el backend tmux/otro terminal soportado. Dentro de Zellij, Workmux puede autodetectar el backend por $ZELLIJ; wmz lo fuerza con WORKMUX_BACKEND=zellij.

Evitar tabs duplicadas en Zellij

No ejecutes work o work-reset desde dentro de Zellij para recrear el layout: Zellij puede interpretarlo como añadir una tab nueva.

Para resetear desde una shell normal fuera de Zellij:

ZELLIJ_AUTO_STARTED=1 bash -lc 'cd /root/cookpit && devbox run -c /root/cookpit/profiles/ai -- work-reset'

Para borrar una sesión vieja/EXITED manualmente:

devbox run -c /root/cookpit/profiles/ai -- zellij delete-session --force dev
devbox run -c /root/cookpit/profiles/ai -- work

About

Portable Devbox AI cockpit with Zellij, Pi, Engram and MCP templates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages