Getting Started

From a fresh clone to a built engine and a passing test suite.

Prerequisites

  • Rust (the exact version is pinned in rust-toolchain.toml; rustup picks it up automatically)
  • just command runner
  • Node.js (for frontend development)
  • Docker (for pipeline integration tests and full stack)

Clone and Build

git clone https://github.com/MinBZK/regelrecht.git cd regelrecht

Quick Check

Run all quality checks to verify your setup:

just check

This runs formatting, linting, schema validation, and all tests.

Development Stack

Start the full development environment with hot reload:

just dev

This starts:

ServiceURLDescription
Editorhttp://localhost:3000Law editor (hot reload)
Admin UIhttp://localhost:3001Admin dashboard (hot reload)
Admin APIhttp://localhost:8000REST API (auto-recompile)
Grafanahttp://localhost:3002Metrics dashboard
Prometheushttp://localhost:9090Metrics collection
PostgreSQLlocalhost:5433Database

Stop everything with:

just dev-down

Common Commands

just # List all available commands just format # Check Rust formatting just lint # Run clippy lints just test # Run unit tests just bdd # Run BDD tests (cucumber-rs) just validate # Validate law YAML files just bench # Run performance benchmarks

Project Structure

regelrecht/ ├── packages/ │ ├── engine/ # Rust execution engine │ ├── pipeline/ # PostgreSQL job queue │ ├── harvester/ # BWB law downloader │ └── admin/ # Admin API + frontend ├── frontend/ # Law editor (Vue 3 + Vite) ├── corpus/ # Machine-readable laws (YAML) ├── features/ # BDD test scenarios (Gherkin) ├── schema/ # Law format JSON schema └── docs/ # Documentation site (Astro) + RFCs

Next Steps

RegelRecht

An exploration by Bureau Architectuur of the Dutch Ministry of the Interior into the possibilities of transparent, executable legislation.

Links

GitHub repository
How it works
Stay informed
Documentation

Contact

regelrecht@minbzk.nl

Part of

Bureau Architectuur
Ministry of the Interior and Kingdom Relations