a1f9e2feat: every PR reviewed in under a minute

Ship faster.Ship fewer bugs.

Megicoder reviews every pull request for bugs, security issues and your team's rules, writes the tests your code is missing, shows where bugs are most likely to hide, and helps your human reviewers focus on what matters.

No card required Five-minute setup Your code never trains AI models
megicoder / checkout-service
Megicoder review 0 s

feat: add coupon to checkout #482Open

@priya wants to merge into main from feat/coupon6 files · +214 -38
Megicoder review requested
checkout/discount.ts+42 -6
54+export function applyCoupon(price: number, coupon: Coupon) {
55+ if (!coupon.active || coupon.expiresAt < Date.now()) return price
56+ // coupon.amount is in the same currency as price
57+ const total = price - coupon.amount
58+ return total
59+}
api/orders.ts+18 -4
110 const code = req.body.coupon
111 const db = await getPool()
112+ const rows = await db.query("SELECT * FROM coupons WHERE code = '" + code + "'")
Waiting for a human reviewer to approve.
TypeScriptJavaScriptPythonJavaGoKotlinC#RubyPHPRustSwiftScalaC++DartSQLTerraform
b74c10megicoder mainTest Writer

feat: tests that write themselves

Test Writer reads the diff, finds the functions your PR changed but no test covers, and drafts unit and integration tests in the framework you already use. Developers review them, edit if needed, and commit.

Tests for changed code onlyIt targets what the PR touched, so you get coverage where risk just went up, not a wall of generated files.
Your framework, your styleJest, Vitest, PyTest, JUnit, Go test, RSpec, xUnit and more. It follows your existing fixtures and naming.
Edge cases called outBoundaries, empty inputs, nulls and error paths are marked so reviewers can see what each test proves.
Nothing lands without a humanEvery drafted test is labelled AI-written and stays a suggestion until a developer commits it.
git show test-writer
tests/applyCoupon.test.tsAI-written
1+// AI-written by Test Writer. Review before commit.
2+import { applyCoupon } from '../checkout/discount'
3+
4+describe('applyCoupon', () => {
5+ const coupon = { active: true, amount: 20, expiresAt: Date.now() + 60000 }
6+
7+ it('subtracts coupon amount from price', () => {
8+ expect(applyCoupon(100, coupon)).toBe(80)
9+ })
10+
11+ it('never returns a negative total', () => {
12+ expect(applyCoupon(10, coupon)).toBe(0)
13+ })
14+
15+ it('ignores expired coupons', () => {
16+ expect(applyCoupon(100, { ...coupon, expiresAt: 0 })).toBe(100)
17+ })
18+})
5 drafted, 5 passing2 edge casesapplyCoupon coverage 0% to 92%

feat/find-bugs-early branched from main

c3d8aamegicoder feat/find-bugs-earlyBug Radar

feat: find bugs before users do

Bug Radar maps where the next bug is most likely to hide. It combines how often a file changes, how complex it is, how many people touch it and which past incidents traced back to it.

Hotspots, ranked by real signalsChurn, complexity, ownership spread and linked incidents, weighted from your own history.
Extra care where it countsPRs touching a hotspot get a deeper review and a note to the human reviewer.
Refactoring with a reasonOpen a Jira ticket from any hotspot with the evidence already attached.
git show bug-radar
Bug Radar · checkout-service · last 90 days14 files
payments/refund.tsRisk: Very high
Changes (90d)38
Complexity41
Linked incidents3
Recent authors6
d91f04megicoder feat/find-bugs-earlyCode Health

feat: watch code health over time

Code Health tracks maintainability, duplication, complexity and coverage on changed lines, week by week. Every PR shows what it does to the score before it merges.

A score per repo and per folderSee which parts of the codebase are getting better and which are drifting.
Impact before mergeThe PR shows "82 to 86 if suggestions are accepted", so quality is a visible part of review.
Quality gates you chooseBlock merges that push duplication or complexity past limits you set, or just warn.
git show code-health
Code Health · checkout-service · 12 weeks+15 since week 1
Health score86+4 this week
Duplication3.1%-0.3 pts
Avg. complexity7.4-0.6
Changed-line coverage78%target 80%
Health score Duplication %

merged feat/find-bugs-early into main

e5520bmegicoder mainRepo Insights

feat: see how the team ships

Repo Insights shows PR cycle time, time to first review, review load and delivery trends. It is built to improve team flow, not to rank individual developers.

Where PRs waitSplit cycle time into coding, waiting for review, in review and waiting to merge.
Review load, balancedSpot when review work piles up on a few people before it slows everyone down.
Trends, not leaderboardsTeam and repository views only. No per-person scores, by design.
git show repo-insights
Repo Insights · platform team · last 8 weeksteam view
Median PR cycle time24 h-48% vs. week 1
Time to first review3.1 hwas 9.2 h
PRs merged / week63+11
Avg. PR size212lines changed
Median cycle time (hours)
46W1
41W2
44W3
38W4
33W5
30W6
27W7
24W8
Review load spread
0-2 / wk2
3-5 / wk7
6-8 / wk5
9+ / wk1

Reviewers per load band. Flags when review work piles up on a few people, without naming or ranking anyone.

f0a7c3megicoder mainTeam Rules

feat: our rules, enforced

