Ficha técnica v0.31.0

Software nativo, documentado para agentes.

Nyx compila a código nativo con LLVM, hospeda su propio compilador y entrega cada proyecto con lo que un agente de IA necesita para escribirlo bien.

Instalación
$curl -sSf https://nyxlang.com/install.sh | sh

Linux · x86_64 / aarch64 / armv7l · Termux

01 Instalación

Un comando para instalarlo. Uno para empezar un proyecto.

Requisitosclang, make y git, más las cabeceras de desarrollo de libgc, OpenSSL y zlib. El instalador instala lo que falte con el gestor de paquetes que encuentre: apt, dnf, pacman, apk, xbps, o pkg en Termux.
Instala en~/.nyx, con un enlace en ~/.local/bin/nyx (en Termux, $PREFIX/bin/nyx). Si ese directorio no está en tu PATH, el instalador lo agrega a tu perfil de shell y te avisa.
Verificarnyx --version — imprime la versión instalada.
Actualizarnyx update — trae la versión más reciente, la recompila e imprime qué cambió.
Desinstalarnyx uninstall — borra la toolchain y el enlace que creó.
Primer proyectoterminal
$ nyx init my-app  crea nyx.toml, src/main.nx, AGENTS.md y docs/nyx/$ cd my-app$ nyx run  compila el proyecto y lo ejecuta

Muestra

Cómo se lee el lenguaje.

sample.nxnyx
enum Shape {
    Circle(int),
    Square(int),
    Rect(int, int)
}

fn area(s: Shape) -> int {
    return match s {            // exhaustive: every variant must be covered
        Shape.Circle(r)  => 3 * r * r,
        Shape.Square(l)  => l * l,
        Shape.Rect(w, h) => w * h
    }
}

fn main() {
    let rect: Shape = Shape.Rect(3, 7)
    print("area = ${area(rect)}")
}
MuestraUn enum con match exhaustivo sobre cada variante, interpolación de strings y tipos explícitos en cada binding.
Verificado connyx check — analiza y chequea tipos, sin linkear y sin ejecutar.
Ejecútalonyx sample.nx

03 Desarrolla con agentes

Cada proyecto lleva el contexto que un agente necesita para escribirlo.

Lo que siembra nyx init

AGENTS.mdEl manual de campo: cómo se construye un programa acá, los rieles duros y las trampas que arruinan un primer intento. Neutral respecto del proveedor, según la convención agents.md.
CAPABILITIES.mdÍndice generado de la biblioteca estándar — lo que ya existe, para que nadie lo reinvente. Se regenera en cada build.
docs/nyx/La referencia densa más tres guías: escribir un programa, arreglar un error de compilación y reportar fricción.

Herramientas

  • nyx vetNombra las trampas grep-ables en lugar de dejar un error del parser: warning[W101] src/main.nx:12
  • nyx init --agent=claude,cursor,copilotUn archivo adaptador corto y opcional por herramienta. AGENTS.md sigue siendo la única fuente de verdad; el adaptador solo apunta ahí.
  • nyx init --sddSiembra el andamiaje orientado a especificación: constitución, glosario, plantilla de ADR y specs/ — así el agente pregunta en vez de inventar.
  • nyx reportDeja un FRICTION.md en el proyecto. No se envía nada por su cuenta.
AGENTS.md — sembrado por nyx initextracto
> **REGLA DE ORO — NO leas el fuente del compilador ni de la biblioteca estándar**
> (`std/`, `compiler/`, ni nada bajo tu instalación de Nyx) «para entender cómo funciona».
> No hace falta y te vas a perder. Si buscas una función, búscala en `CAPABILITIES.md`. 

## Rieles duros (NO hagas esto)

- **NO inventes sintaxis.** Si dudas de que una palabra clave o una feature exista,
  probablemente no exista — revisa `CAPABILITIES.md` (o <https://nyxlang.com/by-example/>)
  en vez de adivinar.
- **NO reinventes lo que ya hace la stdlib.** Si `CAPABILITIES.md` lo lista, úsalo.
- **NO parches una limitación.** Repórtala con `nyx report` y detente.

04 Fuente

Abierto, versionado y honesto sobre ser 0.x.

LicenciaApache-2.0
Repositoriohttps://github.com/nyxlang-dev/nyx
ChangelogCHANGELOG.md — cada versión, con qué cambió y por qué.
Estado0.x: en desarrollo activo. La API puede cambiar y no se garantiza la compatibilidad entre versiones minor.