Pipeline-code, tooling, documentatie
Find a file
Coornhert b655f56f8c feat: MVP semantisch zoeken via Qdrant + Mistral embeddings
- semantic.py: Qdrant client + Mistral embeddings indexer
- /api/v1/zoeken?mode=semantic — zoek op betekenis
- /api/v1/zoeken?mode=keyword — Meilisearch (default)
- 148 Grondwet-artikelen geëmbed
- Qdrant container draait op dt-prod-01

Voorbeeld: "mag mijn baas mijn e-mail lezen?" → Artikel 13 (briefgeheim)
Voorbeeld: "wanneer mag de politie mijn huis binnenkomen?" → Artikel 12 (score 0.789)

Sluit #37
2026-03-30 10:44:01 +02:00
ansible feat: dagelijkse sync pipeline + cron job 2026-03-30 06:42:04 +02:00
src/wetgit feat: MVP semantisch zoeken via Qdrant + Mistral embeddings 2026-03-30 10:44:01 +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 index.json generator + CLI tool 2026-03-30 10:23:20 +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