Skip to content

Getting Started

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

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

Quick Check

Run all quality checks to verify your setup:

bash
just check

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

Development Stack

Start the full development environment with hot reload:

bash
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:

bash
just dev-down

Common Commands

bash
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 (VitePress) + RFCs

Next Steps