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:
parent
da7d11deb9
commit
188f41c7ee
2 changed files with 105 additions and 2 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -31,3 +31,4 @@ htmlcov/
|
|||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
data/
|
||||
|
|
|
|||
106
README.md
106
README.md
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue