beeno
beeno is a Rust CLI wrapper that uses the deno binary as execution backend and adds
LLM-assisted pseudocode support for repl, eval, and run.
Commands
beeno init-config [--force]beeno repl [--provider <id>] [--model <name>] [--policy <path>] [--json]beeno dev [--file <path>] [--port 8080] [--open]beeno eval "<input>" [--json]beeno run <file> [--json]
Install via curl
Use the installer script (downloads the right release archive, verifies checksum, and installs
to ~/.local/bin by default):
|
Install a specific release:
| VERSION=v0.2.0
Install to a different path:
| INSTALL_DIR=/usr/local/bin
The release workflow publishes archives named beeno-v{version}-{target}.{tar.gz|zip} plus
SHA256SUMS.txt. Windows assets are published as beeno-v{version}-x86_64-pc-windows-msvc.zip.
Checksum verification examples
macOS:
Linux:
Configuration
Beeno uses .beeno.toml in project root, with optional fallback to ~/.beeno.toml.
Precedence order:
- CLI flags
- Environment variables
- Local
.beeno.toml - Home
~/.beeno.toml - Built-in defaults
Provider support:
provider = "ollama"for local models (endpointdefault:http://127.0.0.1:11434/api/generate)provider = "chatgpt"for OpenAI Chat Completions APIprovider = "openrouter"for OpenRouter Chat Completions APIprovider = "openai_compat"for custom OpenAI-compatible URLsprovider = "http"for legacy custom endpoint returning{ "code": "..." }provider = "mock"for local testing
Use llm.endpoint (or env var referenced by llm.endpoint_env_var) to override provider URL.
Documentation
docs/architecture.md- module/runtime overviewdocs/dev-mode.md-beeno devbehavior and commandsdocs/testing.md- testing strategy and coverage targetsdocs/agentic-development.md- contributor/agent workflow guardrails
Notes
- Native JS/TS is classified and executed without translation when possible.
- Pseudocode is translated through a provider adapter before AST policy checks.
- Tagged script blocks (
/*nl ... */) are translated and inlined. - REPL supports background server workflow:
/serve-js <code>//serve-nl <pseudocode>/serve-hotfix-js <code>//serve-hotfix-nl <pseudocode>/serve-status,/serve-stop,/serve-port <port>- prompts to open the hosted page in your default browser
beeno devstarts a dedicated long-running dev server shell with hotfix commands:/status,/open,/restart,/hotfix-js,/hotfix-nl,/stop,/start,/quit
Maintainer release notes
- Release automation lives in
.github/workflows/release.yml - crates.io publish auth uses trusted publishing (GitHub OIDC), not a long-lived token.
- Configure trusted publishers on crates.io for both
beeno_coreandbeenoto allow this repository/workflow/environment (release) to publish. - Versioning is tag-driven: on release events, CI syncs Cargo versions from the release tag
(for example
v0.2.0->0.2.0) before publish/build. - On
Release -> Publish release, CI runs license checks, publishesbeeno_corethenbeenoto crates.io, builds Tier-1 binaries, generatesSHA256SUMS.txt, and uploads all artifacts. - Optional dry-run validation: run
releaseviaworkflow_dispatchwithpublish_crates = falseand optionally setrelease_versionto simulate tag-driven builds.