Built for · Engineering & product

Ship more.Toil less.

Bash reads the diff before the author context-switches, comments inline, triages the week’s bug reports into issues and writes the sprint note, inside GitHub, Slack and Notion, as you. Nami remembers every service, so nothing has to be re-learned at 2am.

githubslacknotiongmailgooglecalendargooglesheetsSigned in as you · 1,000+ more
Watch it work

One ask. The whole pass.

Pick a delegation. Bash plans it, works across your tools on its own machine, a real browser and a real terminal, and comes back with the result, held for your word where it matters.

BashDone
#engReview PR #4182 before Rohan context-switchesDelegate
Read the whole diff — 14 files, the webhook replay path
Check the branch out and run the suite on its own machine
Leave six inline comments where the logic breaks
Post the summary review, say what blocks and what is taste
github · diff · #4182 · 14 files · +380apple · suite · 214 pass · 2 failgithub · comments · 6 inline · 1 blockingslack · post · #eng
Review · posted on #4182
Six comments, one blocking
Line 88 retries on a 409, so a replayed webhook charges twice. The other five are naming and a missing test for the empty payload. The two red specs were already red on main.
Blockingretry on 409 · double-charges on replay · retry.ts:88
Taste4 naming · 1 test gap · none of them hold the merge
Done · 3 minutes

Every scene is a real delegation. The plate plays itself — pick a row to jump.

From wherever you are

Ask from the phone. It’s reviewed before you open the laptop.

Engineering lives in threads, so your agent does too. Bash answers from Slack, WhatsApp, Gmail, Telegram, Teams, or a key on your desk.

WhatsApp8:04 AM
Brief’s in your inbox. halyard main is red since 04:12 — the webhook replay spec again. 9 merged, 5 PRs waiting, oldest is Rohan’s #4182 at three days.8:04 AM · 22 seconds
#engTue 10:18
@Bash review #4182 and be honest about it10:18 AM
Six comments on #4182, one blocking: line 88 retries on a 409, so a replayed webhook charges twice. Suite run on my machine, the two failures were already red on main.10:21 AM
GmailFwd
Fwd: checkout hangs on the retry — can you reproduce this?2:12 PM
Reproduced on my own machine, 3 of 10 runs. The fix and a regression test are in #4207, held for you — it opens when you say.2:26 PM
or press ctrl ctrl anywhere on your Mac
Signed into your world

Works inside your stack, as you.

Connect the repo, the channel and the doc. A thousand more, Sentry to Linear to Datadog, are a click away when the bug calls for them.

GitHubRead the diff, comment inline, file the issue, open the PR.
SlackPost the brief, answer the thread, triage the alert.
NotionDraft the spec, keep the board, close the sprint.
GmailRead the bug report, draft the reply, send on your word.
Google CalendarMove the review, hold the focus block, book the retro.
Google SheetsTrack flaky tests, cycle time, what the sprint actually cost.
— and 1,000+ moreSee everything it connects to
Say it like this

Delegate in plain words.

Paste any of these into Vestra. No setup, no syntax — it already knows your repos, your reviewers and how you write a comment.

Review PR #4182: read the whole diff, run the suite, comment inline where the logic breaks, and post the summary in #eng.
PR review
Turn this week’s error reports into issues, deduped and grouped by root cause. Link the ones we already filed instead of opening new ones.
Triage
Write the spec for webhook retries: read the halyard code, the May postmortem and the three related issues, then draft it in Notion.
Spec
Reproduce this bug on your machine, then open a draft PR with the fix and a regression test. Hold it for me.
Repro & fix
Every morning at 8: what merged overnight, what is waiting on my review, and what CI is red. One page, oldest first.
Morning brief
Close out Sprint 34 in Notion from the board and the merged PRs: shipped, carried over, what slipped and why.
Sprint note
Routines that fire themselves

On a schedule, or on a signal.

Set it once. You hear about it when it’s done — and only then.

