Loading repository data…
Loading repository data…
shinpr / repository
Local-first task runner for Claude Code, Codex, or GLM with supervised execution and PR handoff.
Galley is a local runtime for supervised AI coding tasks.
It runs Claude Code, Codex, GLM, or Grok Build in a git worktree, records evidence for each attempt, and asks a supervisor model to accept, retry, or escalate the result before the work is treated as done.
Galley is for tasks where the output should be inspectable later: the request, scope, checks, diffs, and supervisor verdict stay on disk.
Galley builds Galley: roughly half of this repository's merged implementation PRs were created from Galley-managed task branches.
Use the Galley skill to set up each repository. It installs or verifies the CLI, prepares repository profiles, drafts valid task YAML, and queues tasks only after approval.
Claude Code:
/plugin marketplace add shinpr/galley
/plugin install galley@galley-tools
/reload-plugins
/galley:galley Set up Galley for this repository.
Codex:
codex plugin marketplace add shinpr/galley
Then start or return to Codex, open the plugin picker, install Galley, and ask the skill to set up the repository:
/plugins
$galley Set up Galley for this repository.
Grok Build:
grok plugin marketplace add shinpr/galley
grok plugin install galley --trust
Then start Grok Build and ask the Galley skill to set up the repository:
/galley Set up Galley for this repository.
After setup, start with a small, reviewable task in an existing repository.
Claude Code:
/galley:galley Create a Galley task for a small bug fix or test improvement in this repository. Use the repository's normal checks, keep the scope narrow, and queue it after I approve.
Codex:
$galley Create a Galley task for a small bug fix or test improvement in this repository. Use the repository's normal checks, keep the scope narrow, and queue it after I approve.
Grok Build:
/galley Create a Galley task for a small bug fix or test improvement in this repository. Use the repository's normal checks, keep the scope narrow, and queue it after I approve.
The skill will inspect the repository, draft a task file, show the acceptance criteria and execution settings, and ask before queueing it.
The Galley plugin packages one Agent Skill for Claude Code, Codex, and Grok Build. The skill is the recommended path for setup and task authoring because it handles the pieces that are easy to get wrong by hand:
For skills-compatible clients that do not use the Claude or Codex plugin manifests, copy or symlink this directory into the client's skill path:
plugins/galley/skills/galley/
The standalone skill still expects the galley CLI on PATH. Some workflows also use claude, codex, gh, and python3.
Interactive AI coding sessions work well for short tasks. They get harder to trust when the work becomes asynchronous, long-running, or review-heavy.
task YAML
|
| galley task queue
v
queued task
|
| daemon claims task
v
isolated git worktree
|
| Claude Code, Codex, GLM, or Grok implements
v
run evidence + git diff
|
| supervisor review
+--> accepted ---------> done or PR opened
+--> needs revision ---> retry while budget remains
+--> needs review -----> failed for human review
+--> hard stop --------> failed
glm_api_key; Grok uses its logged-in CLI state.runs/<run-id>/ that make each attempt auditable after the fact.Most users should start with the skill. Install the binary manually when scripting setup or debugging the CLI outside the skill workflow.
macOS and Linux:
curl -fsSL https://raw.githubusercontent.com/shinpr/galley/main/scripts/install.sh | sh
Windows PowerShell:
Invoke-WebRequest https://raw.githubusercontent.com/shinpr/galley/main/scripts/install.ps1 -OutFile install.ps1 -UseBasicParsing
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
Or use Go directly:
go install github.com/shinpr/galley/cmd/galley@latest
Installing only the binary does not create repository profiles or start a daemon for a project. After manual installation, run the setup skill for the repository you want Galley to manage.
Useful direct checks:
galley --help
galley daemon status --output json
galley daemon run --once
Galley treats task YAML as trusted local execution input. A user or process that can write task YAML can choose the goal, scope, reference files, branch, worktree, and verification guidance used by the executor and supervisor.
Run Galley only for repositories and task authors you trust. Keep secrets out of task-accessible files, use worktrees and scope.forbidden_paths, and keep normal git review in the loop. PR comment requeueing is accepted only from the recorded PR author.
See SECURITY.md for reporting and operational trust boundaries.
Galley is tested on Linux, macOS, and Windows in CI. Windows support is CI-covered, including daemon start, stop, and status paths; validate full local operation in your own Windows environment before relying on it for unattended work.
The examples/ directory is for Galley checkout development and CI validation. Normal users should prefer ~/.galley tasks created by the plugin skill.
go test ./...
go build ./cmd/galley
./scripts/smoke-local.sh
For local development and release notes, see CONTRIBUTING.md and CHANGELOG.md.
Galley is released under the MIT License. See LICENSE.