# sl0ppi A batteries-included terminal environment for driving LLM agent sessions. sl0ppi is the packaging and integration layer around two halves that only make sense together: - **sl0ppij** — an opinionated fork of [zellij](https://github.com/zellij-org/zellij), renamed so it installs and runs alongside an unmodified zellij. - **pi-ext** — extensions for the [pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) coding agent that talk to sl0ppij over a private OSC protocol. The point of this repo is that `make package` produces a tarball that installs a working environment on a machine that is not this one. ## Install ```bash curl -fsSL https://sl0ppi.sl0p.foo/install.sh | sh ``` Verifies the release checksum before unpacking, installs under `~/.local`, and needs no node, npm, rust or python on the target: the multiplexer is a static musl binary and the agent runs on a bundled bun. ```bash cd ~/dev/myproject && sl0ppi init # make it a project cd ~/dev && sl0ppi up # a session, one tab per project sl0ppi ls # what is open, which agents are live sl0ppi doctor # check the installation ``` ## Layout | path | role | |---|---| | `sl0ppij/` | the zellij fork (renamed; coexists with a stock zellij) | | `sl0pstatus/` | the zjstatus fork the default layout builds its status bar from | | `cli/` | the `sl0ppi` orchestrator (TypeScript, runs on the bundled bun) | | `pi-ext/` | pi extensions + `pir` | | `config/` | the opinionated default environment | | `packaging/` | vendor, stage, package, publish | | `site/` | what sl0ppi.sl0p.foo serves | ## Build ```bash make # documented targets make test # CLI + Rust suites make release # tests, then a static musl tarball make publish # upload it to sl0ppi.sl0p.foo ``` Picking up where the last session stopped: [docs/HANDOVER.md](docs/HANDOVER.md). See [docs/roadmap.md](docs/roadmap.md), [docs/architecture.md](docs/architecture.md), [docs/cli-design.md](docs/cli-design.md) and [FORKS.md](FORKS.md).