Skip to content

boldsoftware/shelley

Repository files navigation

Shelley: a coding agent for exe.dev

Shelley is a mobile-friendly, web-based, multi-conversation, multi-modal, multi-model, single-user coding agent built for but not exclusive to exe.dev. It does not come with authorization or sandboxing: bring your own.

Mobile-friendly because ideas can come any time.

Web-based, because terminal-based scroll back is punishment for shoplifting in some countries.

Multi-modal because screenshots, charts, and graphs are necessary, not to mention delightful.

Multi-model to benefit from all the innovation going on.

Single-user because it makes sense to bring the agent to the compute.

Installation

Pre-Built Binaries (macOS/Linux)

curl -Lo shelley "https://github.com/boldsoftware/shelley/releases/latest/download/shelley_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')" && chmod +x shelley

The binaries are on the releases page.

Homebrew (macOS)

brew install --cask boldsoftware/tap/shelley

Build from Source

You'll need Go and Node.

git clone https://github.com/boldsoftware/shelley.git
cd shelley
make

Releases

New releases are automatically created on every commit to main. Versions follow the pattern v0.N.9OCTAL where N is the total commit count and 9OCTAL is the commit SHA encoded as octal (prefixed with 9).

Architecture

The technical stack is Go for the backend, SQLite for storage, and Typescript and React for the UI.

The data model is that Conversations have Messages, which might be from the user, the model, the tools, or the harness. All of that is stored in the database, and we use a SSE endpoint to keep the UI updated.

History

Shelley is partially based on our previous coding agent effort, Sketch.

Unsurprisingly, much of Shelley is written by Shelley, Sketch, Claude Code, and Codex.

Shelley's Name

Shelley is so named because the main tool it uses is the shell, and I like putting "-ey" at the end of words. It is also named after Percy Bysshe Shelley, with an appropriately ironic nod at "Ozymandias." Shelley is a computer program, and, it's an it.

Open source

Shelley is Apache licensed. We require a CLA for contributions.

Building Shelley

Run make. Run make serve to start Shelley locally.

Dev Tricks

If you want to see how mobile looks, and you're on your home network where you've got mDNS working fine, you can run

socat TCP-LISTEN:9001,fork TCP:localhost:9000