| Crates.io | eden-cli |
| lib.rs | eden-cli |
| version | 0.2.0 |
| created_at | 2026-01-01 08:42:35.321985+00 |
| updated_at | 2026-01-09 19:05:58.15165+00 |
| description | Developer onboarding preflight checks |
| homepage | https://eden.omni.dev |
| repository | https://github.com/omnidotdev/eden-cli |
| max_upload_size | |
| id | 2015906 |
| size | 68,668 |
Developer onboarding preflight checks.
Eden is a Rust-powered CLI tool that verifies required dependencies and configurations are properly installed before development begins. Run one command to ensure your dev environment is ready.
cargo install eden-cli
eden init
Or create an eden.toml manually:
[checks]
binaries = ["docker", "node", "bun"]
environment = ["DATABASE_URL"]
eden check
Example output:
🌱 Binary: docker - v29.1.3 (/usr/bin/docker)
🌱 Binary: node - v25.2.1 (/usr/bin/node)
🌱 Binary: bun - v1.3.5(/usr/bin/bun)
🥀 Env: DATABASE_URL - not set
🌱 3 sprouted, 🥀 1 needs water
Eden supports multiple config formats:
eden.tomleden.yaml / eden.ymleden.json / eden.jsoncGenerate a starter config:
eden init
eden init --format yaml
If no --format is specified, Eden will default to TOML.
[checks]
# binaries that must be in PATH
binaries = [
"git",
"docker",
"node",
]
# environment variables that must be set
environment = [
"DATABASE_URL",
"API_KEY",
]
eden check # run all checks (default)
eden check -c custom.toml # use custom config file
eden init # create starter config
eden --help # show help
eden --version # show version
node >= 18)eden fix)Eden uses a dual-package setup (Rust crate + npm package) with automated version synchronization:
package.json holds the canonical version, and is used for Changesetsscripts/syncVersion.ts propagates the version to Cargo.tomlThe sync script runs automatically during the release process via the version npm script:
bun run version # syncs `package.json` version → `Cargo.toml`
Two GitHub workflows handle versioning:
| Workflow | Trigger | Purpose |
|---|---|---|
sync.yml |
Push/PR to master |
Validates versions match, runs tests, builds artifacts |
release.yml |
Push to master |
Creates releases via Changesets, builds multi-platform binaries |
The sync workflow will fail if package.json and Cargo.toml versions diverge.
bun changesetmasterx86_64-unknown-linux-gnuaarch64-unknown-linux-gnux86_64-apple-darwinaarch64-apple-darwincargo publishThe code in this repository is licensed under MIT, © Omni LLC. See LICENSE.md for more information.