English
Deployment
This page covers what eyeful ships, where each part runs, and how to turn on cloud reviews. Running eyeful from a checkout is in Development, every variable is in Configuration, and release timing is in the Roadmap.
Cloud reviews run in GitHub Actions through the composite action action.yml at the repository root. The local side is the desktop app and the eyeful command, and needs no server. Nothing is published until CI passes on it: the documentation site goes to GitHub Pages after each green CI run on main (docs.yml), and a v* tag runs CI and then GoReleaser (release.yml, .goreleaser.yml), which attaches the eyeful CLI for Linux and macOS, as archives, .deb and .rpm, to a GitHub release. No version has been tagged yet. CI (.github/workflows/ci.yml) runs mise run check, then builds the review and sandbox images and, on a push to main or a tag, publishes them to ghcr.io under that name.
Artifacts
| Artifact | Built by | Runs on |
|---|---|---|
| Review and sandbox images | CI on main and tags (Dockerfile, Dockerfile.sandbox), at ghcr.io/pleasurecruise/eyeful-action and -sandbox | A GitHub Actions runner |
| Desktop app | mise run package:desktop (Wails) | macOS, Windows, Linux |
eyeful | mise run install, or a v* tag (GoReleaser) | The user's machine |
| Documentation site | mise run build:docs (VitePress) | GitHub Pages at DOCS_URL |
The review image holds eyeful-action, git, pi 1.4.0 under /opt/pi, the user agent with pi's settings from cmd/eyeful-action/pi/, and /usr/local/bin/pi, which runs pi as agent. The sandbox image holds eyeful-sandbox and mise, configured by cmd/eyeful-sandbox/mise.toml. It preinstalls Node, Go, Python, Rust, pnpm, Yarn, Bun, uv and Poetry, and a project's own version files (mise.toml, .nvmrc, packageManager in package.json, go.mod, .python-version, rust-toolchain.toml) select the version that runs; mise installs a missing one on first use.
Cloud
Both containers share a Docker network eyeful and the directory $RUNNER_TEMP/eyeful, mounted at /work: read-write for the review, read-only for the sandbox.
Turn on reviews
You need a Volcengine Ark API key with the Coding Plan (console), a TypeSafe API key, and the GitHub CLI signed in. In the repository, on its default branch, run:
sh
gh secret set EYEFUL_MODEL_KEY # paste the Volcengine Ark key
gh secret set EYEFUL_TYPESAFE_API_KEY # paste the TypeSafe key
curl -fsSL https://raw.githubusercontent.com/Pleasurecruise/eyeful/main/.github/workflows/eyeful.yml \
--create-dirs -o .github/workflows/eyeful.yml
git add .github && git commit -m "ci: review pull requests with eyeful" && git pushThe first two commands store the keys as repository secrets. The third copies eyeful's own .github/workflows/eyeful.yml, which calls the reusable workflow .github/workflows/review.yml. That workflow holds the rest: who may start a review, one review per pull request at a time, and the action's inputs. It never checks out the pull request; eyeful-action clones it and runs its code only in the sandbox.
Local
Local mode installs only the app itself. It needs no server, database, eyeful account or model key, because the agents are the coding tools the user is already signed in to; only Jev needs a TypeSafe API key.
eyeful review runs a review with the agent chosen by eyeful connect; the desktop app does the same from a window (The desktop app). What a local review may run, and how it is contained, is described in Running locally.
