feat(dist): crates.io + binstall + Windows install.ps1 + license files
ci / gate (push) Successful in 3m14s
ci / gate (push) Successful in 3m14s
Distribution prep on the road to public availability (plan steps 2–3a). - Cargo.toml: publish-ready (drop publish=false; homepage/keywords/ categories/exclude) + [package.metadata.binstall] with per-target overrides (linux-gnu->musl, windows-msvc->gnu/gnullvm). dry-run clean. - scripts/install.ps1: Windows `irm | iex` one-liner — written but untested here (no PowerShell; validate on Windows). README Windows block. - README.md (new); LICENSE-MIT + LICENSE-APACHE (dual, (c) Lazy Evaluation Ltd); CONTRIBUTING.md (inbound=outbound dual-license note). - ADR-0055 Amendment 1 (install.ps1), ADR-0056 (crates.io/binstall), README index + plan updates. The actual `cargo publish` remains a gated maintainer step (token, irreversible) at a new tagged release; real cargo-binstall validation pending.
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
# 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)
|
||||
|
||||
```sh
|
||||
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)
|
||||
|
||||
```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`](https://github.com/cargo-bins/cargo-binstall)
|
||||
(install it first — it is not part of `cargo` itself):
|
||||
|
||||
```sh
|
||||
cargo binstall rdbms-playground
|
||||
```
|
||||
|
||||
### From source
|
||||
|
||||
```sh
|
||||
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](https://git.lazyeval.net/oli/rdbms-playground/releases).
|
||||
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](LICENSE-MIT))
|
||||
- Apache License 2.0 ([LICENSE-APACHE](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](CONTRIBUTING.md).
|
||||
Reference in New Issue
Block a user