Yak is an autonomous coding agent for papercuts, a line-by-line PR reviewer, and a per-branch preview server. One shared sandbox fleet powers all three workflows.
MIT License · Contributing · Documentation
- Opens PRs for papercuts. Receives tasks from Slack, Linear, Sentry, and GitHub; sends Claude into an isolated sandbox; opens a reviewable PR and verifies CI passes
- Reviews pull requests. Line-level comments,
suggestionblocks, and a feedback dashboard - Serves preview deployments. Every open PR gets a unique URL, OAuth-gated, hibernated when idle, destroyed when the PR closes
- Shared sandbox fleet. One Incus + ZFS substrate, one GitHub App, one Livewire dashboard, one cost model across all three workflows
See the Setup Guide for provisioning a fresh server with Ansible, or the Development Guide for running Yak locally.
| Channel | Input (receive tasks) | Notifications (send updates) |
|---|---|---|
| Slack | Yes | Yes |
| Linear | Yes | Yes |
| Sentry | Yes | -- |
| GitHub | Yes (PR review events) | Yes (PR reviews, comments) |
- Laravel-native -- built on Laravel 13, Livewire 4, and Flux UI.
- Channel-agnostic -- driver-based architecture makes it easy to add new input and notification channels.
- State machine driven -- every task follows a defined lifecycle with explicit transitions.
- AI-assisted, human-supervised -- tasks are automated but observable through the dashboard and notifications.
Full documentation is hosted at geocodio.github.io/yak.
We welcome contributions! Please read our Contributing Guide to get started.
Yak is open-sourced software licensed under the MIT license.
Copyright 2026 Geocodio

