Skip to content

Yak

Yak is an autonomous coding agent for papercuts. It picks up small tasks from Slack, Linear, Sentry, and GitHub and delivers reviewable pull requests while you work on what matters.

Receives tasks

From Slack @mentions, Linear yak labels, Sentry alerts, or the manual CLI. Every integration is a pluggable channel — enable only what you use.

Fixes papercuts

Bug fixes, flaky tests, lint violations, deprecation cleanups. Tasks where the fix is small and focused, and the description is under a paragraph.

Opens pull requests

Screenshots and video walkthroughs for UI changes. A human reviews every PR before merge. Yak has no merge authority. No exceptions.

Two-way feedback

Reply in the same Slack thread, on the Linear issue, or with /yak on the PR, and Yak refines the work — pushing follow-up commits to the same branch. No separate UI to check.

Setup Guide

Provision a fresh server with one Ansible command. Vault configuration, verification, updates. Read the setup guide

Channels

Slack, Linear, Sentry, GitHub, Drone, and the manual CLI. Per-channel setup and gotchas. See channel configuration

  • First pass in one shot, then refine. A task fits in a paragraph, and Yak resolves it in a single pass. Not quite right? Reply where you already are and Yak pushes follow-up commits to the same PR until it’s done.
  • Meet the user where they are. Slack in, Slack out. Linear in, Linear out. The whole back-and-forth happens in the channel you started from — no separate dashboard check required.
  • Clarify, don’t guess. Ambiguous requests get multiple-choice options grounded in actual code, not generic guesses.
  • Yak never ships. Output is always a PR requiring human review. No merge authority, no exceptions.
  • Channels are optional. GitHub plus the manual CLI is the minimum. Enable the rest as you need them.