Comandos
eidos <command> --help imprime lo mismo con ejemplos. Todo comando ligado a una raíz acepta --root <path>; sin él, la raíz se encuentra por su marca .eidos/ desde el directorio de trabajo. Los comandos que leen aceptan --json para una salida estable en snake_case.
Códigos de salida: 0 hecho, 1 la comprobación encontró errores (o un índice está desactualizado bajo --check), 2 el comando no pudo ejecutarse.
eidos install
Sección titulada «eidos install»Crea una raíz, o trae piezas de un Framework (el marco) a una que ya existe. El plan se muestra siempre antes de escribir nada.
eidos install # asks each answer in a terminaleidos install @BuildableWorks/software --group identity --product "Care Connect" --yeseidos install @BuildableWorks/book docs/book --naming "Title Case" --yeseidos install @BuildableWorks/research --collection investigations --yes # into the root you are ineidos install ../other-root --all --plan # print the plan, touch nothingUna fuente es una de estas:
- Un paquete del Registro,
@owner/nameo@owner/name@<version>. Las tres semillas son paquetes; se sirven desde la copia incluida en la CLI cuando las versiones coinciden o con--offline. El Registro → - Un
owner/repo@<tag>de GitHub o una URL git, con--path <folder>nombrando la raíz dentro. - Un repositorio en esta máquina,
<path>@<tag>, con--path. - Una carpeta, leída tal cual.
Sin fuente, en una terminal, el recorrido lista los paquetes incluidos y los del Registro, cada uno con su descripción; la página del Registro del navegador lista los mismos e incluye desde ellos en la raíz en la que estás.
| Opción | Significado |
|---|---|
--collection <name> |
Trae una colección: su entrada, variants (variantes), templates (plantillas), agrupación, propiedades acotadas y carpeta. Repetible |
--variant <collection.variant> |
Trae una variant y su template a una colección que la raíz tiene. Repetible |
--role <name> |
Trae un archivo de rol. Repetible |
--top-level <title> |
Trae un documento de nivel superior y su archivo. Repetible |
--all |
Toma todo lo que a la raíz le falta |
--plan / --dry-run |
Imprime el plan y se detiene |
--yes |
Confirma sin preguntar |
--on-conflict current|incoming |
Resuelve todos los conflictos de la misma manera. Un conflicto es un nombre que ambos lados definen de forma distinta |
--force |
Trata cada omisión (un nombre que ambos lados definen igual) como conflicto |
--offline |
Solo paquetes incluidos y carpetas locales; no descarga ni envía nada |
--naming <convention> |
Raíz nueva: kebab-case (por defecto), TitleCase o "Title Case" |
--group <name> |
Raíz nueva: un grupo inicial bajo la colección agrupada. Repetible |
--product <name> |
Raíz nueva: rellena el marcador del README |
--no-framing |
Raíz nueva: deja fuera la colección de encuadre |
--strict / --no-strict |
Raíz nueva: si un aviso hace fallar eidos check, guardado con la raíz |
--no-agents |
Raíz nueva: no escribe el puntero de AGENTS.md |
--json |
La fuente, el plan, cada escritura, omisión y conflicto, y la comprobación |
En una raíz que ya existe, cada nombre se convierte a la convención de nombres de la raíz, el documento del Framework se edita conservando sus comentarios, y después se reescribe el índice y se ejecuta eidos check. Una segunda ejecución con los mismos argumentos no escribe nada.
eidos init se mantiene durante una release como alias oculto de install desde una semilla incluida.
eidos new
Sección titulada «eidos new»Levanta un Blueprint (el plano): el frontmatter a partir de las propiedades que aplican a la colección, el cuerpo del template de la variant con su guía, el nombre de archivo en la convención de nombres, un id permanente.
eidos new specs "Session Management" --group identity --summary "Keeps a signed-in user signed in."eidos new specs Passkeys --variant micro --set status=Intake --set tags=auth,securityeidos new frames Market --dry-run| Opción | Significado |
|---|---|
--variant <name> |
Una de las variants de la colección; por defecto, la predeterminada de la colección |
--group <name> |
La subcarpeta |
--id <id> |
El id permanente, un solo token en cualquier forma; por defecto, uno nuevo de B- y cuatro caracteres, como B-1AC3, único en la raíz |
--summary <line> |
El resumen de una línea, para que el índice lo liste de inmediato |
--set key=value |
Un valor de propiedad al crear; repetible; las listas se separan por comas |
--dry-run |
Imprime el archivo en lugar de escribirlo |
Las propiedades requeridas se generan en blanco; una opcional se escribe solo cuando --set o --summary le dan valor. Rechaza un id ocupado o un archivo existente.
eidos draft
Sección titulada «eidos draft»Un Blueprint empezado antes de pertenecer a una colección: el archivo que new escribiría, conservado con la CLI hasta que se publica, fuera de todo índice, listado y comprobación.
eidos draft new specs "Session Management" --group identity # .eidos/plugins/eidosmd/drafts/, shared with the rooteidos draft new specs "A rough idea" --private # local/drafts/, private, never committedeidos drafts # every draft, with the collection each is meant foreidos drafts --search passkeys # the drafts holding every wordeidos draft move a-rough-idea sharedeidos draft set a-rough-idea --for frames --group ""eidos draft publish session-management # into its collection under new's rules, then the indexeidos draft discard a-rough-ideapublish necesita el id libre, convierte el nombre a la convención de la raíz y anota un grupo que la colección no declara. El navegador ofrece lo mismo desde el formulario de nuevo Blueprint y la cabecera del lector.
eidos check
Sección titulada «eidos check»Valida la raíz entera, o los Blueprints nombrados, contra el propio Framework de la raíz.
eidos checkeidos check specs/identity/login.mdeidos check --strict # this run: warnings fail tooeidos check --jsonLos errores están mal se miren como se miren: frontmatter que no se puede analizar, un id o title ausente, un id duplicado, una variant que la colección no declara, un enlace a un archivo que no existe, un template que el Framework nombra pero no tiene, una región sin cierre.
Los avisos son huecos que mostrar, nunca rechazar: una propiedad requerida ausente o vacía, un valor fuera de las options de una propiedad, una propiedad que ningún bloque declara, un campo de seguimiento de trabajo, una sección que el template declara pero el cuerpo no tiene, una sección desconocida (solo si la raíz lo pide, abajo), secciones desordenadas (un encabezado que el template no declara se omite), un valor de agrupación que no coincide con su carpeta, un frame (encuadre) que nadie ha escrito, un índice desactualizado, un salto de versión, y cualquier cosa en la raíz que el documento del Framework no declare (o declare y no esté).
Que un aviso haga fallar la comprobación es un ajuste de la raíz (eidos setup --strict on|off, guardado en git para que la CI y todas las máquinas coincidan). --strict y --no-strict lo anulan para una ejecución.
Las reglas de secciones también son de la raíz, cada una un interruptor en el mismo archivo. Un encabezado que el template de la variant no declara (section-unknown) no se informa salvo que la raíz lo active (eidos setup --warn-unknown-sections on): un template es el punto de partida y la guía para un blueprint completo, no una valla, así que los encabezados de más son cosa de quien lo mantiene. Un encabezado declarado que el cuerpo no tiene (section-missing) y los encabezados declarados fuera de orden (section-order) se informan salvo que se desactiven (--warn-missing-sections off, --warn-section-order off).
eidos index
Sección titulada «eidos index»Reconstruye la clave index dentro de Framework.yaml, una lista por colección, sin tocar nada más del documento.
eidos indexeidos index --check # write nothing; exit 1 if staleUn Blueprint sin summary se lista con resumen nulo y se nombra en stderr. Nunca se inventa.
eidos framework, list, show
Sección titulada «eidos framework, list, show»eidos framework # version, naming, folders, properties, vocabularyeidos framework --as yaml # the document, normalized, with guidance as commentseidos list specs --group identity --where status=Drafteidos list --search B-5KFM # by its id; every word of a search, in any caseeidos show login # by id, filename, or patheidos show login --json # properties and sections parsed out--where key=value compara una propiedad sin distinguir mayúsculas; una propiedad de lista coincide con cualquier elemento. --search <palabras> deja los Blueprints que tienen cada palabra, sin importar mayúsculas ni orden, en el id, el título, el resumen o el valor de una propiedad, lo mismo que encuentra la caja de búsqueda de una tabla en la página; nunca lee el cuerpo. Encuentra un Blueprint así en lugar de buscar en los archivos.
eidos property
Sección titulada «eidos property»El frontmatter de un Blueprint desde la terminal, para que nadie abra un archivo para cambiar un valor.
eidos property get @logineidos property set @login status Doneeidos property set @login tags auth,securityeidos property unset @login depends_onEl Blueprint es @<id>, una ruta o un nombre de archivo. Un valor se convierte al tipo declarado de la propiedad. Una propiedad que la tabla no declara para la colección, una que pertenece a una herramienta o un valor fuera de las opciones se rechaza salvo con --force. --dry-run imprime el frontmatter como quedaría.
eidos reid
Sección titulada «eidos reid»Ids nuevos y generados para los blueprints, la única forma de cambiar un id.
eidos reid @login # un blueprint, o varioseidos reid --all # cada blueprint cuyo id no sea ya B- y cuatro caracteresCada blueprint recibe un id como B-1AC3, único en la raíz, y cada referencia que un plugin guarda al antiguo lo sigue: el destino de un hilo de comentarios, un nodo de un lienzo, los blueprints de una tarea, los enlaces de un archivo de Assets. Los archivos conservan su nombre, y los enlaces entre blueprints son rutas, así que no se tocan. El plan se imprime primero, como en configure:, con --dry-run, --yes y --json. Un plugin apagado que guarda archivos se nombra en el plan, porque no puede seguir el cambio.
eidos move
Sección titulada «eidos move»Un blueprint movido a otro grupo de su colección.
eidos move @login billing # el blueprint, como lo nombra show, y un grupo que su colección declaraEl archivo pasa a la carpeta del grupo con su nombre y su id intactos, la propiedad de la agrupación toma el grupo donde la colección declara una, y cada enlace de la raíz que apuntaba a la ruta antigua la sigue. El plan se imprime primero, como en configure:, con --dry-run, --yes y --json. Mover el blueprint a… en el ⋮ de un lector ejecuta el mismo plan.
eidos configure:<noun>
Sección titulada «eidos configure:<noun>»El Framework, editado desde la terminal. Cada cambio imprime un plan (cada entrada, clave, archivo y enlace que toca, y cada valor que desaparecerá) y pregunta.
| Sustantivo | Operaciones |
|---|---|
property |
add, show, rename, set, remap, remove |
collection |
add, show, rename, remove |
folder |
add, show, rename, set, remove |
group |
add, rename, remove |
variant |
add, rename, set-default, remove |
term |
add, set, remove |
doc |
add, rename, set, remove |
role |
add, show, rename, remove |
eidos configure:property add team --type Text --applies-to all --required --meaning "Owning team."eidos configure:property add tier --type Text --options Core,Extended --meaning "How central the unit is."eidos configure:property rename status maturity --dry-runeidos configure:property remap maturity Draft=Nascent Done=Mature --yeseidos configure:collection rename specs units --unit uniteidos configure:folder add assets --description "Images the blueprints link to."eidos configure:folder add exports --owned-by @acme/exports --description "What the exporter writes."eidos configure:group rename specs cli cli-coreeidos configure:variant add specs api --from microeidos configure:doc rename "Design Principles" Principleseidos configure:role rename developer engineer| Interruptor | Significado |
|---|---|
--dry-run |
Imprime el plan y se detiene |
--yes |
Procede sin preguntar |
--force |
Procede donde desaparecerán valores o archivos, o a través de un conflicto que el plan nombra |
--preserve |
En una eliminación: deja los archivos o claves en disco para que check los informe como no declarados |
Un renombrado llega a todos los sitios donde aparece el nombre: el frontmatter de cada Blueprint, cada enlace de la raíz, me.md, los usuarios y los ajustes de esta CLI. Un movimiento es un git mv donde git está activo. Estrechar las options de una propiedad nombra cada Blueprint con un valor fuera de la nueva lista y necesita --force. Tras cualquier cambio se reescribe el índice y se ejecuta check. Sin terminal y sin interruptor, un comando sale con 2 nombrando el interruptor, para que un agente lo aprenda del error.
eidos migrate
Sección titulada «eidos migrate»Lleva una raíz al estándar que lleva esta CLI, mecánicamente.
eidos migrate --dry-runeidos migrateRenombra lo que cambió entre versiones, reescribe el bloque properties.core del estándar, fija eidos_version e informa de lo que solo el dueño puede decidir (una carpeta o archivo en la raíz que nada declara). Una raíz ya al día se deja en paz. Versionado →
eidos setup
Sección titulada «eidos setup»Los ajustes propios de la CLI para una raíz, ninguno del estándar: el producto que define la raíz, qué plugins están activos, si un aviso hace fallar check, las personas que trabajan en la raíz y como quién actúa esta máquina.
eidos setup # a menu of the plugins, then the questions, in a terminaleidos setup --product "Care Connect" # what the Home and the desktop app call the root; "" goes back to the repository's nameeidos setup --enable backlog --disable terminal --strict on --add-user "Ada Lovelace" --alias ada --role developer --email [email protected] --as adaeidos setup --warn-unknown-sections on --warn-section-order off # which section rules warnEscribe .eidos/plugins/eidosmd/settings.yaml (compartido con la raíz) y local.yaml (tuyo, ignorado por git).
eidos plugin
Sección titulada «eidos plugin»eidos plugin # every plugin: title, version, on or off, where its switch is writteneidos plugin enable backlog # plugins.backlog: true in settings.yaml; a plugin that keeps a root folder declares iteidos plugin disable terminal --me # private, in local.yamleidos plugin set plato agent codex # one declared setting, to the file its scope names (a me setting in local.yaml); --unset for the defaulteidos instructions backlog # a plugin's own guide, while it is onDesactivado, un plugin no registra nada; su carpeta, ajustes y regiones se quedan para el día en que vuelva. Plugins →
Comandos de los plugins
Sección titulada «Comandos de los plugins»Cada plugin activo monta su comando bajo un encabezado Plugins en eidos --help; eidos <plugin> --help lo imprime con ejemplos.
eidos canvas new "Product Map" # .eidos/plugins/canvas/product-map.yaml (--private for local/); list, show <id> [--page], move <id> shared|private, schemaeidos comments @login # the threads on a blueprint; add <target> <text> [--section] [--item] [--reply] [--as], resolve, delete, projecteidos backlog --status "In Progress" # the tasks; add <title> --for @login [--type], show, set, check <task> <n>, promote, types, sections, export, draft:*eidos decisions --unconfirmed # the inbox; add <decision> --for @login [--type] [--task] --as <alias>, show, set, confirm, types, statuses, project, removeeidos assets --for login # the files; show, add <file>, link <path> --to @login, set --title|--name, removeeidos linter --fix # the markdown files that drifted from the root's rules, settledUn objetivo para Comments es un Blueprint (@<id>, una ruta, un nombre de archivo), un documento o <host>:<id> (backlog:<task>, canvas:<page>, decisions:<id>). Plugins →, una página por plugin
eidos version
Sección titulada «eidos version»eidos version # the root's versions, newest firsteidos version record 1.0.0 # a row naming HEADeidos version record 1.0.0 --commit a1b2c3d --tag # names that commit and tags it blueprints/1.0.0Una versión es un punto fijo: un nombre para un commit, para que un equipo pueda leer después la raíz exactamente como estaba (el alcance que un cliente aprobó, contra qué se construyó una release). Git ya guarda cada archivo; la fila le da un nombre al commit. Es el registro de esta CLI, en .eidos/plugins/eidosmd/versions.yaml, escrito solo cuando se pide. El prefijo de la etiqueta es versions.tag_prefix en settings.yaml, blueprints/ por defecto.
eidos views
Sección titulada «eidos views»eidos views # every saved view: its id, its name, the address that opens it, shared or privateeidos views --json # { views[{ id, name, page, query, scope }] }eidos views move V-7K2M private # move a view to your local.yaml, or back with shared; its id, filters, and sort keptLas vistas guardadas en el navegador desde un tablero o una tabla filtrados (Save as view): primero las compartidas, de .eidos/plugins/eidosmd/views.yaml, confirmadas con la raíz, y después las tuyas, de views en local.yaml, nunca confirmadas. Una vista se crea, se renombra y se borra en el navegador, y pasa de compartida a privada o al revés allí o con eidos views move; el comando las lista, para que un agente pueda darle a una persona la dirección de una bajo eidos browser. My work, By status y By type del Backlog son las vistas con las que empieza toda raíz y no se guardan en ninguno de los dos archivos. Vistas guardadas →
eidos browser
Sección titulada «eidos browser»eidos browsereidos browser --port 7000 --no-openLa raíz en una página web local en 127.0.0.1. El navegador →
eidos roles, whoami
Sección titulada «eidos roles, whoami»eidos roleseidos whoami --role developer --experience "new to this product" --capacity fluenteidos whoami --clearwhoami escribe el .eidos/me.md privado, ignorado por git. Roles →
eidos users
Sección titulada «eidos users»eidos users # cada usuario: nombre, @alias, rol, correo y si es un agenteeidos users add "Plato" --agent # añade uno al momento; solo hace falta el nombreeidos comments add @login "…" --as plato # un comentario firmado por ese usuario, no por tiLas personas y los agentes que trabajan en la raíz, la misma lista que la página de ajustes Usuarios (users en .eidos/plugins/eidosmd/settings.yaml). add solo pide el nombre: el alias sale del nombre, el rol es opcional y un usuario que ya existe se indica en lugar de añadirse dos veces. Un agente se añade una vez con --agent y luego firma cada comentario como sí mismo con --as <alias> (o EIDOS_USER), nunca como la persona para la que trabaja. Comentarios →
eidos instructions, agents, standard, seeds
Sección titulada «eidos instructions, agents, standard, seeds»eidos instructions # list the guideseidos instructions overview # required first read for an agenteidos agents --write # a pointer in AGENTS.md (or --file CLAUDE.md)eidos standard # the text of EIDOS.md this CLI carries; --version for the numbereidos seeds # the bundled seeds, their collections and variants