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
This commit is contained in:
Coornhert 2026-03-30 06:40:06 +02:00
parent da7d11deb9
commit 188f41c7ee
2 changed files with 105 additions and 2 deletions

1
.gitignore vendored
View file

@ -31,3 +31,4 @@ htmlcov/
# OS # OS
.DS_Store .DS_Store
Thumbs.db Thumbs.db
data/

106
README.md
View file

@ -1,3 +1,105 @@
# meta # WetGit
Pipeline-code, tooling, documentatie **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)