Ir al contenido

El navegador

Ventana de terminal
eidos browser # http://127.0.0.1:6180, solo esta máquina
eidos browser --port 7000 --no-open

El marco es el de VS Code. Un centro de comandos en la parte superior abre la paleta: vacía, lista lo que abriste hace poco y, según escribes, busca Blueprints (los planos), documentos, borradores, tareas, lienzos y archivos de assets por título, id y ruta (T-A7GJ encuentra la tarea, B-5KFM el Blueprint), y lo que eliges se abre en su página propia, no en el lector sobre una tabla; > lista todos los comandos que el anfitrión y cada plugin registraron, con su tecla. ⌘P o / la abre, ⇧⌘P la abre sobre los comandos (las teclas son una preferencia: las de VS Code, / o ⌘K). A su lado hay flechas de atrás y adelante.

/ abre en Home: primero los hallazgos de la comprobación, los errores antes que los avisos; lo que los plugins ponen ahí (las tareas asignadas a ti y el tablero por columna, del Backlog); después los Blueprints de la raíz por colección, con sus documentos y borradores contados. La cabecera de Home es el nombre de la raíz: el producto que define (eidos setup --product, o el lápiz a su lado), y si no, el repositorio en el que está. La pestaña del navegador lleva el mismo nombre.

Una barra de actividad en el borde izquierdo tiene primero una casa para Home y después un icono por vista de la barra lateral principal: primero la vista Root (los documentos de nivel superior, los borradores, una entrada por colección, el grupo de cada plugin), después la actividad de cada plugin en el orden que fijes (Canvas, Comments, Backlog, Source control, Assets, Settings); la persona como quien actúas y un engranaje están al pie. Una barra lateral auxiliar en el borde derecho y un panel bajo el área principal son filas de pestañas que un plugin rellena (el historial de un Blueprint, sus tareas y assets adjuntos, Plato, el Terminal), ocultas hasta que se muestran. Cada sector se muestra, se oculta y se redimensiona como en VS Code (⌘B, ⌥⌘B, ⌘J, arrastrando su borde), y todo se recuerda por persona en local.yaml. Donde un plugin pone una vista es solo donde empieza: arrastra su icono o su pestaña a otro sector (Plato al panel, el Terminal a la barra lateral principal), o haz clic derecho para Mover a, y se queda ahí en cada raíz hasta que la devuelvas o ejecutes Restablecer la ubicación de las vistas.

Buscar, la primera de las actividades hasta que la arrastras a otro sitio, es la búsqueda del centro de comandos abierta en la barra lateral principal (⇧⌘F): primero lo que coincide por título, luego cada mención en el texto con la coincidencia marcada. Pestañas, en la app de escritorio (un navegador tiene las suyas): las páginas se abren como pestañas sobre el área principal. Una página se abre en la pestaña visible, ⌘ y clic en un enlace o + abre una pestaña propia, fija una pestaña para conservar su página y cierra una con su ×, un clic con el botón central o su menú; al cerrar la última, el área principal queda vacía hasta que abras una página. Las pestañas abiertas se recuerdan para cada raíz. El modo enfoque, en Preferences → Workbench, muestra una página cada vez. Buscar en el archivo (⌘F) encuentra texto en la página o el archivo abierto, con cada coincidencia marcada, y Enter y ⇧Enter para recorrerlas.

