2 puntos por GN⁺ 2026-03-29 | 1 comentarios | Compartir por WhatsApp
  • Un repositorio que gestiona en archivos Markdown más de 8,600 leyes recopiladas desde 1960 mediante la API pública del BOE del gobierno de España
  • Cada ley se almacena junto con metadatos en YAML, y todo el historial de reformas se rastrea con commits de Git
  • Incluye todo el conjunto de legislación consolidada de ámbito nacional, como la Constitución, leyes orgánicas, leyes ordinarias y decretos-ley, y cada commit registra enlaces a la fuente oficial
  • Los textos legales se ofrecen en dominio público, y el repositorio agrega funciones de estructuración, control de versiones y comparación
  • Se prevé que el proyecto se integre con la API de Legalize.dev para ofrecer funciones ampliadas como búsqueda de leyes, comparación de versiones y alertas de cambios

Resumen general

  • Un proyecto que gestiona toda la legislación española en forma de repositorio Git, donde cada ley está compuesta por un archivo Markdown y todo el historial de reformas queda registrado en commits
  • Incluye más de 8,600 leyes desde 1960, y los datos se obtienen de la API pública del BOE (Boletín Oficial del Estado) del gobierno de España
  • Este repositorio forma parte del proyecto Legalize, y permite gestionar versiones, comparar y rastrear leyes
  • Los textos legales se ofrecen en dominio público, y el repositorio proporciona funciones de estructuración, metadatos y control de versiones

Estructura de archivos

  • Todas las leyes se guardan como archivos Markdown dentro del directorio spain/
    • Ej.: BOE-A-1978-31229.md es la Constitución Española, BOE-A-1995-25444.md es el Código Penal, BOE-A-2015-11430.md es el Estatuto de los Trabajadores y BOE-A-2000-323.md es la Ley de Enjuiciamiento Civil
  • Cada archivo comienza con metadatos frontmatter en formato YAML
    • Incluye campos como titulo, identificador, pais, rango, fecha_publicacion, ultima_actualizacion, estado y fuente
    • En el ejemplo se especifican la fecha de publicación de la Constitución (Constitución Española), la fecha de actualización más reciente, el estado (vigente) y la URL de la fuente oficial

Alcance de la legislación incluida

  • Incluye toda la legislación consolidada clasificada por el BOE a nivel nacional
    • Constitución, leyes orgánicas (Leyes Orgánicas), leyes ordinarias (Leyes ordinarias), decretos-ley (Decretos-ley) y reales decretos legislativos (Reales Decretos Legislativos)
  • Cada reforma se guarda como un commit independiente, y la fecha de autoría del commit refleja la fecha oficial de publicación
  • Los mensajes de commit incluyen el identificador de la reforma y el enlace a la fuente oficial

Ejemplos de uso

  • Después de clonar el repositorio, es posible buscar artículos concretos de una ley o revisar el historial de cambios
    • Ej.: buscar el artículo 135 de la Constitución con el comando grep
    • Revisar el historial de cambios de ese artículo con git log
    • Comparar con git diff los cambios concretos de la reforma de estabilidad presupuestaria de 2011

Fuente de datos y licencia

  • Todos los datos se obtienen de la API de legislación consolidada del BOE
  • Los textos legales están en dominio público, y el repositorio solo agrega estructuración y control de versiones
  • La estructura del repositorio, los metadatos y las herramientas se distribuyen bajo licencia MIT

API y planes de expansión

  • La API de Legalize estará disponible próximamente en legalize.dev
    • Está previsto que ofrezca búsqueda de leyes, filtrado, comparación de versiones y alertas de cambios

Cómo contribuir

  • Si hay errores en los textos consolidados o faltan reformas, se puede abrir un issue con el nombre de la ley, el artículo y la fuente oficial para proponer una corrección

Creador

  • El proyecto fue creado por Enrique Lopez
  • Forma parte del proyecto Legalize y está vinculado con legalize.dev

