Referencia

Archivos

Cada archivo y carpeta que vexillum crea, dónde, qué guarda y si es seguro borrarlo.

vexillum escribe en dos lugares: tu proyecto (lo que scaffoldea vx init) y el ~/.vexillum a nivel de máquina. Esta página lista ambos, derivados del código, con una línea por entrada. "Seguro borrar" significa que vexillum sigue funcionando después; la nota dice qué perdés.

En tu proyecto

vx init (y vx upgrade) scaffoldean esto. Todo vive en el checkout del proyecto.

<project>/
  AGENTS.md                       el bloque de vexillum (o tu archivo, más el bloque)
  CLAUDE.md                       "@AGENTS.md", o el bloque si no hay AGENTS.md
  .claude/
    settings.json                 suma el hook Stop del sentinel
    skills/
      vexillum/  forum/  muster/  las skills first-party
  .pi/                            solo para un commander Pi
    settings.json                 suma la referencia a las skills
    extensions/vexillum-wake.ts   la extension de despertar
  .vexillum/
    config.json                   marca el proyecto como inicializado
    models.json                   perfiles de modelo y effort
    yolo.json                     interruptor de yolo mode (solo tras vx yolo)
    .gitignore                    ignora forum/
    forum/                        artefactos temporales de los agentes (ignorado por git)
    agents-md-slot.backup.md      backups, solo tras un upgrade --force o una reparación
    AGENTS.md.backup
    CLAUDE.md.backup
    backups/skills/<name>/
    backups/pi/vexillum-wake.ts
RutaEscrito porGuarda¿Seguro borrar?
AGENTS.mdinit, upgraderecibe el bloque de vexillum (entre los marcadores); tu propio texto nunca se toca. Ver El slot de AGENTS.mdNo. Es tu archivo y lleva las instrucciones del commander; corré vx init de nuevo para restaurar el bloque
CLAUDE.mdinit, upgradetiene el bloque de vexillum en lugar de AGENTS.md cuando el proyecto no tiene AGENTS.md; si no, se crea con, o recibe, la línea @AGENTS.md para que Claude Code vea el bloqueNo. Igual que arriba; sin la línea o el bloque Claude Code deja de ver las reglas del commander
.claude/settings.jsoninit, upgradesuma el hook Stop asíncrono que corre vx sentinel await mediante un wrapper de una línea que no depende del PATH (ver Sentinel); el contenido existente se fusiona, nunca se pisa. Un JSON inválido se deja intacto y se reportaNo el archivo entero, puede tener tus propios ajustes. Borrar solo la entrada del hook deja al commander sin despertar hasta que vx upgrade la vuelva a agregar
.claude/skills/<name>/init, upgradelas skills vexillum, forum y muster, si las aceptasteSí. vx upgrade las reinstala (una editada se respalda antes)
.pi/extensions/vexillum-wake.tsinit, upgrade, solo cuando pi es un commanderla extension que despierta a un commander Pi: corre vx sentinel await como hijo de Pi y le entrega un wake al modelo. Se commitea con el proyecto; no hace nada en los camps de los soldiersSí, pero el commander Pi no se despierta hasta que vx upgrade o vx init la vuelvan a escribir. Pi la carga solo cuando confiás en la carpeta
.pi/settings.jsoninit, upgrade, solo cuando pi es un commanderrecibe "skills": ["../.claude/skills"] para que Pi vea las skills de vexillum; el contenido existente se fusiona, nunca se sobrescribe. Un JSON inválido se deja intacto y se informaNo el archivo entero, puede tener tus propios ajustes de Pi. Sin la entrada Pi no ve las skills
.vexillum/config.jsoninit, upgrademarca el proyecto como inicializado; registra los harnesses del commander; guarda un hash de contenido por skill instalada, y uno por la extension de despertar de Pi, para que upgrade sepa si la editasteNo conviene. El proyecto pasa a verse como no inicializado y se pierde la memoria de qué skills editaste; vx init lo recrea
.vexillum/models.jsoninit (una vez)los perfiles de modelo y effort; tuyo para editar, nunca se pisa. Ver models.jsonSí, pero se van tus perfiles; rigen los valores built-in hasta que init escriba uno nuevo
.vexillum/yolo.jsonvx yolo on, vx yolo offsi yolo mode está activado en el proyecto; si no existe, está desactivado. Se commitea con el proyecto, igual que models.jsonSí. Desactiva yolo mode
.vexillum/.gitignoreinitignora forum/ para que los artefactos temporales del forum queden fuera de gitSí, pero entonces .vexillum/forum/ aparece en git status
.vexillum/forum/los agentes, por las skills forum y muster (no lo crea init)artefactos HTML temporales abiertos con vx forum, por ejemplo plan.html o muster.htmlSí. Se regeneran cuando hacen falta
.vexillum/agents-md-slot.backup.mdupgrade --forcetu bloque editado, guardado antes de reemplazarloSí, cuando ya no necesites tu edición
.vexillum/AGENTS.md.backup, .vexillum/CLAUDE.md.backupupgradeel archivo entero que tiene el bloque, guardado antes de reparar un bloque malformadoSí, una vez que revisaste la reparación
.vexillum/backups/skills/<name>/upgrade --forceuna skill editada, guardada antes de sobrescribirlaSí, cuando ya no necesites tu edición
.vexillum/backups/pi/vexillum-wake.tsupgrade --forceuna extension de despertar editada, guardada antes de sobrescribirlaSí, cuando ya no necesites tu edición

AGENTS.md y CLAUDE.md son tuyos: init los lista en un aviso y pregunta antes de cambiarlos. Commiteá AGENTS.md, CLAUDE.md, .claude/ y .vexillum/ (los backups y forum/ son las excepciones que no vas a querer commitear).

