AgentRailv0.1.0
Now in open beta · source-availableA · R / Q2 2026

Coding agents
that close tickets,
end-to-end.

Coding agents can write the code. The hard part is everything around it: picking up the right ticket, watching CI, incorporating review feedback, and merging when it's ready. AgentRail connects your agents to GitHub, Linear, and CircleCI — and handles the full loop.

npm i @agentrail-core/cli · pip install agentrail · Source-available license
AgentRail - A local control plane for AI coding agents | Product Hunt
agentrail · runs / live
● 12 active
Intake
Route
Claim
Review
Ship
41
Migrate auth handler to v2 APIacme/payments
In reviewclaude-code
40
Fix flaky test in checkout suiteacme/web
Runningcursor-agent
39
Add Linear webhook for billing eventsacme/billing
Mergedcodex-prod
38
Refactor rate limiter to token bucketacme/api
Queuedclaude-code
01 / The problem

Coding agents are brilliant at writing code.
Less so at closing tickets.

Today's coding agents handle the easy part — writing code. The hard part is everything around it: picking up the right ticket, watching CI, acting on review feedback, and merging cleanly. That loop is still broken.

PROBLEM
i.

No lifecycle, just a prompt and a prayer.

Agents lose context between turns, retry on wrong commits, and re-ask the same questions because nothing tracks state across the issue → PR → merge loop.

PROBLEM
ii.

Personal access tokens with full repo scope.

Most agent stacks hand the developer's GitHub PAT straight to the agent — full org access, no expiry, no audit trail. One compromised run exposes everything.

PROBLEM
iii.

CI is a wall, not a feedback loop.

Test failures arrive as raw logs ten minutes after the agent moved on. There's no structured signal — the agent can't reason over a wall of text.

03 / Architecture

Many agents, many tools, one rail.

N×M bespoke integrations becomes N+M. One connection per agent, one per tool, a shared lifecycle for every ticket.

Without AgentRail
agt_1agt_2agt_3agt_4agt_5vcsciissuesdeploy

N × M integrations — grows with every new agent or tool

With AgentRail
agt_1agt_2agt_3agt_4agt_5AGENTRAILCONTROL · PLANE · v1vcsciissuesdeploy

N + M integrations — shared lifecycle, one connection each

04 / Benchmarks

Up to 60% fewer tokens. 21% lower cost.

Connects to your existing stack

GitHubLive
LinearLive
CircleCILive
GitHub ActionsLive
JiraSoon
GitLabSoon
02 / The platform

Eight primitives.
One source-available backbone.

AgentRail connects your coding agents to GitHub, Linear, and your CI system. Each primitive is a narrow, typed API — run it locally, own your data, adapt it internally.

Tasks

Structured lifecycle objects with state, retries, and idempotent transitions. The unit of work for every agent.

POST /v1/tasks

Issue Intake

GitHub Issues and Linear tickets become AgentRail tasks automatically via webhook — with routing decisions already baked in.

POST /intake/github

CI Feedback

GitHub Actions and CircleCI results stream back as typed events with structured summaries — not raw log walls for the agent to parse.

GET /tasks/:id/ci-status

Scoped Auth

Per-agent API keys with narrow scopes — not org-wide PATs. Each agent gets only the access its tasks require, with usage tracked per operation.

POST /agent-api-keys

Event StreamCloud

Server-sent events for every state change — task assigned, CI failed, review requested. Agents subscribe once and react in real time, no polling required.

GET /tasks/events

WebhooksCloud

HMAC-signed delivery with exponential backoff retries. Subscribe to task events and wire AgentRail into the rest of your delivery pipeline.

POST /webhook-subscriptions

Review Feedback

PR review comments from GitHub come back as severity-ranked structured events — blocking vs. advisory — so the agent knows exactly what to fix.

GET /tasks/:id/review-feedback

Routing Engine

Rules-based assignment: match incoming issues by label, project, or priority and route them to the right agent automatically.

POST /intake/routing-rules
03 / Task lifecycle

Five stages.
One complete loop.

Every task moves through five well-defined stages — from the moment a ticket arrives to the moment the PR merges. Transitions are atomic, idempotent, and observable at every step.

01

Intake — issues become tasks automatically

A GitHub Issue or Linear ticket arrives via webhook and becomes a structured AgentRail task — with a stable ID, typed payload, and routing decision already attached. No polling. No parsing.

"color:#6b716f;font-style:italic">// GitHub / Linear webhook → task created automatically
{
  id: "tsk_8Hk2bV",
  identifier: "AGEA-41",
  title: "Migrate auth handler to v2 API",
  status: "todo",
  assigneeAgentId: "agt_claude-code",
  availableActions: ["start"],
}
04 / SDK

A typed SDK,
not a wrapper.

First-class TypeScript and Python clients generated from the OpenAPI contract — streaming, retries, and idempotency baked in. Every event is a typed discriminated union — no any escape hatches. Runs locally against your own keys with no external dependency.

◆ TypeScript 5.4+◇ Python 3.10+◆ ESM & CJS
index.ts
agent.py
schema.ts
import { AgentRailClient } from "agentrail"; const client = new AgentRailClient({  baseUrl: "http://127.0.0.1:3000",  apiKey: process.env.AGENTRAIL_API_KEY,}); // React to typed CI and review events (Cloud — SSE push)for await (const event of client.streamEvents()) {  switch (event.type) {    case "ci_status_changed":      // Structured summary — not raw log scraping      console.log(event.data.status, event.data.summary);      break;    case "review_feedback":      // Severity-ranked: "blocking" | "advisory"      console.log(event.data.severity, event.data.comments);      break;  }}
05 / Availability

What ships today.
What waits for Cloud.

The source-available package separates what ships now from planned managed features. Cloud roadmap items are waitlist-only until the hosted service is ready.

Today

GitHub, Linear, CircleCI, and GitHub Actions integrations ship in the source-available package. Install and run in minutes.

Source-available package
Typed

Every task, event, and CI result is a typed discriminated union. Agents reason over data structures, not raw text.

TypeScript + Python SDKs
Scoped

Per-agent API keys with narrow scopes replace org-wide PATs. Each agent sees only what its tasks require.

Source-available credential model
Waitlist

Hosted Cloud — team workspaces, managed integrations, dashboards, and compliance — is on the roadmap. Join the list.

Cloud roadmap
06 / Source-available vs Cloud waitlist

Start free.
Join the Cloud waitlist.

Everything you need to run coding agents ships in the source-available package. Cloud team features are on the roadmap and waitlist-gated until the managed service is ready.

Feature
Source-available
Cloud waitlist
Task lifecycle engine
Yes
Yes
GitHub Issues + Linear intake
Yes
Yes
GitHub Actions + CircleCI feedback
Yes
Yes
PR review feedback (severity-ranked)
Yes
Yes
Rules-based routing engine
Yes
Yes
Per-agent scoped API keys
Yes
Yes
SSE event stream + webhooks
Yes
TypeScript + Python SDKs
Yes
Yes
Multi-agent fleet coordination
Coming soonTeam workspace
Run history + dashboards
Coming soonHosted dashboards
Managed connectors (Jira, GitLab…)
Coming soonManaged integrations
Audit log + compliance
Local
Coming soonManaged audit trail
Support
Community
Coming soonPlanned team support
Cloud waitlist

Cloud is coming, not live.

Join the list for hosted sync, team memory, managed integrations, and compliance workflow updates. The source-available package is ready to install today.

07 / Field notes
The bottleneck isn't AI writing code. It's AI navigating the systems around code — the tickets, the CI, the reviews, the merge. That's the loop AgentRail closes.

Give your agents
the full dev loop.

Source-available. One npm install. No account required.

$ npm install @agentrail-core/cli