1 comentarios

 
GN⁺ 2026-03-29
Comentarios en Hacker News
  • En Francia, las leyes no solo se versionan, sino que incluso se demuestran formalmente
    Con el lenguaje Catala se trata la ley como si fuera código
    Edición: también hay bastante gente del equipo francés aquí. Al menos cinco personas están hablando de control de versiones citando Légifrance

    • Catala no es una herramienta para “probar” la ley, sino un lenguaje que expresa tal cual la estructura lógica (default logic) de la legislación y la traduce a una forma computable
      Al implementar lógica de cálculo de impuestos o prestaciones, permite verificar mucho mejor que con lenguajes generales si coincide con la ley real
    • Me pareció irónico que saliera el nombre “Catala” en medio de una discusión sobre derecho español
    • Antes ya hubo otra discusión sobre este tema
    • “Borbaqui est la volonté du peuple!” — parece humor francés
  • Yo construí un pipeline para convertir todo el cuerpo de la legislación nacional española en un repositorio Markdown con control de versiones
    Cada ley es un archivo, y cada modificación queda registrada como un commit de git con la fecha real. Hay 8,642 leyes y 27,866 commits en total
    Al final, la legislación es una ‘secuencia de parches’, así que creo que git ya era la solución. En vez de frases como “elimínese el apartado 3...”, puedes ver los cambios reales como diff
    La fuente fue la API de legislación consolidada del BOE, y lo armé en unas 4 horas con Claude Code
    Ahora estoy explorando si esto podría evolucionar hacia una API jurídica o una plataforma de datos abiertos

    • La intención de la ley muchas veces se aclara a través de la jurisprudencia, así que tendría mucho valor superponer las sentencias encima de cada norma en orden cronológico
      También se podría analizar qué leyes se citan más y qué expresiones han requerido interpretación repetidamente
    • Me daba curiosidad en qué formato el boletín oficial entrega las leyes. En Alemania todavía es solo PDF, así que dicen que da envidia
      Tener una API oficial como en España sería muchísimo más eficiente, pero en Alemania hasta entidades privadas reclaman copyright
    • En el sistema jurídico romano-napoleónico, los cambios a cada disposición se pueden rastrear, pero la interacción entre leyes sigue dependiendo de la interpretación de jueces y abogados
      En el Reino Unido, por ejemplo, legislation.gov.uk permite seguir todo el historial de modificaciones
    • En España, la legislación consolidada no cubre todo, y el verdadero problema es la falta de datos de sentencias
      Los grandes bufetes ya tienen sus propias bases de datos, así que como servicio de pago el mercado es limitado
    • Si el código tributario de EE. UU. también estuviera volcado así en Markdown, todos podrían hacerse su propio TurboTax
      Ver enlace del código tributario del IRS
  • Este tipo de proyecto es una excelente dirección para aumentar la transparencia de los datos legales
    Puede servir como base para conectar a la IA con la comprensión y explicación del derecho
    Ojalá surjan intentos parecidos en otros países

  • Sería todavía más interesante si el autor de cada commit fuera el político realmente responsable de la reforma
    Sería como poder ver con git blame quién hizo exactamente esa ley

    • Estaría bien sumarle el concepto de pruebas unitarias
      Tener lagunas legales como casos de prueba y correr pruebas de regresión cada vez que cambie la ley para verificar que no haya problemas
  • Me parece una gran idea. Ojalá un sistema así se aplicara a las leyes de todos los países

    • El sector legal sabe muy bien que este tipo de eficiencias amenaza su modelo de ingresos
      Igual que hay lobby para mantener complicada la declaración de impuestos, la industria legal también podría intentar bloquear la transparencia y la eficiencia
      Ver este artículo
    • Nuestra organización sin fines de lucro Open Law Library está construyendo este tipo de sistema trabajando directamente con gobiernos
      El estado de Maryland ya lo implementó en regs.maryland.gov,
      y también está abierto el repositorio en GitHub
      Ayudamos a comunidades locales a publicar su legislación oficial en GitHub
    • Los documentos legislativos del estilo británico también se redactan básicamente sobre una lógica de diff, así que no es una técnica secreta exclusiva del sector tecnológico
    • Totalmente de acuerdo. Es un trabajo excelente
  • Yo también estoy implementando algo parecido para proyectos de ley del estado de California
    Creo que este enfoque debería volverse la forma estándar. Siempre me he preguntado por qué el original auténtico de estos documentos no está en un repositorio git

    • Viéndolo con cinismo, tal vez el gobierno no quiere que la gente entienda plenamente las leyes
      En una interpretación más generosa, quizá simplemente casi nadie en el ámbito jurídico entiende o sabe implementar esta tecnología
  • Excelente proyecto. La mayor parte de las leyes de la época de Franco fue derogada en 1978, pero aun así incluye leyes anteriores al siglo XIX
    Eso sí, la fuente empieza desde 1960 en un solo commit, así que no existe historial de cambios anterior a esa fecha
    El BOE incluso tiene documentos escaneados hasta el siglo XVII, así que su nivel de preservación documental es impresionante

  • La limitación de Git es que “git blame” no funciona
    Estaría bien saber quién votó a favor o en contra, pero git no tiene una estructura de commits colaborativos

    • Tal vez se podría resolver incluyendo resultados de votación o metadatos en el log de commits
      De todos modos, ya es un logro enorme haber metido toda la legislación de un país en git
    • Git no está optimizado para commits colaborativos, pero se puede complementar con convenciones comunitarias como “Co-Authored-By”
      Ese enfoque viene del desarrollo del kernel de Linux
    • También se podría poner al Congreso completo como autor principal y a cada partido junto con los resultados de votación como coautores
    • En realidad, esa información ya es pública, así que un LLM podría responderla; bromean con que ni siquiera haría falta que los nerds usaran git
    • Si haces squash de un PR en el que participó más de una persona, puede quedar como commit conjunto y dejar huella de colaboración
  • Soy el autor (OP). No esperaba una reacción tan grande
    Como hubo muchas solicitudes, publiqué el código → GitHub: legalize-dev
    El pipeline está diseñado con una estructura multi-país. Francia (con datos de Légifrance) ya funciona,
    y para agregar un nuevo país solo hay que implementar 4 interfaces en Python
    También escribí una guía de contribución
    Ya hubo gente de Alemania, Portugal, Suecia, Finlandia, Países Bajos y Brasil que expresó interés en participar
    Si conoces fuentes públicas de datos legales de tu país, sería genial que ayudaras con un PR
    A medida que esto crezca hará falta infraestructura, así que están preparando financiamiento en Open Collective
    También hay un sitio donde se pueden ver leyes y diffs en tiempo real
    Todavía es inestable, pero la visión es grande

  • ¡Felicidades! Es un proyecto muy bueno
    Antes hubo un intento parecido llamado gitlaw, y en Brasil existe el estándar LexML para representar técnicamente los cambios en la legislación
    Es bastante complejo, pero un enfoque interesante

    • “Otra vez XML”, bromeó alguien. España también participó alguna vez en LexML, pero parece que ahora cambió a otro formato