Moving a card runs Git.

A delivery board whose columns are your branches. Pick a card up and the branch is cut. Push, and the pull request opens. Move it to the last column and the merge happens — with the tag and the changelog behind it.

And a card you hand to an agent comes back as a pull request.

Create your accounton the repositories you already have
Backlog
#42Search the customer list
In development
In production
  1. ——————picked up from the backlog
  2. 8f2a1c4branch cut from mainfeature/42-search-the-customer-list
  3. 3d91b07pull request openedon the first push
  4. c04e7a9checks passedthe stage requires green
  5. b71e3f2merged into mainsquash
  6. v1.4.3tagged, with its changelog
The Tylon board. Four columns — In development, In review, Staging, In production — and on each card the branch it holds in every repository, the pull request, and what the last build said.
one workspace, four stages, three repositories — and every card carrying its own branches

a1f0c93refs/heads/main — the flow, described once

Statuses across the top. Repositories down the side.

Each cell of that matrix answers two questions: where a branch is cut from when work enters the stage, and where it merges when it leaves. A cell you leave empty means the stage does not touch that repository. That is the whole setup, and you do it once.

The flow of a project: each status in order, and under it every repository with the branch it is cut from and the branch it merges into.
In development cuts from main. Staging merges into staging. In review leaves every cell empty — a stage that touches no repository, and the board is honest about it.

8f2a1c4a card enters a stage

Then the board writes the Git

The branch appears, named the way your team names them. The first push opens the pull request — a provider will not take one with no commits, so it waits for the commit rather than forging an empty one. Promoting the card merges it into wherever the next stage points.

card → In development
git branch feature/42-… main
first push
pull request opened
card → In production
merge, tag, changelog
card ← dragged back
revert opened, card waits for it

3d91b07and where it refuses

A board that will not lie about what shipped

A stage can require green checks, a minimum role, an approval. A red build, a branch somebody deleted by hand, a merge that will not apply — the card does not move, and the reason is written on it. Dragging a card out of production is not a status change either: the revert is opened, and the card stays where it is until that revert actually merges. Until it does, the code is still out there.

A card that did not move, with the provider's own refusal written across the top of it and the failing repository named.
the card did not move, and the reason is the provider's own sentence — not our summary of it

c47e2dathree repositories, one piece of work

Front and back move together, or neither moves

A card holds a branch in each repository it touches and a pull request in each. It is promoted across all of them at once — and refused across all of them, which is the half that keeps them honest.

webapijobs
one card · three branches · one promotion

6b05f81a branch opened by somebody who is not a person

It reads the card, writes the code, and hands you a pull request

Give it a model, a key and a list of what it may do. It joins the workspace as a member, picks up a card like anybody else, and works in a container with no route to the internet at all.

agent run · card #42 · sealed container, no route out
  1. list_filessrc/34 files · 2 levels
  2. read_filesrc/semver.ts118 lines
  3. searchcompare(3 matches, with context
  4. edit_filesrc/semver.ts4 lines became 9
  5. run_commandnpm testexit 1 — 1 failing: leading "v" not stripped
  6. read_filetest/semver.test.tslines 40–72 of 210
  7. edit_filesrc/semver.ts2 lines became 3
  8. run_commandnpm testexit 0 — 24 passing · no network in here
  9. proposeagent/42-compare-semver-rangespull request opened — waiting for a person
One run of an agent, opened on the file it wrote: the model, what woke it, the turns, the tokens and what it cost across the top, the patch itself below, and the tree of everything it touched beside it.
the change it is offering, in the run that produced it — with what that run cost beside it

The only moment it reaches out is to install dependencies, through a proxy that allows the registries its language uses and nothing else — a separate tool, so that “this command was allowed out” is a line on the receipt rather than a property of the whole run.

It proposes on a branch, as itself. When the build goes red it hears about it and tries again. When somebody asks for a change in review, it reads the review. What it never does is merge — unless merging is one of the things you gave it.

  • whatever the repository is written inGo, Python, Rust, Node, Java — read from your devcontainer, or from the manifest at the root.
  • a ceiling on what it may spendPer organization and per run, in money. It stops at the ceiling instead of you finding out afterwards.
  • nothing lands without a diff you readEvery run is a proposal, with what it cost and what it touched. A secret found in a diff is refused, not warned about.

0e73ba2what it will never do

It orchestrates above your repository, never underneath it

If the repository forbids squash merges, Tylon does not offer them. If a protection rule refuses a merge, the card stops and shows the refusal in the provider's own words rather than working around it. And nothing of yours leaves with us: delete the organization and every branch, pull request, tag and release it made stays exactly where it is, in the repository that was always yours.

59cd410what it costs

Twelve dollars a person. Agents are not seats.

You already pay for the tokens an agent spends — the model key is yours, and the provider bills you directly. Charging for the agent as well would be charging twice for one thing, so we do not.

free

$0

  • 5 people
  • 3 workspace, 5 repository
  • no agents — they run in a container we pay for

team

$12 /person/month

  • every workspace, every repository, everybody
  • agents, on your own model key
  • $10 a person if you pay annually

14 days of everything to start, no card. Nothing is taken away when it ends — the limits stop what is new and leave what you already made alone.

v1.0.0tag — where the account gets made

Start with one repository and one board

An email and a password, or the GitHub or GitLab account you already sign in with everywhere else.

Create your accountnothing to install in your repository