Unicoder
A coding bot with years of Flutter expertise built in.
Assign an issue and Unicoder opens the pull request, carrying the engineering standards of the team behind Flutter’s flagship apps. Right inside your GitHub, no new tool to learn.
Routine engineering work, handled where your team already is.
- 01 / Expertise
Expertise, built in
Unicoder follows the internal engineering playbook Very Good Ventures uses on its client apps. Layered architecture, bloc conventions, strict analysis, and thorough testing are the defaults in every pull request it opens.
- 02 / Zero friction
Right where you work
No new tool to learn and no prompts to write. Assign an issue, mention the bot, or request a review. Your team already knows how.
- 03 / Freedom
Your AI, your budget
Choose Claude, Gemini, or opencode per repository. Every run records its tokens and cost, so you always know exactly what you’re spending.
From issue to approved pull request.
Describe what you need in plain language. The bot writes the code, runs your formatters and tests, and opens a PR you can review like any other.
- 01
Opens the PR
Reads the issue, its linked issues and your repo, then writes and tests the change. - 02
Reviews
Leaves inline comments on any PR it’s asked to review. - 03
Addresses feedback
Works through every open review comment and pushes commits. - 04
Approves
Once every thread it opened is resolved, it approves on its own.
Beyond one task at a time
-
Workflows
Queue a sequence of issues. It works through them in order and moves to the next as soon as one closes.
-
Issue context
Pulls in parent issues and linked references, so sub-issues of a larger epic are built with the full picture.
Talk to it like a teammate.
Assign an issue, mention it on a pull request, or request a review. Unicoder does the work and answers in the same place.
Issue #312 Assign an issue
Assignees
your bot user
unicoder Drafts the change and opens a PR that closes the issue. If a PR for it already exists, it points you there instead.
Issue #318 Comment on an issue
you /unicoder Implement a dark mode toggle in settings.
unicoder Works out what you’re asking for, then opens a PR with the change.
Pull request #482 Ask a question
you /unicoder what does this function do?
unicoder Answers in a comment. No code changes.
Pull request #486 Request a review
Reviewers
your bot user
unicoder Leaves inline review comments on the diff, and approves once every thread it opened is resolved.
Pull request #486 Address the review
you /unicoder please address the review
unicoder Reads the open review comments and pushes commits that resolve them.
Pull request #486 Rebase or merge
you /unicoder /rebase
unicoder Rebases the PR onto its target branch, resolving conflicts where it safely can. If it can’t, it backs out and tells you why.
Pull request #490 Apply a label
Labels unicoder-review-pr
unicoder Every command also works as a label, even from the issue list. Remove it and add it back to run the action again.
Claude Code From Claude Code
Ask unicoder to review pull request #42
unicoder Its MCP server turns its actions into tools your agent can call. Claude Code hands the request over at once, and the review lands on GitHub.
Your automation Dispatch API
POST /dispatchTask
unicoder Hand it tasks from cron jobs, scripts or other agents. It runs the task and opens a PR with the result.
Keeps pull requests moving.
- 01
Fixes failing CI
Reads the logs on its own red PRs and pushes a fix, within a budget.
GuardrailOnly on pull requests it opened, and only once every check has finished.
- 02
Rebase or merge
Brings a branch up to date and resolves conflicts, or backs out cleanly.
GuardrailWhen it can’t be confident about a resolution, it leaves the branch untouched.
- 03
Auto-update PRs
When the base branch moves, every open PR follows.
GuardrailAdd the no-auto-update label to keep a pull request out of it.
- 04
Auto-merge
Merges green PRs from authors you allow, like Dependabot.
GuardrailNever a draft, never a fork, never past branch protection.
- 05
Preview builds
Ask for a build in a comment and get the result and artifacts back.
GuardrailIt runs your own GitHub Actions workflow and posts the result.
- 06
Issue triage
A first look on every new issue: duplicates, blockers, size and likely cause.
GuardrailRead-only. It never opens a branch, a commit or a pull request.
Fits your stack, not the other way around.
-
Bring your AI
Claude, Gemini or opencode, chosen per repository.
-
Specialized agents
Named personas with their own prompt and tools. It picks the best fit.
-
MCP servers
Connect your tickets, observability and internal services.
-
unicoder.yaml
A branch can carry its own SDK versions, tools and hooks.
-
VGV best practices
New repos start with VGV plugins, Flutter and Very Good CLI ready.
The standard it follows: Very Good Engineering
-
Plan, then execute
One model plans, a cheaper one writes the code.
You stay in control of time and money.
- 01
Every run on record
Every run records its tokens and cost. The dashboard keeps the full log of what was asked, which agent ran and what it changed. - 02
Run time limits
Stalled or runaway runs stop, and you get the work in progress back. A run stops after 15 minutes without output, or after an hour of work. - 03
Cost alerts
An email the first time a repo’s monthly AI spend crosses your threshold. One per repo per month, not one a day.
Join the waitlist.
Tell us about you and your team. We’ll be in touch about access.
You’re on the list.
Thanks for your interest. We’ll be in touch about access.
Before you install it.
01 Which AI providers does Unicoder work with?
Claude, Gemini, or opencode, chosen per repository. You bring your own API key, and every run records its tokens and cost.
02 Does it only work on Flutter apps?
No. It works on any repository it’s installed on. Flutter is the stack it’s set up for out of the box: it can install the Flutter SDK and Very Good CLI before it starts, and new repositories begin with VGV’s Flutter plugins ready.
03 Who can trigger it?
Repository admins and maintainers, by default. Admins can add other GitHub users to its interaction list in the dashboard.
04 Can it approve its own pull requests?
No. It never approves a pull request it opened. On someone else’s, it approves only once every thread it opened there is resolved. Auto-merge is off until you turn it on, and then only for authors you allow, such as Dependabot.
05 What happens when it can’t resolve a conflict?
It backs out cleanly, leaves the branch untouched, and tells you why. Resolve the conflict, push, and mention it again if you want another pass.
06 How do we get access?
Join the waitlist on this page. Tell us about you and your team, and we’ll be in touch about access.
Be first in line.
Join the waitlist and tell us how your team would use it.
Join the waitlist Start the conversation





