From 188f41c7eeba9694ecdf18c312bd7d13b61b1404 Mon Sep 17 00:00:00 2001 From: Coornhert Date: Mon, 30 Mar 2026 06:40:06 +0200 Subject: [PATCH] docs: README herschrijven, data/ toevoegen aan gitignore - Volledige projectbeschrijving, quick start, architectuur - Pipeline documentatie en development instructies - Disclaimer en licentie-informatie - data/ directory (XML cache) gitignored --- .gitignore | 1 + README.md | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 105 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3401136..915fcec 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ htmlcov/ # OS .DS_Store Thumbs.db +data/ diff --git a/README.md b/README.md index 90dd154..8061e9f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,105 @@ -# meta +# WetGit -Pipeline-code, tooling, documentatie \ No newline at end of file +**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)