Instalar ontoref
Un comando instala una CLI y una capa de datos que funcionan sin demonio. Después creas tu propia instancia y le preguntas algo.
El comando
curl -fsSL https://ontoref.dev/public/install.sh | sh
En otro sitio que no sea ~/.local:
curl -fsSL https://ontoref.dev/public/install.sh | sh -s -- --prefix ~/.local
Linux y macOS, amd64 y arm64. Sin cuenta, sin credencial, sin oras.
Ese comando no está escrito aquí como ilustración. Antes de anunciar una
publicación, una comprobación descarga esa URL, instala sobre un HOME
desechable y un prefijo desechable sin nada del entorno del autor, y entonces le
pide al producto instalado tres cosas que no pueden salir bien si la capa de
datos no llegó:
✓ ontoref setup
✓ ontoref describe project
✓ ontoref describe capabilities
Si la página y la comprobación llegaran a discrepar, una de las dos está mal — y la discrepancia se detecta, que es justo por lo que son la misma cadena.
Qué acaba de pasar
El instalador verifica el sha256 del paquete antes de colocar nada, y después
deja tres cosas distintas:
| Dónde | Qué |
|---|---|
~/.local/bin | ontoref (la CLI), nickel, ontoref-tier, ontoref-daemon |
~/.local/share/ontoref — en macOS ~/Library/Application Support/ontoref | la capa de datos: reflection/, ontology/, domains/, templates/ |
~/.config/ontoref | config.ncl (sembrado, nunca pisado) y el registro de proyectos |
El demonio es un acelerador opcional, nunca una dependencia de ejecución (ADR-029). Su binario está en esa lista y nada de lo que vas a hacer ahora lo arranca. Lo que has instalado es el nivel 0: declaraciones en Nickel y una CLI que las lee. Responde en un portátil sin ningún servicio levantado y sin red.
Una sola dependencia externa de ejecución: Nushell (≥ 0.110). Si no tienes
ninguno, el paquete trae uno de reserva y lo dice; tu propio nu tiene siempre
preferencia. Si ~/.local/bin no está en tu PATH, el instalador también te lo
avisa.
Crea tu propia instancia
El nivel 0 no es algo que se lee, es algo que tu proyecto lleva encima. Desde dentro de un proyecto tuyo:
cd /ruta/a/mi-proyecto
ontoref setup
Eso escribe la capa 1 — el proyecto describiéndose a sí mismo:
.ontology/core.ncl axiomas, tensiones, prácticas, aristas
.ontology/state.ncl dónde está el proyecto frente a dónde quiere estar
.ontology/gate.ncl los límites que condicionan cada transición
.ontology/manifest.ncl metadatos, capas, capacidades
adrs/ decisiones, con sus restricciones tipadas
reflection/qa.ncl conocimiento aceptado, como preguntas y respuestas tipadas
reflection/backlog.ncl preguntas abiertas, encaminadas
reflection/modes/ tus propios procedimientos, como grafos de pasos
.ontoref/project.ncl identidad
.ontoref/config.ncl configuración de ejecución
Es idempotente, instala un hook post-commit y otro post-merge, y registra
el proyecto en ~/.config/ontoref/projects.ncl — una sola CLI sirve a varios
proyectos. --kind Library | Service | DevWorkspace | PersonalOntology elige el
esqueleto; Service es el que sale por defecto.
Pregúntale algo
No te fíes del apartado anterior. Ejecuta esto, dentro de ese proyecto:
ontoref describe project
Sobre un esqueleto que todavía no has rellenado, responde — y no responde casi nada. Eso es correcto, y es lo más útil que esta página te puede enseñar: la herramienta sostiene lo que declaraste, así que en el primer minuto sostiene un esqueleto.
Este otro es más elocuente sobre la forma de lo que tienes:
ontoref describe capabilities
CAPABILITIES bounded — 15 sections · 193577 bytes if full
ontoref_commands 48 items
reflection_modes 1 items
adrs 0 items
feature_flags 0 items
...
Cuarenta y ocho verbos disponibles, cero decisiones registradas, cero indicadores
declarados. El inventario está acotado a propósito — te dice su propio tamaño en
vez de volcarte 190 kB en el terminal. Todo lo que está a 0 es trabajo que no
has hecho, dicho como número en lugar de insinuado por el silencio.
Qué no hace
La parte honesta, y va aquí y no en una nota al pie.
Esto no es una receta de A a B. Nada de lo anterior ha configurado,
desplegado ni migrado nada. setup ha creado ficheros; no ha decidido qué va
dentro. Declararlo te toca a ti, y es el trabajo de verdad — la CLI sólo hace
consultable lo que declaraste, y te avisa cuando deja de ser cierto.
No se promete ningún determinismo. ontoref no garantiza que tu proyecto acabe donde dijiste que iba. Garantiza algo más estrecho y comprobable: lo que dejaste declarado, otra persona lo puede verificar — sin clonar tu repositorio y sin sostener tu sistema entero en la cabeza.
El demonio no cambia nada de eso. Cachea y comparte contexto; no es el protocolo. Si alguien te dice que necesitas un servicio levantado para sacarle provecho al nivel 0, te está describiendo otro producto.
Un arranque rápido no puede argumentar el núcleo. Los dos ejes, la costura del testigo, la habitabilidad del plano — nada de eso está aquí, y es deliberado. Instálalo, pregúntale algo y decide si la respuesta valía los dos minutos.
Otras vías, y lo que hoy te cuesta cada una
El acceso y la verificación son vías distintas a propósito. El instalador de
arriba descarga el paquete como fichero plano por HTTPS desde este dominio —
esa es la vía de acceso, y por eso no necesita cuenta ni oras. El artefacto
firmado y atestiguado vive en un registro OCI, que es la vía de verificación.
El resto de este apartado está escrito como el de arriba: sólo lo que se ha ejecutado, con los fallos dichos por su nombre.
Leer el código. El repositorio se clona de forma anónima por HTTPS:
git clone https://repo.jesusperez.pro/ontoref/ontoref-code.git
Un clon a secas todavía no compila. Medido, no supuesto: cargo falla antes
de compilar nada, porque el espacio de trabajo declara una dependencia de ruta
obligatoria hacia un repositorio hermano que quien llega de fuera no tiene. Así
que hoy el clon es una vía para leer el código, no para instalarlo — y el
comando de una línea de arriba no es una comodidad frente a compilar desde
fuentes: ahora mismo es la puerta de entrada.
El registro no permite descarga anónima. GET /v2/ontoref/dist/tags/list
responde UNAUTHORIZED, y la imagen del demonio también. oras pull y
docker run contra este registro necesitan una credencial que todavía no
tienes; pedirla es una conversación, no un comando, y no hay ninguna clave de
firma publicada con la que puedas comprobar un paquete por tu cuenta. Decirlo es
más útil que imprimir un comando que fallaría en tu terminal.
Es decir: la vía verificable existe y hoy no puedes recorrerla sin ayuda. La
comprobación de integridad que sí obtienes, sin ayuda de nadie, es el sha256
que el instalador verifica antes de colocar un solo fichero — y la comprobación
del principio de esta página, que es la afirmación más fuerte que aquí se
ofrece: alguien sin acceso al estado de esta máquina instaló exactamente lo que
tú vas a instalar, y respondió.
Si algo sale mal
sh install.sh --uninstall quita los binarios; --purge quita además los datos
y la configuración.
Puede pasar que el instalador soporte tu plataforma y aun así no haya paquete
publicado para una versión dada. El instalador dice qué plataforma y qué versión,
en vez de fallar a secas, y a continuación sugiere --version, compilar desde
fuentes o el contenedor — dos de las cuales, según el apartado anterior, hoy no
están abiertas para ti sin ayuda. Si acabas ahí, dilo: el hueco es
real y está localizado, no es un misterio que tengas que depurar por tu lado.