odd-view0.2.0
Browse Organic Driven Development artifacts in a two-pane Pi terminal UI.
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
odd-view — explorá los artefactos de ODD desde Gentle Shell
Si no quieres salir de la terminal para explorar los archivos que crea ODD, tenemos la solución.
odd-view agrega el comando /odd-review a Gentle Shell. Abre un navegador fullscreen, de solo lectura, con el árbol de artefactos ODD a la izquierda y una vista formateada del archivo seleccionado a la derecha.
Qué resuelve
ODD conserva especificaciones, tareas, decisiones y evidencia dentro del directorio odd/ del proyecto. odd-view permite revisar esos archivos sin cambiar de aplicación ni abandonar el flujo de trabajo en la terminal.
- Descubre recursivamente los archivos de
odd/. - Renderiza Markdown con el tema activo de Gentle Shell.
- Permite navegar con teclado o mouse.
- Resalta y activa con el mouse los indicativos de teclas y las carpetas del árbol.
- Se adapta a terminales angostas mostrando un panel por vez.
- Mantiene una frontera estrictamente read-only.
- Rechaza escapes de ruta, symlinks y archivos especiales.
- Limita cada preview a 512 KiB y detecta contenido binario.
Instalación
Desde npm — recomendado
Instalá la versión pública en el home aislado de Gentle Shell:
gentle-shell install npm:odd-view
Reiniciá o recargá Gentle Shell después de instalar. Para actualizar o eliminar el paquete:
gentle-shell update npm:odd-view
gentle-shell remove npm:odd-view
Desde un release de GitHub
También podés instalar una versión inmutable directamente desde su tag:
VERSION=0.1.0
gentle-shell install git:github.com/oniricosistemas/odd-view@v${VERSION}
Probar este checkout
Durante el desarrollo no hace falta instalar el paquete:
gentle-shell --extension ./extensions/odd-review.ts
Uso
Abrí Gentle Shell dentro de un proyecto que tenga un directorio odd/ y ejecutá:
/odd-review
La ventana muestra el árbol de artefactos a la izquierda y el preview del archivo activo a la derecha.
Controles
Todos los indicativos de teclas de la ventana —los del borde superior y los de la fila de ayuda— responden al mouse: al pasar por encima se resaltan y al hacer click ejecutan esa acción.
| Acción | Teclado | Mouse en fullscreen |
|---|---|---|
| Cambiar de panel | Tab o Shift+Tab |
Click en [Tab Switch], en Tab switch o sobre un panel |
| Seleccionar archivo | ↑, ↓, Page Up, Page Down, Home, End |
Click o rueda sobre el árbol |
| Abrir el preview | Enter o → |
Click en [Tab Switch], en Tab switch o sobre el preview |
| Desplazar el preview | ↑, ↓, Page Up, Page Down, Space, Home, End |
Rueda sobre el preview, o click en ↑, ↓, PgUp, PgDn de la ayuda |
| Colapsar o expandir una carpeta | — | Click sobre la carpeta en el árbol |
| Volver al árbol | ← |
Click sobre el árbol |
| Cerrar | Esc o Ctrl+C |
Click en [Esc Close] o en Esc close |
Seguridad de lectura
El navegador nunca modifica los artefactos del proyecto. Antes de abrir un archivo:
- valida cada componente de la ruta dentro de
odd/; - rechaza symlinks, directorios y archivos especiales;
- abre el descriptor en modo read-only y no-follow;
- vuelve a comprobar la identidad del archivo después de abrirlo;
- limita la cantidad de datos cargados en memoria.
Los nombres de archivos también se limpian antes de renderizarse para evitar secuencias de control en la terminal.
Contribuir
Los formularios de issues, el proceso de triage manual y la guía para pull requests están en CONTRIBUTING.md.
Desarrollo
npm test
npm run check
npm run release:check
| Ruta | Responsabilidad |
|---|---|
extensions/odd-review.ts |
Entrada del paquete para Pi/Gentle Shell |
src/command.js |
Registro y ciclo de vida de /odd-review |
src/files.js |
Descubrimiento seguro y previews read-only |
src/browser.js |
Layout fullscreen, renderizado e interacción |
test/ |
Cobertura funcional, visual, de seguridad y distribución |
odd/tasks/odd-review.md |
Especificación ODD y evidencia del proyecto |
La guía de publicación está en RELEASING.md. La versión de npm y el tag vX.Y.Z deben representar exactamente el mismo commit.
Licencia
MIT © 2026 Onírico Sistemas.
creado con: