Sinatra Docs
Getting started

What is Sinatra?

Linear tickets in, GitHub pull requests out. An autonomous agent platform that lives inside your team's existing tools.

Sinatra is an autonomous coding agent that lives inside Linear and GitHub.

The flow

  1. A teammate creates a Linear issue and either assigns it to @sinatra or @-mentions the agent in a comment.
  2. The Sinatra API receives a webhook from Linear, looks up the right tenant, and starts a Temporal workflow.
  3. A worker spins up an isolated sandbox (Daytona cloud or local), clones the target repo, and runs an agent (Claude Code, OpenCode, etc.) with the ticket description as context.
  4. The agent investigates, writes code, runs tests, and commits.
  5. Sinatra opens a GitHub pull request and posts back to the Linear ticket with a link.

The whole loop is built on durable workflows — if anything crashes, it picks up where it left off rather than restarting from zero.

Why it exists

Most coding tasks teams ship are not deeply novel — they're well-scoped tickets where the hard part is getting started. Sinatra is built for those tickets, the ones where the user can describe what they want in a few sentences and review a PR is faster than writing the code by hand.

It's not trying to replace senior engineering judgment. It's trying to clear out the queue.

What's in the box

Two distribution paths, one product:

  • OSS / self-hosted — the entire stack lives in sinatra-dev/sinatra. You run it on your own infrastructure with your own LLM keys. Free.
  • Managed cloud — we run the API, worker, and database. You bring (or rent) the LLM keys. Coming soon.

Both modes use the same code. The only difference is who's running the servers.

What you need

  • A Linear workspace where you can create an OAuth app.
  • A GitHub organization where you can install a GitHub App.
  • An LLM provider key — Anthropic (Claude), or OpenRouter (which gives you access to OpenAI, Google, Meta, and more). The agent's intelligence comes from these models; Sinatra is the orchestration layer around them.
  • For self-host: Node 22+, pnpm, Docker, and a way to expose your API publicly so Linear and GitHub can deliver webhooks (cloudflared, ngrok, or a real domain).