Daily · 8:00Morning repo briefMerged overnight, waiting on your review, CI red. One page in your inbox before standup, oldest review first.
Fri · 17:00Sprint closeoutShipped, carried over, what slipped and why. Written from the board and the merged PRs, posted to #eng before you log off.
On eventMain goes redThe first real error line, the commit that did it, the owner. In #eng within a minute, with the revert written and held for your word.GitHub → Slack · held
Wed · 16:00Flaky test ledgerEvery spec that failed and then passed on a rerun, with its rate and the minutes it stole. Ranked, in the sheet.
Nami · the keeper

It remembers every service. So nobody re-learns the system.

Owners, deploy history, the flaky spec, the incident in May, the decision someone made in a thread and never wrote down. Filed once, in its place — and noticed when something changes.

Nami · entity
halyard · checkout
OwnsPayments, webhooks, retries · 41k requests a minute at peak
OwnersRohan Iyer · Dara Osei · on-call rotates Thursdays
Deploys2.9.1 shipped Tue · 14 this month · 2 rolled back
Flakywebhook replay spec · red on 6 of 40 runs since July
IncidentMay 14 · replayed webhooks charged 38 accounts twice · postmortem linked
Kept since March
Noticed on its own

The webhook replay spec has flaked six times since July. File it and quiet the alert?

halyard · 6 of 40 runs · always the second retry
Not nowHandle it
Noticed on its own

Rohan’s #4182 has waited three days with no reviewer. Nudge the team?

#eng · nobody claimed it since Friday
Not nowHandle it
Caught a change

The retry budget in halyard went from 3 to 5 this morning. The spec in Notion still says 3. Update it?

Commit 9c1f2a · 2 hours ago
Not nowHandle it
Asks before it matters

It merges nothing you haven’t seen.

Anything that reaches main, a customer, or production — held until you say go. Reading, running, reproducing and drafting keep moving.

Held · waiting on you

Open the fix PR on halyard?

To halyard · main ← fix/retry-idempotency-keyRe fix: the retry reuses the idempotency key on the second attempt

Reproduced on 3 of 10 runs. The retry sends the same idempotency key, so the second call waits on the row lock the first one took. One line in retry.ts, plus a spec that hangs without it…

EditHoldApprove & sendGitHub · as you
Only the tools you connectGitHub, Slack, Notion — nothing else. Disconnect any of them, any time.
Every step, in the openThe plan, each command it runs, the diff it writes — visible while it works. Peek in, or take the wheel.
Your code stays yoursYour repos live with you, not with a model. Switch minds; the work comes along.

Engineering & product · FAQ

Questions, answered.

Does it push code on its own?
No. It reads, runs and reproduces freely, and it writes the branch, the comment and the PR. Anything that reaches main, a customer or production is held for your word, including the revert it drafts when CI goes red. You can loosen that for routines you trust.
How good is the review, really?
It reads the whole diff, not the summary, then checks the branch out and runs the suite on its own machine before it comments. It flags correctness, missing tests and the edge case nobody wrote down, and it separates what blocks the merge from what is taste. When it is unsure, it says so instead of inventing confidence.
Can it actually reproduce a bug?
That is the point of the machine. It clones the repo, installs, replays the request against a stub and runs it ten times to see how often it hangs. What comes back is a repro rate and a failing test, not a guess. If it cannot reproduce the bug, it tells you what it tried.
Which tools does it work with?
GitHub and GitLab, Slack and Teams, Notion, Linear and Jira, Sentry and Datadog, Docs and Sheets — and a thousand more connections a click away. It works inside them as you, with your permissions, not through a bot seat.
What does it know about my services on day one?
Whatever is in the tools you connect: the repos, the open PRs, the issues, the CI history, the threads. From there Nami keeps building — owners, deploys, the flaky spec, the incident in May — so the next brief starts from everything, not from scratch.

The door

Come back to shipped.

Tell us what your repos look like. We’ll show you what Bash would own, what Nami would keep, and how your sprint changes.