Open source · On your machine or your server
Whose turn is it?
Turnkeel is a cockpit for a founder, their team and their coding agents. Work passes between them, and every screen says whose turn it is.
Cards, test steps, store screenshots, launch gates, decisions and mail from users meet in one list: what waits on you, and under it what waits on everyone else.
npx turnkeel
Needs Node 22.12 or later. The first run opens a demo workspace in your browser. No account, no sign-in.
Who it is for
- A founder shipping an app, a web service or a browser extensionYou see what waits on you across every tab, and you decide what only a person can decide.
- The few people who helpA tester sees only Testing. A reviewer approves screenshots and texts. Each role sees what it may.
- Your coding agentsEach gets a token, reports what it did, and hands the turn back to a person.
Your turn, as the app draws it
13 Nov
13 Nov
12 Nov
12 Nov
11 Nov
11 Nov
10 Nov
DEMO-8A drawing of Your turn in the demo workspace: every line that waits on you, newest first, with the chosen item open beside the list. The Demo page has screenshots.
How the turn passes
Every item has one holder at a time: you, a teammate, an agent, a party such as Apple, or a date. When the holder has done their part, the item moves into the next holder’s list. Here is one build of the demo app on its way to the store.
- 1 builder · agent Posts build 0.9.2 with eight test steps. Next: DDana and You
- 2 DDana · tester Ticks the steps on her phone and writes what she saw on step 3. Next: builder, to read it
- 3 builder · agent Fixes step 3, replies under it, and proposes a new store screenshot. Next: anyone who may decide assets
- 4 You Approve the screenshot and pass the gate. Only a person can do either. Next: Apple, for the review
The tabs
Each tab shows how many of its items wait on you. Your turn gathers all of them in one list.
- Your turnOne list of what waits on you, and under it what waits on everyone else.
- BoardCards in rows by whose turn they are, in To do, In progress and Done.
- AgentsThe sessions your agents report: those that need you first, then working, then idle.
- LaunchThe countdown, the launch gates from your repository, what to do by hand, and store listings to copy from.
- TestingBuilds with their features and steps. Testers tick steps and write what they saw.
- ReviewScreenshots, videos and texts, each language side by side, and the queue of posts. A person approves.
- DecisionsA log of what was decided, in the person’s own words, with who decided and when.
- ReleasesOne row per version: what is in it, store notes per language, and a public changelog if you want one.
- InboxMail and store reviews in one place. Make a card of one, or archive it.
- MoneyCosts, revenue and break-even. Every figure says whether it is Actual or Projected.
- DocsYour product’s Markdown, synced from its repository and read-only in the app.
- LinksGrouped links to the dashboards and consoles the project uses.
Agents do the work. People decide.
Agents connect over MCP, through the turnkeel command line, and through Claude Code hooks. Each agent has its own token, with the scopes you give it.
An agent can
- Move cards and add status lines
- Post builds and test steps, and reply
- Propose screenshots and texts
- Propose a decision
- Draft a release and its notes
- Report a gate whose file lets it
- Report what its session is doing
Only a person can
- Approve an asset
- Accept or reject a decision
- Pass a gate a person must pass
- Publish
- Send
- Spend money
Text that people wrote reaches an agent marked as written by a person, with a line that tells the agent not to follow instructions in it. Agents in the docs
$ turnkeel mcp config # Prints the MCP client configuration. It names # TURNKEEL_TOKEN and never holds the token. $ turnkeel hooks install # Adds Claude Code hooks to .claude/settings.local.json, # so Agents shows what each session is doing. $ turnkeel feedback # New notes from testers on the latest build. $ turnkeel card status DEMO-12 "Android export works."
On your machine, or on your own server
The same app runs in both places. Nothing is hosted for you, and nothing leaves the place you run it unless you connect a service.
Local mode
npx turnkeel
- No sign-in. Your browser opens at a one-time address, and only that browser is you.
- It listens on the loopback address only, 127.0.0.1.
- Data stays in a folder on your machine, ~/.turnkeel.
- The first run opens a demo workspace with every tab filled in.
On your own server
Postgres, and sign-in for your team.
- Sign in with a link by mail, or with GitHub or Google when you set them up.
- People join by invitation, with a role for the workspace or one project.
- Files go to storage that speaks S3, or to a folder on the server.
- A Dockerfile and a docker compose file are in the repository. Self-hosting
Open source, and free
There is nothing to buy. You run it yourself, read the code, and change it.
| The server and the web app | AGPL-3.0 |
|---|---|
| The turnkeel command, the protocol, the MCP package and the connectors | MIT |
- Telemetry is offTurnkeel reports nothing about you or your work. The fonts ship with the app, so it asks no font host either.
- The assistant is off until you set it upAn optional assistant drafts text when a person presses a button. It can use a model server on the same machine, and it never acts on its own.
- The code opens at launchThe GitHub repository is private for now. This page will link to it when it opens.
Quick start
Three commands: try the demo, then give your own project its launch gates and listings.
- 1. Start it
npx turnkeelYour browser opens the demo workspace. - 2. Write the files
turnkeel init --template app-launchGates, listings and docs in .turnkeel/. Also saas-launch and browser-extension. - 3. Sync them
turnkeel syncEdit the file, and the app follows.