shipwithjev

Catalog / Tools & apps

0146GitHub

patdown

A fuzzy linter: Jev gives your code an ocular patdown.

tyler-dot-earth/patdownREADME ↗
# patdown

Standalone CLI that lints a tree against fuzzy rules in one markdown file. Wrap it as a hook, plugin, or extension.

The judge is swappable. The default backend uses Effect `Decision` / `DecisionModel` with TypeSafe; rules and CLI commands use a provider-neutral interface.

## Install

```
npx patdown --help
pnpm add -D patdown
```

Requires Node.js >=22.22.2. The library entry is `patdown`; rule adapters import `@patdown/rules`. Optional agent packages: `@patdown/pi` (Pi write steering) and `@patdown/claude` (Claude Code Write/Edit hooks). See [Pi write steering](docs/pi.md) and [Claude Code plugin](docs/claude.md).

For GitHub Actions, prefer the composite action over copy-paste yaml:

```yaml
- uses: tyler-dot-earth/patdown@v0.7.0
  env:
    TYPESAFE_API_KEY: ${{ secrets.TYPESAFE_API_KEY }}
```

See [GitHub Actions](docs/github-actions.md). The action always runs the published CLI. Custom report shapes stay an embed of `runPatdownCli` with your own `PatdownOutput` layer ([Custom output](#custom-output)), not an action input.

## Requirements

Node.js **>=22.22.2** and pnpm **11.8.0**. CI runs checks and built-CLI smoke tests on Node 22.22.2 and Node 24. Releases through v0.2.2 require Node >=24.18.0 and use `#/` import aliases that Node 22 rejects.

## Commands

From this repo, prefer the workspace script. It builds `patdown` through Turborepo (`dependsOn: build`) and then runs the CLI from your current directory:

```
pnpm -w patdown
pnpm -w patdown -- --rules ./rules.md
pnpm -w patdown -- --rules ./packs/typescript --verbose
pnpm -w patdown -- rules
pnpm -w patdown -- doctor
pnpm -w patdown -- ask "Is this markdown heading title case?" --input-text "# Hello World"
pnpm -w patdown -- ask "Is this urgent?" --input-text "ASAP" --verbose
pnpm -w patdown -- -

Also filed under Tools & apps

  1. 0616

    Jevstiller: distill Jev calls into a local model

    A self-hosted proxy that trains a local model on Jev's answers. It served 72% of Banking77 locally at 15 ms, with a 2% audit and a bound on disagreement.

    tomerglick57 · Tools & apps · 15 ms local

  2. 0611

    Scruple: code checks for what linters miss

    Semantic-aware linting with System One models: rules you can state in a sentence, checked against your code by Jev.

    @nalexpeae · Tools & apps

  3. 0606

    Algolia-style Postgres search with a Jev reranker

    Typo tolerance, typeahead, barcodes and facet counts in plain Postgres SQL, plus an optional Jev step that asks one question per top-10 result.

    @alex_forman1 · Tools & apps

  4. 0604

    Virtual Closet: outfits from closet videos

    built a virtual closet & outfit generator from raw closet videos. classification + semantic search thanks to jev 🥰. clueless closet dreams finally coming to life

    @maitreemervana · Tools & apps