Cada colección es una tabla: una fila por Blueprint, las propiedades que le aplican como columnas, ordenable desde la cabecera, con una caja de búsqueda, un selector de columnas y un filtro por cada propiedad marcada como tal; una propiedad que además tiene activado Only show actively used in filters ofrece solo los valores que tiene un Blueprint de la colección. Un filtro con un valor lo dice, en cada página que tiene filtros: su botón nombra el filtro y el valor en el color de acento, y su × lo devuelve a todos. Un desplegable de diez opciones o más, sea de un filtro o de un campo, se abre con una búsqueda: escribe parte de un valor para acotar la lista y elígelo con las flechas y Enter. Una colección agrupada anida las filas bajo sus grupos. Un punto al final de una fila marca un Blueprint sobre el que la comprobación tiene algo que decir. N empieza un Blueprint nuevo; todas las tablas de la página se ordenan igual, con sus filtros a la izquierda. Todas las tablas tienen la misma caja de búsqueda, la primera entre sus filtros (la de una colección, la tabla, el tablero, los borradores y los hitos del Backlog, los borradores de Blueprints, los assets, Teclas rápidas, Vocabulary, Versions): deja las filas que tienen cada palabra que escribes, sin importar mayúsculas ni orden, en el id, el título o un valor que muestra la fila, y su × la vacía. En el tablero, la tabla y los borradores del Backlog, la tabla de una colección y los assets, los filtros (la búsqueda entre ellos como q) están en la dirección de la página, así que una tabla filtrada se puede guardar en marcadores, compartir, recargar y volver a alcanzar con atrás y adelante; cambiar uno no añade un paso al historial. Las demás tablas guardan los suyos mientras la página está abierta.

Cuando el tablero, la tabla o los borradores del Backlog, o la tabla de una colección, están filtrados, Save as view en el ⋮ junto a su búsqueda guarda los filtros y el orden de la página con un nombre: Private, solo tuya en local.yaml y nunca confirmada en git, o Shared, en .eidos/plugins/eidosmd/views.yaml y confirmada con la raíz, para que todo el equipo la vea. La vista aparece al momento en la barra lateral principal en un grupo de las vistas de su página (Board views, Task views y Draft views en el Backlog, las de una colección tras Collections), una privada con el ojo tachado, y abre esa página tal como se guardó; su dirección es la de la página con view=<id> (/p/backlog?view=V-7K2M&assignee=plato), y el orden va junto a los filtros como sort=<columna>, con un - delante de la columna para el sentido contrario. Si cambias los filtros o el orden de una vista que abriste, el ⋮ ofrece Update view para ella o Save as new view; haz clic derecho sobre una vista, o en su ⋯, para renombrarla, hacerla privada o compartirla (Make private, Make shared; conserva su id, así que una página abierta en ella sigue en ella) o borrarla. My work, By status y By type del Backlog son las vistas con las que empieza toda raíz. eidos views →

Haz clic en una fila para el lector sobre la tabla: las propiedades a la izquierda, el cuerpo a la derecha con su riel de contenidos, hallazgos y comentarios debajo. Esc vuelve a la tabla; Expand abre el Blueprint como página propia. Un documento de nivel superior, un borrador, una tarea y un asset se abren con la misma forma. Haz clic derecho en una fila, aquí o en cualquier tabla que liste cosas (los borradores, las tareas y los hitos del Backlog, los assets), para ver sus acciones: primero las formas de entrar, su id o su ruta para copiar, las salidas al archivo, y al final la que lo quita, que pregunta una vez.

La página del lector se abre sobre una barra que se queda fija al desplazarte: el camino de vuelta y el id del Blueprint (specs / B-5KFM; en una tarea, sus padres y su propio id, Backlog / T-PARENT / T-TASK), con Guardar y Descartar a su derecha mientras editas (Eliminar, Buscar en el archivo y Mover el blueprint a…, que lleva el archivo a otro grupo de su colección con todos los enlaces siguiéndolo, están en el ⋮); debajo, el título con la ruta bajo él, y el id y la ruta se copian cada uno desde un enlace que aparece al pasar el cursor.

El lector tiene los tres modos de Obsidian, elegidos en el ⋮ junto al título (el que está en uso, marcado) y conservados de página en página durante la sesión (una preferencia Default view dice en cuál empieza). Reading muestra la página renderizada. Editor es un editor de markdown con la página renderizada mientras escribes: el bloque bajo el cursor muestra su sintaxis, el resto de bloques se dibujan; un asa + en un bloque, o / en uno vacío, abre un menú de bloques (encabezados, listas, una lista de tareas, una cita, código, una tabla, una regla, y lo que ofrecen los plugins: una imagen o un archivo de Assets, una tarea de Backlog); convierte un bloque en otro tipo; una imagen pegada cae en la carpeta de assets y en el texto. Source es el archivo como texto.

