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.
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
Projects
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
Your connections run from your computer to your servers, never through us.
Nothing to create, no password.
SSH, Google Cloud, AWS: Kestro uses your own tools, locally.
We don’t know what you open, or when.
Your licence renews with us. Nothing else leaves.
And the rest
It holds everything you used to leave running in those other terminal tabs. Same panel, same shortcut, same price.
Postgres, Redis, a database behind a bastion or on Google Cloud: opened with a switch, reopened when your Mac wakes.
Sites, APIs, ports: checked continuously from your own machine. The moment one goes down, the menu bar icon changes.
The kestro command does what the panel does, without leaving the keyboard, and nothing pops up over what you were doing.
Pricing
A tool you open forty times a day shouldn’t send an invoice every month.
Kestro licence
1 computer · one-time
Or download it for free first →
Refunded within 14 days, no questions asked.
Questions we get asked
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 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.
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.
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.
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.
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.
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.