claude@clouddev1 65eab71439
ci / gate (push) Successful in 2m1s
ci / manifests (push) Successful in 4s
fix(theme): meet WCAG-AA contrast in light theme; gate contrast + token distinctness
Computing actual WCAG ratios surfaced two real accessibility defects in
the shipped v0.2.0 light theme: tok_string (4.42:1) and tok_flag
(3.15:1) fell below the 4.5:1 the scheme promises for normal text
(NFR-5). Darken both to clear it with headroom (5.18 / 5.98).

Also widen two dark-theme token pairs that were perceptually close
despite distinct hex (hard to separate on good screens): tok_type and
tok_function move from ΔE2000 ~14 to ~18-19 vs their neighbours.

Add four gated tests in theme.rs:
- all_text_colours_meet_wcag_aa_contrast: every text fg >= 4.5:1 on bg,
  both themes (the regression gate that would have caught this).
- advanced_mode_border_meets_ui_contrast: 3:1 for the mode-alert border;
  plain border is decorative chrome, exempt.
- delta_e_2000_matches_reference_vectors: validates the CIEDE2000 metric
  against Sharma et al. reference data.
- syntax_token_colours_are_perceptually_distinct: ΔE2000 >= 15 for every
  token-class pair, both themes.

Persist scripts/palette-preview.py: the true-colour swatch + contrast +
ΔE2000 audit tool used to drive these changes (reads the live palette
from theme.rs), for future palette work.

Tests: 2513 passed / 0 failed / 1 ignored (was 2509; +4). clippy and fmt
clean. Relates to NFR-5/NFR-7 (ADR-0057).
2026-06-22 12:26:34 +00:00
2026-06-21 22:15:41 +00:00

rdbms-playground

A cross-platform terminal app for learning relational database concepts — tables, columns, primary and foreign keys, relationships, indexes, queries, and query plans — in a safe sandbox.

It's a teaching tool, not a database administration tool. It meets beginners with guided, keyword-based commands (simple mode) and grows with them to raw SQL (advanced mode), so the same playground works from "what is a primary key?" through to writing real queries and reading their execution plans.

Website & documentation: https://relplay.org

Install

One line (Linux / macOS)

curl -fsSL https://git.lazyeval.net/oli/rdbms-playground/raw/branch/main/scripts/install.sh | sh

Detects your OS and CPU, downloads the matching release binary, verifies its SHA-256 checksum, and installs it to ~/.local/bin. Set RDBMS_INSTALL_DIR to install elsewhere, or RDBMS_VERSION=vX.Y.Z to pin a version. (Prefer to read before you run? The script lives at scripts/install.sh.)

One line (Windows, PowerShell)

irm https://git.lazyeval.net/oli/rdbms-playground/raw/branch/main/scripts/install.ps1 | iex

Downloads the matching .exe, verifies its checksum, installs to %LOCALAPPDATA%\Programs\rdbms-playground, and adds it to your user PATH. Or use a package manager (Scoop / winget) once those land.

With cargo binstall

If you have cargo-binstall (install it first — it is not part of cargo itself):

cargo binstall rdbms-playground

From source

cargo install rdbms-playground          # from crates.io
# or, from a clone:
cargo build --release                   # binary at target/release/rdbms-playground

Prebuilt binaries

Every release publishes static Linux, standalone Windows, and macOS binaries (x86_64 and aarch64) with .sha256 checksums on the releases page. Windows users can also use the binary directly (package-manager support is planned).

A quick taste

create table Customers with pk id(serial)
add column Customers: name (text)
add column Customers: email (text)
insert into Customers values ('Ann', 'ann@example.io')
show data Customers

Press F1 while typing for a contextual hint about the command you're building, or type help for the full command list. Switch to raw SQL with mode advanced (or prefix a single line with :).

Project status

Approaching its first public release. See the website for current features; installation via package managers (Homebrew, Scoop, winget) is on the roadmap.

License

Dual-licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions. See CONTRIBUTING.md.

S
Description
No description provided
Readme
19 MiB
v0.2.0
Latest
2026-06-17 23:05:39 +01:00
Languages
Rust 96.3%
MDX 1.3%
Shell 0.8%
JavaScript 0.8%
Astro 0.2%
Other 0.5%