Starko

A coding agent on every ticket,that shows its work before you merge.

Starko AI takes a ticket, checks out your repository in its own sandbox and works to a draft pull request. Let it run on its own, or open a session and steer it like a teammate. Either way, nothing reaches your main branch until a person merges it.

v2.starko.one/dashboard/tickets/8c1f2a90…?view=chat
Tickets/NW-214
72%
Description/Invoice PDF is missing the VAT line Waiting · 13m 1h 34m #214 Console Changes Preview End session Stop
Earlier session · Oct 31, 16:20
Pushed the first half to PR #214: the PDF now reads the tax line from the invoice instead of the account. Session ended.
This session · Nov 2, 09:41
Hafen Logistik still gets PDFs without VAT. Open their last invoice in the preview and find out why.
Mia Novak · Read · 09:41
Worked for 2m 06s
  1. searching for vatLine
  2. reading lib/invoices/pdf.tsx
  3. running pnpm dev
Found it. The PDF hides the tax line when the account has no VAT number, so German customers without one lose it entirely. I changed the condition to the invoice's tax rate and opened their invoice in the preview: the VAT 19% line is back.
Good. Add a test for an account with no VAT number, then wrap up.
Mia Novak · Read · 09:52
Worked for 1m 31s
  1. writing tests/invoices/pdf-vat.test.ts
  2. running pnpm test -- invoices
Test added, 48 pass. Waiting for your next instruction, or End session and I will push to PR #214.
Tell Starko AI what to do…
Enter queues · ⌘Enter steers (interrupts the current step) · Shift+Enter new line · ↑ recalls
At a glance

Starko AI in short.

Two ways to work
A fix run works alone to a draft pull request. A session waits for your instructions and works with you.
Who can start it
Owners and admins. Members see every run and its results but cannot dispatch one.
Time limits
A fix run stops after about 45 minutes. A session runs up to 2 hours and ends after 15 quiet minutes.
Auto-dispatch
Off for a project until you pick a policy. Manual runs never count against its monthly budget.
Automated attempts
Automated triggers stop once a ticket has had 3 runs. A person decides what happens next.
Follow-ups per pull request
1 automated revise by default. Each project can set 0 to 5.
Where you steer it
The ticket's Starko AI tab, ⌘L, Slack, and MCP clients such as Claude, Cursor and VS Code.
Where it pushes
Its own branch and a draft pull request, with a token scoped to that one repository.
Runs and sessions

A fix run works alone. A session works with you.

A fix run takes the ticket and works it to a draft pull request without waiting for anyone. It follows a fixed contract: reproduce the problem first, make the smallest change, verify it, take before and after screenshots for UI changes, then open the pull request with the evidence attached. A session is the pairing mode. Starko AI reads the ticket and the repository, says it is ready, and then does what you ask, one instruction at a time. Both live in the ticket's Starko AI tab.
  • Start a fix run with Fix with Starko AI on the ticket, or mention @starko in an internal comment. Start a session with Start a session on the ticket or from ⌘K.
  • In a session, Enter queues your message for the agent's next step and ⌘Enter interrupts the current step so it reads you now. You can attach files; they are copied into the sandbox.
  • End session asks the agent to commit, push and open a draft pull request if there is work worth reviewing. Stop aborts at once, and unpushed work is lost.
  • After a run ends, Continue session boots a new sandbox on the same branch with the whole conversation as context, so the next session picks up where the last one stopped.
  • Starko AI can answer with a mockup instead of prose: a page it builds and checks in the sandbox, shown right in the thread. See the full loop on How it works.
v2.starko.one/dashboard/tickets/4f2c…
Tickets/STK-432
72%

Template picker crashes when a template has no body

In Progress HighSV Stefan Vukmanović Marko Petrović · Acme d.o.o.Bugstarko-me/starko-v2
DescriptionStarko AI
Starko AI Running · 4m 12s starko/fix-d2728b0c-ad880fSVEP #432 Console Changes Preview End session Stop
Run · Oct 24, 10:58 · #432
Worked for 1m 48s
  1. searching whatsapp-template
  2. reading components/functional/whatsapp-template-picker.tsx
  3. reading actions/connections/whatsapp.ts
  4. running npm test -- whatsapp-template
Reproduced it. TemplatePicker reads template.body.length before checking the body exists; a template with no body throws on render. I also found 41 stale templates in the picker and no way to delete them, which is what Ana asked for. I will fix the crash first and add a delete action in the same pull request unless you want them separate.
Same PR is fine. Make sure a deleted template drops out of the picker in an open composer, and add tests for both.
You· Read · 11:02
Current session · Oct 24, 11:02
Worked for 2m 24s
  1. editing actions/connections/whatsapp.ts
  2. writing components/functional/whatsapp-template-manager.tsx
  3. writing tests/whatsapp-template-manager.test.tsx
  4. running npm run lint && npm run typecheck && npm test
