Shell-Cell
Lightweight CLI tool that turns simple CUE blueprints into instant, isolated, and reproducible containerized development shell sessions.
[!WARNING] Under heavy development, backwards compatibility is not guaranteed, and future versions may introduce breaking changes.
π‘ How It Works
Shell-Cell reads a scell.cue blueprint, compiles it into a image, and launches a persistent container that acts as a "shell server". You can then attach interactive shell sessions to this warm, ready-to-use environment.
π Quick Start
Prerequisites
A running Docker (or Podman) daemon is required.
Install
- Build for Unix
curl -fsSL https://github.com/Mr-Leshiy/shell-cell/releases/latest/download/shell-cell-installer.sh | sh
-
Build from source (any platform)
Prerequisites:
Go 1.24+β the Go toolchain is required.
cargo install shell-cell --locked
For socket configuration and other setup details, see the Install and Configure guide.
Create a Blueprint
Run scell init to generate a minimal scell.cue in your project directory:
scell init
Or write one by hand (see the full Blueprint Reference for all available instructions):
main: {
from_image: "debian:bookworm"
workspace: "/app"
shell: "/bin/bash"
hang: "while true; do sleep 3600; done"
}
Launch a Session
scell
That's it! Shell-Cell will find the scell.cue in your current directory, build the environment, and drop you into an interactive shell. For more CLI options and usage patterns, see the CLI Reference.
π¨π»βπ©π»βπ¦π»βπ¦π» Community
Our Discord server https://discord.gg/URTBEuU5
π Want to know more ?
Follow the detailed documentation about how Shell-Cell works and how to use it:
π Docs
β‘οΈ Whats next?
Want to see what weβre working on? Check out our journey here:
π Roadmap
β€οΈ Contributing & Feedback
If you run into a bug or have a "what if" idea, don't be a stranger β open an issue, start a discussion or make a pull-request!