Built on Linear’s agent API

Delegate an issue in Linear.Get back a merged PR.

A small TypeScript agent for Linear. Assign it an issue and it writes the change, runs the checks, opens a pull request, merges it once CI passes and deploys this page. It reports each step back into the Linear session as it goes.

The Linear workspace isn’t connected yet, so there are no Linear sessions to show. The pipeline itself is live: the pull requests below were opened, checked and merged by the same agent, run from the command line.

  1. 01

    Delegate the issue

    Assign the issue to the agent in Linear. Linear opens an agent session and sends a signed webhook. The agent answers inside Linear’s 10-second window, then posts its plan as a checklist on the session.

    agent/server.ts
  2. 02

    Write the change

    A worker on my home server starts on that webhook and exits when it is idle. It checks out this repo and runs Claude Code on the issue. Every file it reads or edits shows up live as an action in the Linear session.

    agent/claude.ts
  3. 03

    Prove it

    The harness checks the diff, not the model. The agent cannot touch its own code, CI or dependencies. Typecheck, tests and a production build have to pass before a PR exists. If they fail, the model gets one retry with the log.

    lib/guard.ts
  4. 04

    Merge and ship

    The agent opens the PR, waits for GitHub CI, squash-merges and deploys this page. It confirms the live site serves the new commit, moves the issue to Done and posts a summary to the session.

    agent/run.ts