nitpicker

open source · deploy in 30 seconds · free therapy (for your codebase)

LGTM is a cry for help.
Nit answers.

AI that reviews GitHub PRs like the coworker who actually reads the diff — then leaves comments you’ll think about in the shower. Deploys on Lambda. Costs pennies. Costs pride.

Nit, the nitpicker mascot, pointing at a bad diff
absolutely not
one line install
curl -fsSL https://nitpicker.dev/install | bash

sample reviews · real pain

What Nit actually says.

pr #902 rename for clarity

naming court
user.ts+1 −1
@@ fetch @@
 const user = await db.find(id)
 const data2 = await db.find(id)

nit commented on user.ts

data2 is what you name a variable when you’ve given up on life but not on shipping.

close PR · open a dictionary

pr #77 improve error handling

lol no
pay.ts+1 −1
@@ charge @@
 await stripe.charge(cart)
 try { await stripe.charge(cart) } catch { /* lol */ }

nit commented on pay.ts

You didn’t handle the error. You put it in witness protection.

request changes · log literally anything

pr #1204 fix flaky test

cheating
checkout.test.ts+1 −1
@@ it("charges once") @@
 expect(charges).toBe(1)
 expect(true).toBe(true) // flaky otherwise

nit commented on checkout.test.ts

Congrats, your test suite is now a motivational poster.

request changes · also delete LinkedIn

auto reviews on open

process.yml+1 −1
@@ review @@
 wait for Sarah (OOO until heat death)
 nit shows up in 12s, already disappointed

nit on process

Faster than Slack. Ruder than your tech lead.

infra one-command setup

deploy.sh+1 −1
@@ runtime @@
 EC2 named "temp" (est. 2019)
 Lambda · roasts · naps · $0.00 idle

nit on deploy

Wakes only when you ship something dumb. So… often.

Nit standing, unimpressed

mascot · do not feed after midnight

Meet Nit. One eye. Many notes.

Born in a failing CI job. Raised on bad diffs. Exists so humans can fight about product instead of console.log("here2"). Does not do pep talks. Does do line numbers.