shell-cell 1.6.3

Shell-Cell. CLI app to spawn and manage containerized shell environments

# **Shell-Cell** CLI Reference

Now that you’ve [installed and configured](./install.md) **Shell-Cell**, you’re ready to launch your very first session!

To get started, you need a blueprint `scell.cue` file in your project directory.
This file defines the environment your shell will live in.
(For a deep dive into the blueprint specification, check out the [Blueprint Guide](./blueprint.md)).

The quickest way to get one is to let **Shell-Cell** generate it for you:
```shell
scell init
```

This creates a minimal, ready-to-use `scell.cue` in the current directory.
You can then open and adjust it to your needs.

## Commands

### `run` — Start a Shell-Cell Session

```shell
scell
```

**Shell-Cell** will automatically look for a file named `scell.cue` in your current location and start the **Shell-Cell** session on the spot.

#### Custom entry point (`-t`, `--target`)

By default, **Shell-Cell** tries to locate an entry point target named `main`.
If you want to use a different entry point, pass the `-t`, `--target` option.
```shell
scell -t <other-entrypoint-target>
```

#### Detach mode (`-d`, `--detach`)

If you want to start the container without attaching to the shell session,
pass the `-d`, `--detach` flag.
```shell
scell -d
```

This is useful for pre-warming containers in the background — the container will be started and kept alive,
but no interactive shell will be opened.

#### Custom blueprint path

If your configuration file is located elsewhere and you don’t want to change directories, you can point **Shell-Cell** directly to it.
```shell
scell ./path/to/the/blueprint/directory
```

### `init` — Create a Blueprint

```shell
scell init
```

Creates a minimal, functional `scell.cue` blueprint in the current directory (or in the directory passed as an argument).
Returns an error if a `scell.cue` already exists at that location.

```shell
scell init ./path/to/directory
```

### `ls` — List Shell-Cell Containers

```shell
scell ls
```

Displays an interactive table of all existing **Shell-Cell** containers.

### `stop` — Stop All Running Shell-Cell Containers

```shell
scell stop
```

Stops **all** running **Shell-Cell** containers (only **Shell-Cell** related containers, not any others).

Press `Ctrl-C` or `Ctrl-D` to abort early.

### `cleanup` — Remove Orphan Containers and Images

```shell
scell cleanup
```

Cleans up **orphan** **Shell-Cell** containers with their corresponding images and just images.
An item is considered an orphan when it is no longer associated with any existing `scell.cue` blueprint file
(e.g., the blueprint was deleted or moved, or the blueprint contents changed so the container hash no longer matches).


## ❓ Need more help ?

If you want to explore the full list of commands, flags, and capabilities, our built-in help menu is always there for you:
```shell
scell --help
```