Docs
Guides for running bashkit.
Short, focused articles for the bashkit CLI, security model, and embedded runtimes. For the Rust API, see therustdoc.
Getting started
- Get startedChoose your target — Rust, Python, Node, browser, or Pyodide — and run a first script.
- RustEmbed the sandbox in a Rust app: install, first script, examples.
- PythonEmbed the sandbox in Python: pip install, first script, examples.
- Node, Bun & DenoEmbed the sandbox in server-side JavaScript: npm i, first script, examples.
- Browser (WASM)Run the sandbox in the browser or at the edge — with a live terminal to try.
- Pyodide & JupyterLiteRun the sandbox in Python-in-the-browser via the Emscripten wheel.
- CLIRun scripts with bashkit-cli: flags, exit codes, opt-in runtimes.
LLM tools
Concepts
Networking
Runtimes
- Python builtinEmbedded Monty Python runtime, VFS bridging, limits, and caveats.
- TypeScript builtinEmbedded ZapCode TypeScript runtime shared with bash in-memory.
- SQLite builtinEmbedded Turso SQLite runtime, backends, output modes, and limits.
- SSH supportSandboxed ssh, scp, and sftp builtins with host allowlists.
- GitSandboxed git on the virtual filesystem with a configurable identity.
Reference
Extending
- Custom builtinsImplement Rust commands that run inside the Bashkit shell.
- Custom builtins (JavaScript)Register JS callbacks as persistent bash builtins from Node, Deno, or Bun.
- Clap builtinsUse clap parser structs to build typed custom commands.
- HooksObserve, modify, or cancel execution, builtin, lifecycle, and HTTP events.
- Live mountsAttach, detach, and hot-swap filesystems on a running interpreter.