Skip to content

Patdown

Node CLI that lints a file tree against fuzzy natural-language rules in one Markdown file, judging each matched file with a swappable TypeSafe-backed judge.

Stars
15
Language
TypeScript
Published by
Community
Author
tyler-dot-earth
Last verified
Oct 2026

tyler-dot-earth/patdown

User repository on GitHub

View on GitHub

Block, steer, and "fuzzy lint" with Jev to make agents follow your rules and conventions. CLI, github action, pi package, claude extension, and more. Built with Effect + TypeScript.

Forks
2
Last pushed
Updated Sep 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

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. 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 and Claude Code plugin.

Quoted from the project's README. Read the full README.

Highlights

  • One # heading per rule with stacked globs, per-rule yes-threshold, and annotation lines.
  • Frontmatter include composes packs and project rules; duplicate titles and cycles fail the run.
  • ask and doctor commands answer single questions and check keys without linting the tree.
  • Pi write steering and Claude Code hooks reuse the same rules to block or warn before disk writes.

Watch out

Each matched file is judged once per matching rule, so packs multiply call count with no result cache across runs. Credential files and build dirs are always skipped. Failures, missing rules, and budget overruns exit 1. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

1GitHub stars
A Claude Code plugin that verifies every tool call before it runs, asking Jev five parallel questions about the plan, scope, prior action and stated intent, then allowing, asking or blocking. Fresh installs ship in audit mode.
Jev Agents & MCP#community#jevbest#catalog-import
16GitHub stars
Single-command harness that turns a plain-language stack description into synced docs plus blocking hooks for Claude Code, Codex, and Pi, with deterministic presets or one Jev chooser call.
Jev Agents & MCP#community#jevbest#catalog-import
22GitHub stars
Runnable agent harness that moves pick, score and yes-no loop choices to Jev or Laya in milliseconds while reserving the language model for writing, compiling DECISION.md into executable questions.
Jev Agents & MCP#community#jevbest#catalog-import
35GitHub stars
Diff-aware test selector that sends the git diff to Jev with one question per test, then prints the native filter flags and hands them to vitest, jest, node, bun, Playwright, cargo, or go test.
Jev Agents & MCP#community#jevbest#catalog-import
22GitHub stars
Command-line toolkit that wraps Jev judgments into scriptable verify, screen, classify, extract, find, rerank, match, route, ask, compact, and batch commands.
Jev Agents & MCP#community#jevbest#catalog-import
24GitHub stars
Wires Jev into agents as seven MCP tools, an embeddable JevDecisionModel library with run functions, and Claude Code hooks at tool and turn boundaries.
Jev Agents & MCP#community#jevbest#catalog-import
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai