Every repository, its state, and what it has running.

Kestro looks for your code folders so you do not have to, on this Mac and on your remote machines. It shows the branch, what has changed, what is left to push, and starts the dev server or the compose stack in one click. Without leaving what you were doing.

macOS 11+ · Windows soon

CodeFileView14:43
Kestro1 tunnel open · 1 service isn’t answering
4 projects · 3 runningAdd a folder
notes-appmain+240-962 to pushEditor
run-trackerfeat/segments+512-873 changedEditor
atlasmain+18-4up to dateEditor
serenechore/audio+63-1401 changedEditor
⌘K palette↑↓ navigate␣ togglecloses if you click elsewhere
run-tracker , zsh
Applying 2 migrations to shop-staging-db…
20240612_add_orders_index ok
done in 1.4s
run-tracker , zsh
# your repositories, and where they stand
project run-tracker feat/segments ±
project notes-app main
project atlas main

Projects

Six things you do by hand every morning.

discovery

It finds your repositories on its own

You point at the folder where your code lives, Kestro walks into it and shows you the repositories it found. You keep the ones you want. No “add a project” to repeat forty times on day one.

remote

Including the ones that live elsewhere

A Google Cloud VM, an EC2, any server ssh can reach: the repositories over there join the same list, with the same branch and the same terminal button. The row says which machine they live on.

git

The branch, and the weight of what changed

main, feat/segments, 3 modified, 2 to push, 1 forgotten stash, +512 −87. That is what you go looking for before opening a repository, and it is there without opening it. Kestro reads Git; it never writes to it.

compose

docker compose, service by service

Postgres, Redis, MailHog: the fold opens under the project and each service has its own state. A container still up from yesterday shows as “started elsewhere” rather than offering a second start that would hit the port already in use.

open

Editor, terminal, dev server

The three doors you open twenty times a day, on the same row. The dev server keeps its output in the panel; the terminal only opens because you asked for it.

assistant

Your assistant knows where your projects are, and what they answer

Kestro is an MCP server: your assistant sees the inventory, starts the dev server and reads its output, instead of waiting for you to paste three hundred log lines into a chat that will truncate them. What it may do lives in switches, and what you have not opened gets asked for.

Works with what you already haveSSH · Google Cloud · AWS · Cloudflare · Docker · PostgreSQL · Redis · Git

The morning list

From “where was I” to “it is running”, without looking for anything.

Kestro does not try to be where you work. It is where you start from, and it knows the state of everything before you open it.

  1. It looks where you keep your code

    One parent folder is enough: every repository found becomes a suggested row, which you keep or not. It does not sweep your disk and it opens none of your files.

  2. It reads Git without touching it

    Branch, modified files, commits ahead, stashes left aside. Read, never written: Kestro does not commit, does not push and does not switch branches for you.

  3. It runs what the repository knows how to run

    The scripts in your package.json, your make targets, the services in your docker-compose.yml, or the command line you hand it. Nothing to declare: what is in the repository is what it offers.

  4. It gives you back the keyboard

    Open in your editor, open a terminal already placed in the right folder. What Kestro started keeps running, in plain sight, while you write code somewhere else.

On your machine

Everything stays with you.

Your connections run from your computer to your servers, never through us.

  • No account

    Nothing to create, no password.

  • Your keys stay put

    SSH, Google Cloud, AWS: Kestro uses your own tools, locally.

  • No usage statistics

    We don’t know what you open, or when.

  • One exception

    Your licence renews with us. Nothing else leaves.

And the rest

Kestro does more than projects.

It holds everything you used to leave running in those other terminal tabs. Same panel, same shortcut, same price.

  • Your tunnels

    Postgres, Redis, a database behind a bastion or on Google Cloud: opened with a switch, reopened when your Mac wakes.

  • Your services

    Sites, APIs, ports: checked continuously from your own machine. The moment one goes down, the menu bar icon changes.

  • The terminal

    The kestro command does what the panel does, without leaving the keyboard, and nothing pops up over what you were doing.

Pricing

You pay once. That’s it.

A tool you open forty times a day shouldn’t send an invoice every month.

Kestro licence

€29.99$29.99£25.99CHF 25.90CA$40.99A$45.99€39.99$39.99£34.99CHF 33.90CA$54.99A$61.99 · Launch offer · upcoming price

1 computer · one-time

  • Every feature of the app, no tiers, no “Pro” edition
  • One year of updates included, then renew if you want to
  • The app stays yours, renewed or not
  • One key, the same on all your computers
  • Switch machines whenever you like, no limit
  • No account to create: the key arrives by email

Or download it for free first →

Refunded within 14 days, no questions asked.

Questions we get asked

Does Kestro touch my repositories?

It reads them, it does not write to them. No commit, no push, no branch switch, no stash. What the panel shows is what git status would tell you, obtained the same way. And if you quit Kestro, your repository is in exactly the state you left it in.

Where does it look for my projects?

Where you tell it to, and nowhere else: you point at a folder, it walks into it looking for repositories. It does not sweep your disk, does not climb back into your home folder, and opens none of your code files.

What about repositories on my servers?

They show up in the same list. Kestro leans on your ~/.ssh/config to reach the machine (a Google Cloud VM, an EC2, a build server), and the row behaves like a local project’s. It says which machine the project lives on, so you never start something believing you are somewhere else.

Do I have to configure each script?

No. Kestro reads your package.json, your Makefile and your docker-compose.yml: what is in there is what it offers. You pin what you run often, the rest stays one ⌘K away. And if your project starts some other way (a ./start.sh, a bun run serve), you hand it the line once and for all.

What if a service is already running, started elsewhere?

Kestro sees it and says so. A docker compose up typed in a terminal yesterday, containers still up after a hard quit: the row reads “started elsewhere” and its button becomes a stop. That beats the obvious alternative: offering a second start that will hit the port already in use, with nothing having warned you.

Does it replace my editor?

No, and it would be a poor product if it tried. Kestro holds what runs around the code: the servers, the services, the tunnels, the watching. The “Editor” button opens yours, in the right folder, and you hear nothing more from Kestro until something falls over.

Does the trial ask for a card?

No, and it does not ask for an account either. You download, you get 7 full days. No card is asked for until you decide to buy.