Write your team’s rules in plain English, like "never log personal data" or "all API handlers need input validation". Megicoder checks every PR against them and points to the exact line.

Plain English, no DSLIf you can say it in a review comment, you can make it a rule.
Scoped and versionedRules live in .megicoder/rules in your repo, scoped by path, reviewed like code.
Severity per ruleMake a rule required for merge, a warning, or a quiet note in the summary.
git show team-rules
.megicoder/rules · 3 active1 hit on PR #482

Never log personal data such as emails, phone numbers or card numbers.

scope: **/*severity: High

All API handlers need input validation before touching the database.

scope: api/**severity: High

No console.log in application code. Use the shared logger.

scope: src/**severity: Lowhit: checkout/discount.ts:61

Database access goes through the repository layer, not raw queries in services.

scope: services/**severity: Medium
0b6e91megicoder mainIntegrations

chore: plug into everything

GitHub, GitLab, Bitbucket and Azure DevOps for code. Jira and Slack for the team. GitHub Actions, GitLab CI, Jenkins and CircleCI for pipelines.

GitHubGitHub App for cloud and Enterprise Server. Reviews as PR comments and checks.
GitLabGitLab.com and self-managed. Merge request notes and pipeline status.
BitbucketBitbucket Cloud and Data Center. Inline comments on pull requests.
Azure DevOpsAzure Repos pull requests with status policies for branch protection.
JiraLinks findings to issues and opens tickets for hotspots worth fixing.
SlackReview summaries, high-severity alerts and weekly health digests.
GitHub ActionsRun Test Writer output and quality gates inside your workflows.
GitLab CIPipeline job that blocks merges on rules you mark as required.
git show integrations
workflow how a pull request moves

The first pass is automatic. The final call stays human.

Megicoder sits between "PR opened" and "human review", so your reviewers start from a clean diff instead of hunting for null checks.

01

A PR is opened

Megicoder is added as a reviewer through your git platform. No change to how anyone works.

t = 0 s

02

First pass in under a minute

Bugs, security issues, rule breaks and missing tests, posted as inline comments with suggested fixes.

t < 60 s

03

The author fixes and commits

Accept suggestions in one click, keep the drafted tests that make sense, and push.

minutes, not days

04

A human approves and merges

Your reviewer focuses on design, naming and intent. Megicoder never merges on its own.

human sign-off

config noise control

Comments worth reading. Nothing else.

The fastest way to get an AI reviewer ignored is to let it nitpick. You set the severity threshold per repository, and anything below it stays in the summary instead of the diff.

Per-repo thresholdsStrict on payments, relaxed on internal tools.
Learns from dismissalsDismiss a type of comment a few times and it stops appearing for that repo.
Comment threshold4 of 6 posted
CriticalSecret key committed in configconfig/prod.ts:4
HighTotal can go negative when coupon is larger than pricecheckout/discount.ts:57
HighSQL built with string concatenationapi/orders.ts:112
MediumPromise not awaited; errors will be swallowedapi/routes.ts:88
Lowconsole.log left in application codecheckout/discount.ts:61
InfoFunction name does not match its return valuecheckout/types.ts:19

Below the line: kept in the review summary, never posted as inline comments.

.megicoder/policy.ymlenforced
1# .megicoder/policy.yml
2data:
3 train_on_customer_code: false # never, for you or anyone
4 keep_code_after_review: false # processed, then discarded
5review:
6 role: first-pass # humans approve and merge
7 min_severity: medium
8tests:
9 label_ai_written: true
10 require_human_review: true
11insights:
12 rank_individuals: false
13deploy:
14 self_hosted: available # Enterprise plan
policy your code stays yours

Written down, not just promised.

Never used to train AI modelsNot for your account, not for any other customer.
Processed, then discardedCode is read only to produce the review and is not stored longer than needed.
Self-hosted when you need itEnterprise runs inside your network or private cloud. Code never leaves.
Suggestions, not decisionsAI comments and AI-written tests always need a human to accept them.
git log --questions

What engineering leads ask first.

No. It handles the first pass: bugs, security issues, rule breaks and missing tests. Your reviewers still approve and merge, and they get to spend their time on design, naming and intent instead of null checks.

No. Customer code is never used to train AI models, for your account or any other customer. Code is processed only to produce reviews and is not stored longer than needed.

TypeScript, JavaScript, Python, Java, Go, Kotlin, C#, Ruby, PHP, Rust, Swift, Scala, C++, Dart, SQL and Terraform, plus common config formats like YAML and Dockerfiles. Test Writer supports Jest, Vitest, PyTest, JUnit, Go test, RSpec, xUnit and NUnit.

Yes. The Enterprise plan runs self-hosted inside your network or in your private cloud, so code never leaves your infrastructure.

You decide. Set a minimum severity per repository and anything below it stays in the review summary instead of becoming an inline comment. Dismissed comment types are learned per repo.

About five minutes. Install the app on your git platform, pick a repository, and the next pull request gets reviewed. No CI changes are needed to start.

They are not charged. Paid plans bill per active developer, meaning someone who opened at least one pull request in that billing month.

git merge feat/first-review into main

Review your
first repo free.

One repository, AI review on every pull request, no time limit. Connect it in about five minutes and the next PR gets a first pass in under a minute.

Review 1 repo free