Add sibling publish.yaml jobs (scoop-bucket, homebrew-tap) that render a manifest from the release .sha256 sidecars and idempotently push it to the org-level lazyeval/scoop-bucket and lazyeval/homebrew-tap repos, using the scoped lazyeval-ci bot token (LAZYEVAL_PKG_TOKEN). Render logic lives in dependency-free bash (the CI image has no jq/ruby): scripts/render-scoop-manifest.sh and scripts/render-homebrew-formula.sh. scripts/test-package-renders.sh exercises both: it validates the Scoop JSON with node and asserts fields on both manifests, and additionally runs `ruby -c` on the formula where ruby is present (dev box), skipping it gracefully otherwise. A new ci.yaml `manifests` job runs that test on every push so a render regression surfaces immediately, not at the next manual publish dispatch. The CI image has no ruby, so in CI the gate covers the Scoop JSON (node) and field assertions for both manifests; the formula's Ruby syntax is checked dev-side only (the static heredoc's variable parts cannot introduce syntax errors). - Scoop: x64 (gnu) + arm64 (gnullvm); #/-rename fragment so the bin shim is version-stable; checkver, no autoupdate (the pipeline is the updater). - Homebrew: on_macos/on_linux x arch bare-binary formula; no Windows. Docs: ADR-0056 Amendment 2 (+ README index, requirements D3). Unverified pending real use: scoop/brew install, the HEAD:main branch assumption, macOS Gatekeeper-via-brew on the ad-hoc-signed binary.
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
- MIT license (LICENSE-MIT)
- Apache License 2.0 (LICENSE-APACHE)
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.