En todos los modos las propiedades se editan en su sitio como campos tipados, como los muestra Obsidian: un desplegable donde una propiedad tiene opciones, chips para una lista, una casilla, un calendario para una fecha; una propiedad declarada que al archivo le falta está a un clic, listada por su nombre (nunca el id que el archivo ya lleva, que muestra la barra), y una que pertenece a una herramienta se muestra bloqueada. Guardar escribe el archivo en el estilo de la casa, aplica las reglas al guardar del Linter y ejecuta la comprobación sobre él. Salir de un editor con cambios los guarda primero: otro modo, un enlace o un modal cerrado sale en cuanto el archivo los tiene. Cuando el archivo no los acepta, el error dice por qué, y un enlace o un modal cerrado pregunta si seguir editando o salir sin ellos. El mismo menú abre el archivo en el editor externo que nombraste en Preferences o lo muestra en el Finder.

Un bloque de código marcado con un lenguaje (```ts, ```yaml, ```bash y el resto de gramáticas de Shiki) se colorea con los colores del tema en Reading, en los bloques dibujados del editor y en cualquier otro sitio donde la página muestra markdown; un bloque sin lenguaje queda sin color. Un bloque marcado como mermaid se dibuja como su diagrama, con los colores y la fuente de la página, y se vuelve a dibujar cuando cambian el tema o el lado claro u oscuro. El archivo conserva el texto: en el editor, un clic en el diagrama lo abre, Diagrama en el menú de bloques inserta uno, y un bloque que no se puede analizar muestra su texto con el error de Mermaid debajo. Exportar a PDF…, en el ⋮ de un Blueprint, un documento, un borrador o una tarea, escribe el archivo abierto como PDF, con o sin su título y sus propiedades, con el tamaño de página, la orientación, el margen y la escala que elijas; la app de escritorio pregunta dónde guardarlo, y un navegador abre el diálogo de impresión sobre él.

Un Blueprint puede empezar antes de pertenecer a una colección: Save as draft en el formulario de nuevo Blueprint conserva el archivo con la CLI, compartido con la raíz o privado, fuera de todo índice y comprobación hasta que Publish lo mueve a su colección bajo las reglas de new. Los borradores tienen un grupo en la vista Root y una página propia. eidos draft →

El engranaje abre Settings como vista de la barra lateral: Eidos (la visión general, el estándar, las guías para agentes), Framework (el documento del Framework (el marco) como formularios: Root, Folders, Templates, Properties, Vocabulary, Roles, Me, cada página un borrador hasta Save to Framework), Eidosmd (Health Check con los hallazgos de la comprobación y sus arreglos, y una pestaña Settings para la estrictez y las reglas de secciones; Preferences, Users, Plugins, Versions), y una página por plugin activo, con su interruptor, sus ajustes y su guía.

  • Users: las personas que trabajan en la raíz (nombre, @alias, rol, email, y un interruptor Agente para un agente de IA que comenta como sí mismo), guardadas en settings.yaml; eidos users las lista y eidos users add añade una. Acting as elige como quién firma comentarios esta máquina. Atribución, no autenticación.
  • Plugins: cada plugin con su interruptor, su descripción y sus ajustes como formulario; un ajuste marcado privado es solo tuyo. Plugins →
  • Preferences: el aspecto, ordenado como la Apariencia de Obsidian: el esquema de color base (Adaptar al sistema, Claro u Oscuro), un color de acento, un tema (el predeterminado, uno incluido con Eidos como Catppuccin, AnuPpuccin, Nord, Gruvbox, Tokyo Night o Things, o uno tuyo, hecho en el editor de temas con el lado claro junto al oscuro, importado de un archivo CSS o de una bóveda de Obsidian, y exportado como un solo archivo CSS), las fuentes de la interfaz, del texto y monoespaciada, el tamaño del texto al leer y editar, y Ctrl con la rueda del ratón para cambiarlo; después el idioma (inglés, español o portugués, o el que pida tu navegador), la vista por defecto, el ancho de página (Fixed o Fluid, también Change default page width to en la paleta), las teclas de la paleta, la esquina en la que aparecen las notificaciones (arriba a la derecha por defecto), el editor externo, si las notas de la versión se muestran tras una actualización, y el orden de los grupos y actividades de la barra lateral.
  • Novedades: cada versión con su titular y un resumen de una frase, y una página por versión, con sus entradas agrupadas en Nuevo, Mejorado, Cambiado y Corregido, desde la página de versiones. Tras una actualización, la página abre una vez la de la versión nueva, con las versiones que te saltaste; What’s New en la paleta las lista todas, Show Release Notes abre la tuya, y Home termina con ella.

Todo lo que el navegador recuerda es YAML en .eidos/plugins/eidosmd/: settings.yaml y el views.yaml de las vistas compartidas viajan con la raíz, local.yaml es tuyo e ignorado por git (igual que una carpeta local/ a su lado). Nada se guarda en el navegador ni en una base de datos.

Registry, bajo Eidosmd en Settings y en la paleta, es el Registro dentro de la página: cada Framework publicado allí y los tres que vienen con Eidos, como una tabla de nombre y descripción, categoría, colecciones e instalaciones en los últimos 30 días, con un filtro de categoría y una búsqueda a la izquierda. Una fila abre el Framework sobre la tabla (Expand para su propia página, /registry/@owner/name): sus colecciones con el template (la plantilla) de cada variant (la variante) como el archivo que es, sus roles, documentos de nivel superior, propiedades y README, cada pieza marcada según la tiene esta raíz: en absoluto, igual o de otra forma.

Include in this root es eidos install para la raíz en la que estás. Lo que le falta a la raíz viene marcado, una pieza que la raíz tiene de otra forma la eliges tú, y una propiedad viene con su colección o con Everything this root lacks (--all). El plan muestra lo que se escribe y lo que ya está, y cada conflicto pregunta Keep current o Accept incoming antes de escribir nada; el botón dice cuántas piezas incluye. Lo que llega es exactamente lo que escribe eidos install <package> --collection … --on-conflict … --yes: el índice reescrito, la revisión ejecutada, la procedencia registrada y la única petición de conteo de instalaciones enviada. Cada pieza que le falta a la raíz tiene además su propio Include, que abre el mismo plan con solo esa pieza marcada, como eidos install <package> --variant … toma una. eidos install →

Cuando no se puede llegar al Registro, se listan solo los Frameworks incluidos con Eidos y se incluyen desde la copia dentro de la CLI, sin enviar nada, como con --offline. Un README se muestra con su HTML como texto y sus imágenes como enlaces, así que la página sigue sin cargar nada de fuera.

Una actividad propia, que lista cada lienzo con sus páginas. Un lienzo es una pizarra de páginas donde un nodo es un boceto (una idea que todavía no es un Blueprint), un Blueprint (dibujado en vivo desde su archivo), una nota adhesiva o texto libre, con flujos entre ellos, marcos alrededor de regiones e hilos de comentarios fijados a cualquier cosa. Un boceto se promueve a Blueprint por el mismo andamiaje que eidos new y conserva su sitio. Los nodos se estilizan con las propiedades del propio Framework. Una página se exporta como PNG, SVG o JSON Canvas para Obsidian.

Navegar por el lienzo → es el manual: cada herramienta, gesto, atajo y el archivo en disco.

Una app Preact incluida en el paquete como archivos estáticos, servida por el módulo http del propio Node con una API JSON bajo /api/ (las rutas de un plugin bajo /api/plugins/<name>/), ligada solo a la interfaz de loopback. Sin recursos externos, así que funciona sin conexión. La búsqueda usa texto completo de SQLite en Node 22 (node:sqlite, nada que compilar) y un barrido en memoria en Node 20.