Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

960 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 with Vue 3 + PrimeVue 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.

Docker

make docker builds a container image that runs Shelley on Ubuntu 24.04. It first builds a Debian package with goreleaser (make deb), then installs that .deb into the image alongside the OpenSSH client and server.

Shelley runs inside the container as the shelley system user provisioned by the .deb's postinstall; its SQLite DB lives in that user's home, /var/lib/shelley. Override the image tag with:

make docker IMAGE=myrepo/shelley:tag

The image is built with docker build --squash so the intermediate apt/dpkg layers are flattened away.

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

About

Subscription aware shelley from exe.dev

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages