shipwithjev

Catalog / Content & growth

0022GitHub

taste-lint

Catches AI slop in a diff before it ships.

Matthew Blode’s linter runs semantic taste checks over changed files. Jev judges the writing and the code that a rule-based linter has no way to see.

mblode/taste-lintREADME ↗
# [Taste Lint](https://blode.co/taste-lint)

**Catch AI slop before you ship.**

Design review on every commit, from the [Taste Training](https://blode.co/taste-training) and [Agent Skills](https://github.com/mblode/agent-skills) rules.

<p align="center">
  <a href="https://www.npmjs.com/package/taste-lint"><img alt="npm version" src="https://img.shields.io/npm/v/taste-lint?style=flat&colorA=000000&colorB=000000" /></a>
  <a href="https://github.com/mblode/taste-lint/blob/main/LICENSE.md"><img alt="MIT license" src="https://img.shields.io/npm/l/taste-lint?style=flat&colorA=000000&colorB=000000" /></a>
</p>

</div>

## Install

```bash
npx taste-lint@latest init
```

Node 24.11+. Init adds a `taste` script that runs `taste-lint lint --profile product`.

## Quickstart

```bash
npm run taste -- --dry-run
```

No key, no account. The mechanical checks run and fail the build on what they find.

To add the Jev review notes, get a [Vercel AI Gateway key](https://vercel.com/docs/ai-gateway/authentication-and-byok/api-keys):

```bash
export AI_GATEWAY_API_KEY="your-vercel-ai-gateway-key"
npm run taste
```

Checks bill your key and cache between runs. `--dry-run` previews the cost first.

To block commits on the mechanical checks, add a pre-commit hook with lefthook, husky or lint-staged:

```bash
npx taste-lint init --hook lefthook
```

## What it checks

- **Motion:** `transition-all` and `transition: all`, ease-in, linear easing, transitions over 300ms, entrances from scale zero, `framer-motion` imports.
- **Copy:** the [ghostwriter](https://github.com/mblode/agent-skills/tree/main/skills/ghostwriter) structure tells (participle tails, “it’s not X, it’s Y”, “Here’s the thing”), “click here” links, “successfully” toasts, emoji in UI, nominalisations, anthropomorphism, long sen

Also filed under Content & growth

  1. 0615

    Laugh Track: rehearse a speech for 200 Jev listeners

    Paste or record a speech and 200 Jev-simulated people react line by line: jokes scored on laughs, sincere lines on warmth. A 13-line speech cost $0.00097.

    leighefford · Content & growth · $0.00097 per 13-line speech

  2. 0612

    Report Card: your posts, graded

    introducing https://t.co/VzfUI1571y 📝 report card is the official grade slip of Doomscroll District School, Fall 2026 semester. teacher reads your public posts and grades six subjects, from A+ (gold star sticker) to F (your parents will be notified). demo 👇

    @notifyShivam · Content & growth

  3. 0584

    Chrome extension that filters AI slop on YouTube

    Jev waging war against AI slop on youtube. Love it.

    @mariojankovic · Content & growth

  4. 0560

    Slop Filter: score and collapse low-quality social posts

    A browser extension asks Jev narrow questions about writing patterns, then combines their probabilities to filter social feeds.

    adamnroman · Content & growth