ReferenciaCLI

vx init

Preparar el proyecto actual para que vexillum lo orqueste

Preparar el proyecto actual para que vexillum lo orqueste.

Uso:
  vx init [--yes] [--lang en|es] [--skills | --no-skills]
         [--commander claude|pi|opencode]...

init le da al agente del proyecto las reglas del commander y las herramientas
para usar bien vexillum. Antes de escribir nada lista los archivos tuyos que va
a cambiar y pide consentimiento (Continue? [Y/n]):

  AGENTS.md              recibe un bloque administrado por vexillum con el
                         núcleo del commander, siempre activo
  CLAUDE.md              recibe la línea @AGENTS.md para que Claude Code vea
                         ese bloque (se crea si no existe; uno existente se
                         edita solo después de una segunda pregunta)
  .claude/settings.json  recibe el hook Stop del sentinel, un comando de una
                         línea que encuentra vx sin depender del PATH del
                         shell del hook

Cuando el proyecto no tiene AGENTS.md, init propone poner el bloque en
CLAUDE.md en lugar de crear un AGENTS.md (es la respuesta por defecto;
CLAUDE.md se crea si no existe, y entonces no necesita la línea @AGENTS.md).
Respondé no para crear AGENTS.md como se describió arriba. Un bloque que ya
vive en CLAUDE.md se queda ahí.

OpenCode lee AGENTS.md primero y CLAUDE.md solo cuando no hay AGENTS.md. Por eso,
con un commander opencode, un proyecto que no tiene ninguno de los dos archivos
recibe el bloque en un AGENTS.md nuevo sin hacer la pregunta, e init avisa (no
cambia nada) cuando el bloque está en un CLAUDE.md que un AGENTS.md le oculta a
OpenCode. OpenCode ya lee las skills de .claude/skills/, así que no necesita
nada más en el proyecto: el sentinel lo despierta desde afuera, a través de su
API HTTP.

El bloque se escribe en el idioma que detecta en el archivo que lo contiene
(inglés cuando no puede saberlo); vos lo confirmás o lo cambiás. Después init
pregunta "Install the vexillum, forum and muster skills?" y, si aceptás, las
escribe en .claude/skills/. También escribe los archivos propios de vexillum
bajo .vexillum/ (config.json, models.json, .gitignore); un models.json
existente nunca se sobrescribe. Volver a correr init no cambia nada de lo que
ya está en su lugar.

El commander puede correr en Claude Code, Pi u OpenCode, y un proyecto puede
tener varios (--commander, repetible, claude por defecto). Se registran en
.vexillum/config.json, que es lo que doctor lee para saber qué binario necesita
el proyecto. El import en CLAUDE.md y el hook Stop del sentinel de arriba son de
Claude Code, así que init los escribe solo cuando claude es uno de los
commanders.

Un commander pi se despierta con una extensión en lugar de un hook Stop. Para
él init escribe .pi/extensions/vexillum-wake.ts (incluida en el binario: corre
el await del sentinel como hijo de Pi y le entrega un wake al modelo como un
mensaje, y no hace nada en el camp de un soldier) y agrega ../.claude/skills a
"skills" en .pi/settings.json, para que Pi vea las skills vexillum, forum y
muster. Los dos se commitean con el proyecto; upgrade mantiene la extensión al
día. Pi pregunta "Trust project folder?" la primera vez que lo corrés en la
carpeta: respondé Trust una sola vez (hasta entonces no se carga ninguno de los
dos); doctor muestra en qué estado está.

Sin una terminal (scripts, CI) init no pregunta nada y no hace nada a menos que
se pase --yes; sin él, imprime lo que cambiaría y sale con un error.

Flags:
  --yes, -y       Acepta todas las preguntas, incluidas poner el bloque en
                  CLAUDE.md cuando no hay AGENTS.md, editar un CLAUDE.md
                  existente e instalar las skills.
  --lang en|es    Idioma del bloque, en lugar de detectarlo.
  --skills        Instala las skills sin preguntar.
  --no-skills     No instala las skills, sin preguntar.
  --commander H   Un harness en el que corre el commander: claude, pi u
                  opencode. Repetilo para varios. Sin él, init conserva lo que
                  registra .vexillum/config.json (claude en un proyecto nuevo).