{"slug": "show-hn-stupify-anti-slop-code-review-for-ai-agents", "title": "Show HN: Stupify – anti-slop code review for AI agents", "summary": "Noah Lindner and the team at Bevyl launched Stupify, an anti-slop code review tool for AI agents that judges code against a user-defined taste corpus, running on OpenAI's Codex via exe.dev. The tool aims to improve code quality by enforcing stylistic and structural preferences, with setup taking about two minutes and no payment required.", "body_md": "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.\n\nKernighan's Law\n\n**AI agents are rats in a maze. They reach for what they know.** And unless you show them better, what they know is slop: [most software is garbage](https://github.com/openai/codex/issues/28224), and they'll [happily](https://github.com/thesysdev/openui/issues/517) [imitate](https://github.com/RsyncProject/rsync/issues/929) [it](https://github.com/anthropics/claudes-c-compiler/issues/1).\n\n*actual issues, tells the coding agent exactly how + what to fix* [more catches, on real PRs →](/Octember/stupify/blob/main/docs/PROOF.md)\n\n**Your taste, not the model's.** Code is judged against a`CORPUS.md`\n\n: a[taste pack](#taste-packs)(\"code like dtolnay / DHH / antirez …\") or your own best files**On your personal Codex plan.** stupify reviews with[Codex](https://github.com/openai/codex), running on the $20-$200/month plan. API usage is roughly 50x more expensive, enjoy the subsidized tokens while they last**Slop, named.** Code review is cheap. Taste is expensive. Codify the goodies, let the LLM pattern match\n\n```\nnpx @stupify/cli\n┌  stupify\n◇  using integration acme-widgets\n◇  VM stupify-acme-widgets created\n└  stupify is provisioned for acme/widgets 👀\n```\n\nstupify rides on [exe.dev](https://exe.dev) with no keys or servers to run. Setup takes about two minutes and doesn't require payment.\n\n```\nnpx @stupify/cli <owner/repo>          # provision for a specific repo\nnpx @stupify/cli setup                 # run the reviewer on this machine instead of a VM\nnpx @stupify/cli status                # show the latest sweep as a workflow\nssh exe.dev rm stupify-<owner>-<repo>  # tear it down\n```\n\nEvery live sweep also posts a GitHub commit status named `stupify/review`\n\non the PR head commit: pending while\nqueued/running, success when reviewed or policy-skipped, failure when stupify posts findings, and error when the\nreviewer itself failed. Set `GITHUB_STATUS=0`\n\nin `~/.stupify/config.env`\n\nto turn that off, or\n`GITHUB_STATUS_CONTEXT=your/context`\n\nto rename it.\n\nThe reviews run on Codex. On exe.dev that's a keyless **LLM integration**: it fronts your ChatGPT/Codex plan, so\nthe VM holds no API key and your plan is billed instead. Link one once at [exe.dev/integrations](https://exe.dev/integrations)\nand provisioning attaches it for you\n\nDon't have a corpus yet? Borrow one. Pick a programmer whose code you'd point a new hire at and review and write like them, or compose several:\n\n[dtolnay](/Octember/stupify/blob/main/packs/dtolnay.md) · [DHH](/Octember/stupify/blob/main/packs/dhh.md) · [antirez](/Octember/stupify/blob/main/packs/antirez.md) ·\n[Sindre Sorhus](/Octember/stupify/blob/main/packs/sindre-sorhus.md) · [Rich Harris](/Octember/stupify/blob/main/packs/rich-harris.md) ·\n[zod](/Octember/stupify/blob/main/packs/zod.md) · [Mitchell Hashimoto](/Octember/stupify/blob/main/packs/mitchell-hashimoto.md) ·\n[Tanner Linsley](/Octember/stupify/blob/main/packs/tanner-linsley.md) · [Simon Willison](/Octember/stupify/blob/main/packs/simon-willison.md) ·\n[devshorts](/Octember/stupify/blob/main/packs/devshorts.md) · [Jarred Sumner](/Octember/stupify/blob/main/packs/jarred-sumner.md) · [browse all →](/Octember/stupify/blob/main/packs)\n\nEach pack is concrete principles plus commit-pinned exemplar files. Or **bring your own**: point stupify at the\nfiles you *wish* all your code looked like, and it scaffolds a `.review/`\n\nin your repo:\n\n```\nnpx @stupify/cli init src/best.ts src/clean-service.ts   # inlines them; you add one line of \"why\" each\n```\n\n[MIT](/Octember/stupify/blob/main/LICENSE) © Noah Lindner. Built by the team at [Bevyl](https://bevyl.ai). `stupif.ai`\n\n, read it \"stupify\". PRs welcome, it'll review them 😈", "url": "https://wpnews.pro/news/show-hn-stupify-anti-slop-code-review-for-ai-agents", "canonical_source": "https://github.com/Octember/stupify", "published_at": "2026-06-24 12:20:22+00:00", "updated_at": "2026-06-24 12:40:32.777546+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "large-language-models", "ai-agents"], "entities": ["Noah Lindner", "Bevyl", "OpenAI", "Codex", "exe.dev", "GitHub", "Stupify"], "alternates": {"html": "https://wpnews.pro/news/show-hn-stupify-anti-slop-code-review-for-ai-agents", "markdown": "https://wpnews.pro/news/show-hn-stupify-anti-slop-code-review-for-ai-agents.md", "text": "https://wpnews.pro/news/show-hn-stupify-anti-slop-code-review-for-ai-agents.txt", "jsonld": "https://wpnews.pro/news/show-hn-stupify-anti-slop-code-review-for-ai-agents.jsonld"}}