How riiazz/devbox works
DevBox is a Rust CLI for creating reproducible, project-scoped development environments. The main workflow is to initialize or discover a workspace, load its configuration, then run programs or an interactive shell with isolated variables and a tool-aware PATH. A separate tool-install workflow resolves a release for the current target, downloads and verifies an archive, extracts it, and registers the executable. Services declared in configuration can be started and monitored, with state and logs exposed through CLI commands. Some subsystem links reflect README capabilities because their source was not sampled.
Main entry points: main.rs DevBox CLI · installer.rs Tool installer · supervisor.rs Supervisor · runtime.rs Process runtime
Components 19
Workspace and config
- Workspace
crates/workspace/src/workspace.rs - Project config
crates/config/src/config.rs
Environment runtime
- Environment
crates/runtime/src/environment.rs - Isolation paths
crates/runtime/src/isolation.rs - Process runtime
crates/runtime/src/runtime.rs - Child processes
crates/runtime/src/process.rs
Tool management
- Tool installer
crates/downloader/src/installer.rs - Release resolver
crates/downloader/src/resolve.rs - Platform target
crates/downloader/src/target.rs - Archive download
crates/downloader/src/download.rs - Checksum verify
crates/downloader/src/checksum.rs - Archive extract
crates/downloader/src/extract.rs - Tool registry
crates/toolchain/src/registry.rs
Service supervision
- Supervisor
crates/supervisor/src/supervisor.rs - Process state
crates/supervisor/src/state.rs - Live dashboard
crates/supervisor/src/dashboard.rs
Other components
- Developer
- DevBox CLI
crates/cli/src/main.rs - GitHub releases
Connections 24
- Developer → DevBox CLI: runs commands
- DevBox CLI → Workspace: discovers workspace
- DevBox CLI → Project config: loads config
- DevBox CLI → Tool installer: installs tools
- Tool installer → Release resolver: resolves source
- Release resolver → Platform target: checks platform
- Tool installer → Archive download: fetches archive
- Archive download → GitHub releases: downloads from
- Tool installer → Checksum verify: verifies archive
- Tool installer → Archive extract: extracts archive
- Tool installer → Tool registry: registers tool
- DevBox CLI → Tool registry: reads and updates
- DevBox CLI → Environment: configures environment
- DevBox CLI → Isolation paths: applies isolation
- DevBox CLI → Process runtime: runs shell or command
- Process runtime → Environment: applies variables
- Process runtime → Child processes: launches process
- DevBox CLI → Supervisor: manages services
- Supervisor → Project config: uses service definitions
- Supervisor → Environment: passes environment
- Supervisor → Child processes: spawns services
- Supervisor → Process state: persists process state
- Supervisor → Live dashboard: displays live status
- DevBox CLI → Process state: reports service status