# 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](https://git.wetgit.nl/wetgit/meta) | Pipeline, tooling, documentatie | Actief | | [wetgit/rijk](https://git.wetgit.nl/wetgit/rijk) | Rijksregelgeving — 40.566 regelingen | Actief | ## Quick start ```bash # 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: ```bash # 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 ```bash # 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](https://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 - **Maintainer:** [Coornhert](https://git.wetgit.nl/coornhert) - **Website:** [wetgit.nl](https://wetgit.nl) - **Issues:** [git.wetgit.nl/wetgit/meta/issues](https://git.wetgit.nl/wetgit/meta/issues)