Pipeline-code, tooling, documentatie
Find a file
Coornhert d3536c74a4 chore(ansible): Meilisearch/Qdrant stack, web vhost, module-paden
- Meilisearch v1.12 + Qdrant v1.13 toegevoegd aan docker-compose
- Env vars voor MEILI_URL/QDRANT_URL/MISTRAL_API_KEY/FORGEJO_API_TOKEN
- Nieuwe web vhost (wetgit.nl) via wetgit-web.conf.j2
- Systemd service-paden:
  - wetgit.service → uvicorn wetgit.api.app:app
  - wetgit-celery.service → celery -A wetgit.tasks
- WETGIT_GIT_REPOS_DIR verplaatst naar {{ app_dir }}/app
  (data leeft op /opt/wetgit/app/rijk/)
- Nieuwe vault-secrets: meili_master_key, qdrant_api_key, mistral_api_key
2026-04-21 20:58:38 +02:00
ansible chore(ansible): Meilisearch/Qdrant stack, web vhost, module-paden 2026-04-21 20:58:38 +02:00
src/wetgit feat: Fase 2/3 features — hybrid search, feed, domeinen, referenties 2026-04-21 20:58:27 +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: Fase 2/3 features — hybrid search, feed, domeinen, referenties 2026-04-21 20:58:27 +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