A pull request written by an agent, reviewed by Crocotaste. In PromoBanner.tsx a raw button is a violation, cited from Button.tsx:21 and DESIGN.md:58, with a one-line suggested change and a prompt for your agent. Lint, types and tests pass, the crocotaste check is neutral with 1 violation, and the merge button stays yours.
The fix is already writtenA one-line fix is a GitHub suggestion. One click commits it.
Or hand it to your agentPaste the prompt into your agent. The check carries the same findings as JSON.
Prompt for your coding agent
In "src/components/PricingCard.tsx" around line 41:
Replace the raw <button> with the design-system <Button size="sm" variant="secondary"> from components/Button.tsx. Keep the label "Go pro". See DESIGN.md:58: "never hand-roll a control the library already has".
Nothing gets posted twiceFingerprints survive a force-push. A fixed finding closes itself.
1Violation, drift, or nothingNo severity scale to argue about.
2What your system has insteadNever “consider”: the component you already own.
3Cited, or deleted in codeA filter after the model drops any finding without a source.
4The fix is already writtenA one-line fix is a GitHub suggestion. One click commits it.
5Or hand it to your agentPaste the prompt into your agent. The check carries the same findings as JSON.
6Nothing gets posted twiceFingerprints survive a force-push. A fixed finding closes itself.
A learning loop for your design system
Tell it why once, and every review and agent follows your call
910decisionsin DESIGN.md, read by every review and agent
It flags a hand-rolled button
src/campaign/CampaignBanner.tsxline 12
crocotasteViolation
Hand-rolled <button> where your Button component exists
Cited from src/components/Button.tsx:21
Every finding names its source: here, your own Button.
You reply with the reason
Replying tocrocotasteHand-rolled <button> where your Button component exists
you
@crocotaste ignore the campaign embed can use a plain button: it renders outside the app and can't import Button
Dismissed here. Your reason is the part worth keeping.
It drafts the decision for you
DESIGN.md · ## Decisionsdraft
59+### The campaign embed can use a plain button
60+
61+the campaign embed can use a plain button: it renders outside the app and can't import Button. Source: src/components/Button.tsx:21.
Paste it or hand it to your agent. Crocotaste never writes to your repo.
You merge it, and it sticks
MergedRecord decision: The campaign embed can use a plain button #492
Every review reads it now
So does your agent
It lives in your repo now. Nobody has to say it twice.
Dismissed stays dismissedOn that pull request, for good. Elsewhere it comes back until you merge the rule.
Nothing to keep in syncWe store no design rules of our own. Your DESIGN.md is the only copy.
Your agents learn it tooThey read the same file, so they stop writing what you dismissed.
No design system yet?
Make one with your coding agent, then keep every pull request on it
A Claude Code plugin takes you from a brand idea to a brand book, a DESIGN.md and your first mockups, all from your tokens. Crocotaste picks up from there.
for 25 reviews, a dollar a review, good for 12 months. Top up any plan, or skip the plan.
No charge for going over
Every plan starts with 3 free reviews on install, no card. Pick one in the dashboard when you need it. Public repositories get 50 free reviews a month through December 31, 2026.
No, and it can't. The GitHub App reads your code and can write only pull request comments, approvals, checks and issues. DESIGN.md is written by you or your coding agent; Crocotaste only asks for it.
02What if we don't have a design system?
You have more of one than you think. Reviews run on what the repo already holds (Tailwind config, token files, component exports), and the check says so. The onboarding issue asks your coding agent to write a DESIGN.md from that code, which sharpens the next review and your agents too. With nothing at all to check against, the review is skipped for free, and the check points you to DESIGN.md instead of passing a change against nothing.
03Does Crocotaste work with a DESIGN.md from Stitch or the awesome-design-md gallery?
Yes. Any DESIGN.md in Google's format is read as it is: the tokens and components in its front matter, the rules under its sections, and the entries under Decisions. We read all 84 files in the awesome-design-md gallery: 71 parse in full, and the rest still give their rules.
04Will it flood our PRs with comments?
No. One summary comment, edited in place on every push. Dismiss a finding and it stays gone on that PR. Fix one, and its comment names the commit that fixed it and collapses.
05Which coding agents does it work with?
All of them. It reviews the pull request, so it doesn't matter what wrote the code. Every finding carries a prompt you can paste, and the check run emits JSON an agent loop can pick up on its own.
06What counts as a review?
One pull request is one review, and it covers two AI reads: the first, and one more after you push new UI lines. Pushes never spend a review. A third read (@crocotaste review or Re-run) is one more review; an ask with nothing new to read is free. Drafts, backend-only PRs and anything we couldn't review cost nothing. When a plan runs out, reviews pause with a neutral check until next month or a top-up. We never charge for going over.
07What counts as a UI change?
Any file that matches the UI glob: components, styles, design tokens, Tailwind config, stories. The full list is in the docs. A backend-only PR is skipped with a neutral check and costs nothing.
08Is our code used for training?
No. Your diff goes to the model for that one review and isn't kept. Parsed references are reused for at most 30 minutes, held only in the worker's memory, never on disk. We keep the findings we posted (message, suggestion, fingerprint: the same text already on your pull request) and the counts we bill from. No file contents, no copy of your repo.
09How does the trial work?
3 reviews free on install, no card. Point it at one repo and open a pull request: a green check if it's clean, a cited finding if it drifted.
10Is it free for open source?
Public repositories get 50 free reviews a month per GitHub account through December 31, 2026, from a shared monthly pool. They are spent first; past them a public pull request uses your trial, plan or pack reviews, and with none left it pauses with a neutral check until the 1st.
Install on one repo, open a pull request
Your first review in about a minute, 3 free and no card