End-to-end smoke tests that validate the full PrBot pipeline using Sprites sandboxed VMs + gh + git + a CLI coding agent.
Each script provisions a sprite, clones a repo, runs a coding agent to make a change, commits, pushes, opens a PR, and comments on the issue — all non-interactively.
| Provider | Gist |
|---|---|
| Amp | test_amp_sprite.sh |
| Claude | test_claude_sprite.sh |
| Codex | test_codex_sprite.sh |
| Gemini | test_gemini_sprite.sh |
| OpenCode | test_opencode_sprite.sh |
See the .env contract docs for required environment variables per provider.
Shared requirements (all scripts):
SPRITES_TOKEN(or pre-authenticatedsprite loginsession)GH_TOKENorGITHUB_TOKEN
# Quick start — pick a provider and point at a GitHub issue:
./test_claude_sprite.sh https://github.com/OWNER/REPO/issues/123
# Dry run (validates everything but skips PR/push):
./test_amp_sprite.sh https://github.com/OWNER/REPO/issues/123 --dry-run
# Keep sprite alive after run for debugging:
./test_codex_sprite.sh https://github.com/OWNER/REPO/issues/123 --keep-sprite --verbose- Host env: tokens and provider keys
- Sprite lifecycle: create → exec → destroy
- Env var forwarding via
sprite exec -env - Runtime binaries inside sprite:
git,gh, provider CLI - GitHub auth inside sprite
gh issue viewfrom inside spritegit clonefrom inside sprite- Git identity +
gh auth setup-git - Provider CLI stream-JSON smoke prompt
- Provider CLI stream-JSON code change
git add+git commitgit push -u origingh pr creategh issue comment(PR link back to issue)