En ~/.vexillum

Estado a nivel de máquina, compartido por todos los proyectos. Nada de esto se commitea en ningún lado. Ver Estado para saber cómo se deriva la clave del proyecto.

~/.vexillum/
  models.json                          perfiles de modelo globales opcionales (lo creás vos)
  sentinel.pid  sentinel.lock          los archivos de lock del único sentinel
  sentinel.json  sentinel.log          su registro de build y su log
  sentinel-awaiters/<pid>.json         un registro por cada `vx sentinel await` vivo
  forum/
    server.pid  server.json            el lock del servidor de forum y su archivo de descubrimiento
    last-port  server.log              puerto preferido y log del servidor
    listener.pid  listener.log         el lock y el log del listener de forum
  forums/<session>/
    session.json  transcript.json      una sesión de revisión: cola y conversación
    layout.json                        inbox de problemas de layout
    whiteboards/                       escenas y previews de whiteboards
    attachments/                       imágenes que adjuntó quien revisa
  projects/<repo>-<hash>/              un namespace por proyecto
    tasks/<id>.json                    una tarea
    camps/
      pool.json  pool.lock             el estado y el lock del pool de worktrees
      <slot>/<repo>/                   un camp: un git worktree
    wakes/<id>.json                    wakes pendientes del sentinel
    wakes/forum/<session>.json         wakes de forum pendientes
    forum-inbox/<session>/<uid>.json   feedback de forum para el commander
    forum-inbox/<session>/read/        feedback confirmado
    pending/<id>.json                  decisiones pendientes del commander
    reports/<agent>-<id>.md            el reporte final de un scout
    pauses/<agent>.md                  una pausa declarada por un soldier
    commanders.json  commanders.lock   el registro de commanders y su lock
RutaGuarda¿Seguro borrar?
models.jsonbase global opcional para los perfiles; lo creás vosSí, pero se van tus perfiles globales
sentinel.pid, sentinel.lockel único sentinel por máquina: su pid y el lock que impide arrancar un segundoSolo con el sentinel detenido. Borrarlos con uno vivo puede dejar arrancar un segundo
sentinel.jsonel build desde el que arrancó el sentinel en marcha, para que un binario más nuevo pueda reemplazarloSí (solo si no hay sentinel corriendo)
sentinel.logel log del sentinelSí
sentinel-awaiters/<pid>.jsonun registro por cada proceso de hook vx sentinel await vivoSí. Los registros viejos se limpian solos
forum/server.pid, forum/server.jsonel lock del servidor de forum y su archivo de descubrimiento (dirección y token de agente, modo 0600); existen solo mientras correSolo con el servidor detenido
forum/last-portel último puerto que usó el servidor, preferido en el siguiente arranque para que una pestaña abierta siga vivaSí
forum/server.logel log del servidor de forumSí
forum/listener.pid, forum/listener.logel único listener de forum por usuario, ver ForumSolo con el listener detenido; el log siempre
forums/<session>/una sesión de revisión de forum: session.json (cola y estado), transcript.json (la conversación), layout.json, whiteboards/ y attachments/Sí para una sesión terminada. Perdés su transcript y sus dibujos. Nada poda estas carpetas por vos
projects/<repo>-<hash>/tasks/<id>.jsonuna tarea, el schema TaskSolo con vx strike. Borrarla a mano hace que vexillum olvide la tarea mientras su camp y su branch siguen ahí
projects/<repo>-<hash>/camps/el pool de worktrees: pool.json, pool.lock y <slot>/<repo>/No. Los slots son git worktrees registrados en tu repositorio; usá vx strike
projects/<repo>-<hash>/wakes/<id>.jsonun wake pendiente del sentinel. Está en la cola del commander que despachó la tarea, que puede ser otro proyecto que el de la tarea (origin nombra ese); un wake que se está entregando se renombra brevemente <id>.json.claimed-<time>-<pid>-<n>Sí. Perdés solo esa notificación
projects/<repo>-<hash>/wakes/forum/<session>.jsonun wake de forum pendiente (uno por sesión de revisión)Sí. Perdés solo esa notificación
projects/<repo>-<hash>/forum-inbox/<session>/<uid>.jsonfeedback de forum esperando al commander; los confirmados pasan a read/ (se guardan los 200 más nuevos)read/ sí. El feedback sin leer se pierde si lo borrás
projects/<repo>-<hash>/pending/<id>.jsonuna decisión pendiente del commander, ver vx pendingSí, si ya no necesitás esa decisión registrada
projects/<repo>-<hash>/reports/<agent>-<id>.mdel reporte final de un scout (lo escribe el scout, no el binario)Sí, una vez que lo leíste
projects/<repo>-<hash>/pauses/<agent>.mduna pausa declarada por un soldier (la escribe el soldier)Sí. Sin ella, un soldier inactivo vuelve a tratarse como no confirmado
projects/<repo>-<hash>/commanders.jsonel registro de commanders: por harness (claude, pi, opencode), el pane de herdr del commander que corrió por última vez vx dispatch o vx forum en el proyecto, leído de HERDR_PANE_ID. Un pane que herdr ya no reporta como el mismo harness trabajando en el proyecto se trata como ausente, y el pane se busca de nuevo por directorio. Ver Forum. commanders.lock solo serializa a quienes escribenSí. Se reescribe la próxima vez que un commander corra uno de esos comandos; hasta entonces el forum no muestra commander para uno que no tiene un Stop hook vivo

Cada archivo JSON se escribe primero a un archivo temporal *.tmp y se renombra a su lugar. Un crash puede dejar un *.tmp suelto; es seguro borrarlo.

En esta página