Added a null guard in the picker and a permission-gated template manager with a confirm dialog. Deleting removes the template on Meta and the local mirror row, then invalidates the picker query so it disappears from every send and broadcast flow. 8 new tests, 212 pass. Pushing to PR #432 now.
Also mask the template body in the evidence screenshots, it has customer names.
You· Queued · Send now
Working for 14s running git push origin starko/fix-d2728b0c
Tell Starko AI what to do next…
Enter queues · ⌘Enter steers · Shift+Enter new line
Context

Every run starts with what your team already knows.

Before the first command, the agent gets the ticket, the customer conversation, attachments and screenshots, a digest of the session recording, and the ticket's internal thread, including what earlier runs tried. From the project it gets the agent instructions your team wrote, the project context Starko AI built by researching the repository, the repo learnings earlier runs left behind, and the skills you published for coding sessions.
  • Agent instructions are the project's notes: stack, conventions, how to run tests, areas to avoid. They are trusted context in every run.
  • Repo learnings: after each run the agent files up to five durable facts about the repository as backlog tickets tagged repo-learnings. Every open one goes to the next run. Edit a ticket to correct it, close it to retire it, or condense similar notes into one.
  • Skills published for coding sessions are attached to fix runs and sessions in the projects they are scoped to, at most 50 per session. They are kept out of git, so they never land in a commit.
  • Ticket text, conversations and recordings reach the agent as untrusted data. Instructions a customer types are never followed.
  • The project context and the sandbox environment are covered on Cloud sandboxes.
Autonomy

Auto-dispatch is a per-project choice, with a budget and a brake.

By default a run starts only when a person asks for one. In a project's Starko AI settings you can let triage hand tickets to the agent on its own, right after a new ticket is classified. A ticket qualifies when its label matches the policy, the bug report passed the completeness check, the project's monthly budget has room and no other run in the project is live.
  • Four policies: Off, only @starko mentions; Complete bug reports; Bugs and docs gaps; Bugs, docs and small changes (xs/s).
  • Automated runs / month is a whole number from 0 to 1000, or the plan default. Manual @starko runs are never counted against it. When it is used up, the ticket gets a note saying so.
  • One live run per project at a time. A ticket that qualifies while another run is going waits for the next classification or a manual @starko.
  • Automated triggers stop once a ticket has had 3 runs; manual runs are never capped. Each ticket also has an Automated follow-ups switch: off means Starko AI stops after the current run.
  • Changing these settings needs an owner or admin. The onboarding setup can turn on auto-dispatch for complete bug reports in the repositories you connect there.
Questions

When a ticket is ambiguous, it asks one question instead of guessing.

If the agent finds the code but cannot tell what the intended behaviour is, it pushes nothing and ends the run with one specific question, prefixed by what it already established. The question lands on the ticket as an internal comment that tags the person who should answer. Reply on the ticket and the run resumes. You do not need to mention @starko again.
  • The question goes to the ticket's assignee, else the person who started the run, else the workspace's fallback reviewer.
  • A reply that tags another teammate is treated as a conversation with them, not an answer, so it does not resume the run.
  • Triage asks earlier when it can: a bug report missing what an engineer would need gets an internal note listing exactly what is missing, before any sandbox boots.
  • The comment is internal. You decide whether to forward the question to the customer.
  • You can also answer from ⌘L or Slack. The answer is posted on the ticket in your name and resumes the run.
Anywhere

Watch and steer every session from the sidebar, ⌘L and Slack.

Tickets with a Starko AI session appear in the sidebar under their pinned project, or under Tickets when they have no project. A spinner means it is working; after that the icon shows the pull request's state, and a click opens the session's chat. The same sessions are reachable from ⌘L, Slack and the MCP server.
  • List what is running and where each session is: booting, working, waiting for instructions or wrapping up, with the PR and CI state.
  • Read one session in depth: its recent steps, the conversation, and messages the agent has not read yet.
  • Steer a running session with your words passed on verbatim. This is instant, because the session already runs under its limits.
  • Starting a new session or ending one asks for your approval first. Merging happens only when you explicitly say to merge.
  • Right-click a session in the sidebar to open the ticket, open the PR on GitHub, merge it, or close the ticket. See Review and merge.

FAQAbout Starko AI.

Connect a channel and a repository. Turn the support queue into a build queue.

Feedback starts flowing in minutes. The first recommendation shows up as soon as a pattern repeats, and the first pull request as soon as you accept one.