pisanvs/ley-chile
pisanvs/ley-chile has 44 GitHub stars and 1 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 01:48 UTC. Last push 2026-11-13.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Registro completo de la evolución de la Ley Chilena en formato git.
Developer ToolsREADME.md
Originalley · chile
El corpus jurídico chileno, en formato amigable. Para agentes y humanos.
Control de cambios para toda la historia de la ley chilena. Cada ley, decreto y resolución desde 1810, reconstruida desde la Biblioteca del Congreso Nacional como un repositorio git: una publicación, un commit.
→ Explorar el sitio · Conectar por MCP · El branch con los datos
Pipeline Status
| Historial | ███████████████████░ 95% · watermark 2026-08-27 · 338,476 / 353,528 buildable · 4,719 excluded (undated/sentinel) |
| Cache | ████████████████████ 100% · 357,283 / 353,528 buildable fetched |
| Last run | 2026-11-13 20:43 UTC |
Graph Build Status
| Fetch normas | ███████████████████░ 99% · 357,285 / 358,247 normas · complete ✅ |
| Last run | 2026-11-13 20:43 UTC |
Sobre estas barras. Graph Build Status sigue la construcción del grafo de metadatos (
graph.json): la descarga de la metadata de las ~358 mil normas del catálogo BCN. Pipeline Status sigue lo que viene después: cuántas normas tienen ya su historial de versiones reconstruido en la branchhistorial. Los denominadores cuentan sólo normas construibles (con fecha de publicación y al menos una vigencia real); las normas sin fecha o con fechas centinela quedan excluidas.
Por qué existe
El sistema LeyChile de la BCN publica textos refundidos — versiones consolidadas que ya incorporan todas las modificaciones — pero sin historial de cambios. Un texto vigente es una foto: no tiene autor, ni fecha de origen por artículo, ni forma de responder «¿qué decía esto en 2013?» o «¿qué cambió, y quién lo cambió?».
Este proyecto reconstruye ese historial. Reescribe la ley chilena como un repositorio git: cada publicación legislativa es un commit, y cada artículo tiene su ventana de vigencia. Eso convierte una investigación en una consulta.
La vista redline: dos versiones de una ley comparadas palabra por palabra — lo eliminado en rojo, lo añadido en verde.
Para agentes — servidor MCP
Un servidor MCP remoto sobre todo el corpus, sólo lectura y sin autenticación:
https://leyes.pisanvs.cl/api/mcp
| Herramienta | Qué hace |
|---|---|
search_laws |
Busca normas por texto libre (con organismo + idNorma para desambiguar) |
get_law |
Metadatos + índice de artículos + historial de versiones de una norma |
get_article |
El texto de un artículo en cualquier fecha |
search_articles |
Ubica el artículo relevante dentro de una norma larga |
diff_versions |
Compara dos versiones de una norma |
get_modifications |
Qué normas modificaron a ésta, y a cuáles modifica |
list_versions |
Todas las versiones fechadas de una norma |
Añádelo con un clic desde la portada (Claude, Claude Code, Cursor, VS Code, Codex), o revisa /llms.txt para las instrucciones legibles por agentes.
Cómo funciona — el pipeline
Cuatro fases idempotentes y resumibles. git (la branch historial) es la única fuente de verdad; Postgres y Meilisearch son modelos de lectura derivados y descartables.
build_catalog.py → catalog.json (BCN SPARQL — todos los idNorma)
fetch_normas.py → graph.json (metadata LeyChile + expansión BFS)
fetch_versions.py → cache/diffs, versions (versiones + diffs por norma)
build_history.py → git fast-import → branch historial
Cada commit en historial representa un evento de publicación: el texto de la norma nueva, más el texto actualizado de cada norma que ésta modificó, más derogaciones y symlinks de sucesión. La GitHub Action pipeline.yml corre las cuatro fases cada 3 horas.
Diseño de tres branches
| Branch | Contiene | Montada en |
|---|---|---|
main |
Scripts, config, CI. Nunca datos de leyes. | — |
pipeline-cache (huérfana) |
Versiones y diffs descargados | ./cache/ |
historial (huérfana) |
Los commits de leyes reconstruidos | ./historial/ |
Correr el pipeline
pip install -r requirements.txt
# Pipeline completo (idempotente, resumible)
LEYCHILE_DATA_ROOT=./historial python scripts/run_pipeline.py
# Vista previa de commits, sin importar nada
LEYCHILE_DATA_ROOT=./historial python scripts/build_history.py --dry-run
# Tests (funciones puras — sin red ni git)
python -m pytest
Ver CLAUDE.md para la arquitectura completa: detección de DATA_ROOT, el modelo cause-centered de commits, la expansión BFS, los enrichers de tramitación, y el port SSR del frontend.
Fuentes de datos
| Fuente | Endpoint | Límite |
|---|---|---|
| BCN SPARQL | https://datos.bcn.cl/sparql |
— |
| LeyChile norma JSON | .../get_norma_json?idNorma=... |
adaptativo |
| LeyChile XML versionado | .../obtxml?opt=7&idNorma={id}&idVersion={fecha} |
1 req/s |
Fecha centinela. LeyChile usa
2222-02-02para versiones abiertas («vigente»). El filtroint(fecha[:4]) <= 2100la descarta.
Proyectos similares
- Free Law Project — jurisprudencia federal de EE. UU.
- DC Council law-html — Código del Distrito de Columbia en git
- nickvido/us-code
Licencia
Los textos legales son documentos públicos del Estado de Chile. El código se distribuye bajo licencia MIT.
Auspiciado por kerokero
