Pipeline-code, tooling, documentatie
Find a file
Coornhert 6db0f6afc3 feat: MVP webinterface
Server-rendered HTML via Jinja2 templates in FastAPI:
- Homepage: zoekbalk, statistieken, inhoudsopgave Grondwet
- /grondwet: volledige tekst als leesbare pagina
- /grondwet/samenvatting: AI-samenvatting (B1-niveau)
- /zoeken: keyword (Meilisearch) + semantisch (Qdrant)
- /historie: tijdlijn van versies
- /diff: visuele vergelijking tussen twee versies
- Sober, responsive CSS (overheidsstijl)
- Disclaimer op elke pagina

flake.nix: jinja2 + markdown packages toegevoegd

Sluit #39
2026-03-30 10:48:36 +02:00
ansible feat: dagelijkse sync pipeline + cron job 2026-03-30 06:42:04 +02:00
src/wetgit feat: MVP webinterface 2026-03-30 10:48:36 +02:00
tests feat: project scaffold + BWB XML parser 2026-03-29 21:24:32 +02:00
.env.example feat: project scaffold + BWB XML parser 2026-03-29 21:24:32 +02:00
.gitignore docs: README herschrijven, data/ toevoegen aan gitignore 2026-03-30 06:40:06 +02:00
flake.lock feat: project scaffold + BWB XML parser 2026-03-29 21:24:32 +02:00
flake.nix feat: MVP webinterface 2026-03-30 10:48:36 +02:00
LICENSE Initial commit 2026-03-29 08:15:21 +02:00
pyproject.toml feat: project scaffold + BWB XML parser 2026-03-29 21:24:32 +02:00
README.md docs: README herschrijven, data/ toevoegen aan gitignore 2026-03-30 06:40:06 +02:00

WetGit

Nederlandse wetgeving als code. Elke wet een Markdown-bestand. Elke wijziging een Git-commit.

In de geest van Dirk Volkertzoon Coornhert (1522-1590) — humanist, graveur en voorvechter van een transparant rechtssysteem.

Wat is WetGit?

WetGit zet de volledige Nederlandse wetgeving om naar version-controlled, machine-readable Markdown-bestanden in Git-repositories. Browse de wet, git log de historie, git diff elke wijziging — zie precies wat er veranderde, wanneer, en waarom.

Repositories

Repository Inhoud Status
wetgit/meta Pipeline, tooling, documentatie Actief
wetgit/rijk Rijksregelgeving — 40.566 regelingen Actief

Quick start

# Clone de rijksregelgeving
git clone https://git.wetgit.nl/wetgit/rijk.git

# Wat zegt artikel 1 van de Grondwet?
cat rijk/wet/grondwet/BWBR0001840/README.md

# Zoek in alle wetgeving
grep -r "persoonsgegevens" rijk/wet/ --include="*.md" -l

Pipeline

De conversie-pipeline draait in Python en verwerkt BWB XML naar Markdown:

# Parse alle wetten
python -m wetgit.pipeline.runner --output ./output --type wet

# Of een specifiek type
python -m wetgit.pipeline.runner --output ./output --type AMvB --limit 100

Architectuur

SRU zoekservice ──→ BWB XML repository ──→ Parser ──→ Markdown + YAML
(catalogus)         (download)              (lxml)    (git commit)

Technische stack

Component Technologie
XML parsing lxml + XPath
Git operaties pygit2
API (planned) FastAPI
Zoeken (planned) Meilisearch
Hosting Self-hosted Forgejo
Infra Ansible + Hetzner

Databronnen

Bron Omvang Licentie
BWB (Basiswettenbestand) 40.566 regelingen CC0 (publiek domein)
CVDR (decentrale regelgeving) Gepland Publiek domein
EUR-Lex (EU-regelgeving) Gepland Vrij herbruikbaar

Development

# Nix devshell (bevat alle dependencies)
nix develop

# Tests draaien
PYTHONPATH=src python -m pytest tests/ -v

# Linting
ruff check src/
black --check src/

Disclaimer

WetGit is geen officiele bron van wetgeving. Raadpleeg altijd wetten.overheid.nl voor de authentieke tekst. AI-gegenereerde samenvattingen zijn geen juridisch advies. Gebruik op eigen risico.

Licentie

  • Wetteksten (data): CC0 1.0 (publiek domein)
  • AI-samenvattingen: CC-BY 4.0
  • Tooling & pipeline: MIT

Contact