STXT: Introducción
STXT es un lenguaje de marcado Human-First, donde los documentos son legibles y expresivos, y al mismo tiempo fiables para máquinas.
STXT se pronuncia "ESS-text o ESE-text" — primero la letra
S, despuéstext, como S-TEXT.
Documentos
STXT es un lenguaje de marcado legible para personas, pensado para documentos y datos estructurados: sin llaves, sin etiquetas de cierre, sin caracteres de escape — solo nombres, valores e indentación. Está orientado a:
- Representar documentos y datos de manera clara.
- Ser sencillo de leer y escribir.
- Ser trivial de parsear en cualquier lenguaje de programación.
- Permitir tanto contenido estructurado como texto libre.
- Aplicar reglas de contenido mediante
@stxt.schemao@stxt.template.
Un documento STXT combina la legibilidad con una estructura semántica explícita, lo que lo hace adecuado para documentos corporativos, contenido de un CMS y ficheros de configuración:
# Un email sencillo, sin validación
Email:
From: John Smith
To: Mery Adams
Cc: Keyla Brown
Title: Project report
# El cuerpo es un bloque de texto literal
Body Content >>
Hello Mery!
The book is finished!Las reglas del lenguaje son pocas, y el ejemplo de arriba ya usa dos. La
indentación es la estructura: un tabulador o cuatro espacios por nivel, y la
jerarquía en pantalla es la jerarquía del documento. El texto libre es
literal: todo lo indentado bajo un nodo >> es texto tal como se escribió, sin
escapes ni comillas. El tutorial recorre el resto en quince secciones
breves.
Documentos con namespace y esquemas
STXT permite el uso de namespaces para agrupar documentos. Se pueden definir además esquemas o plantillas para validar el contenido de un documento.
Un documento Email del namespace com.example.docs:
Email (com.example.docs):
From: John Smith <[email protected]>
To: Mery Adams <[email protected]>
Cc: Keyla Brown <[email protected]>
Title: Project report
Body Content >>
Hello Mery!!
The book is finished!!Y la plantilla que valida ese namespace:
Template (@stxt.template): com.example.docs
Structure >>
Email (com.example.docs):
From: EMAIL
To: EMAIL
Cc: EMAIL
Bcc: EMAIL
Title: (?)
Body Content: (1) TEXT
Metadata (org.example.meta): (?)La validación es opcional y forma parte del propio lenguaje: la plantilla de arriba también es STXT. Una herramienta de validación comprueba que cada nodo está declarado, que las cardinalidades se cumplen y que los valores con tipo — fechas, números, direcciones de correo — están bien formados; el modelo de contenido cerrado rechaza un campo mal escrito en lugar de aceptarlo en silencio. Cómo encajan documentos, definiciones y herramientas en un proyecto se describe en El entorno de trabajo.
Comparado con otros formatos
STXT comparte terreno con los formatos de texto estructurado habituales, y la comparación con cada uno tiene su propia página:
- YAML también se basa en la indentación, pero optimiza para la serialización de datos antes que para los documentos.
- JSON es un formato para máquinas, no pensado para escribirse a mano — y el que STXT adopta como representación de su árbol.
- XML tiene todas las características de STXT y más, a cambio del enfoque Human-First: esquemas más complejos, etiquetas de cierre y escapes.
- TOML comparte el objetivo pero no el modelo: tablas de claves con valores tipados, pensadas para configuración plana.
- Markdown da formato a la prosa pero no estructura los datos: ambos se complementan.
La versión corta de los cinco está en la FAQ, y el razonamiento de fondo, en Principios de diseño.
Por dónde empezar
- Leer el tutorial: un documento completo en la primera pantalla, y una regla por sección después.
- Abrir el playground: editor, validación y ejemplos en el navegador, sin instalar nada.
- Recorrer los casos de uso: documentos corporativos, IA y LLMs, CMS y publicaciones, ficheros de configuración, RFCs y contratos.
- Instalar las herramientas: la línea de comandos
stxt, la extensión de VS Code y las bibliotecas TypeScript, Java y Python.
El lenguaje es estable: la sintaxis y el árbol canónico están en estado Zenith, y un documento válido hoy lo es para siempre. La promesa exacta está en Estabilidad y versiones, y la FAQ responde el resto.