Skip to content

lintpal

Turns freeform Markdown engineering rules into PR checks, judging changed lines with Jev or other Decisions-API providers.

Projectbeta

Overview

LintPal checks Git changes against your team's rules written in Markdown, one requirement per file with optional severity and decision-threshold settings in frontmatter, and reports findings on the changed lines. It can gate CI by severity, run locally, publish a GitHub review summary with inline comments, or output JSON and Markdown for other CI systems. Rule packs can be imported from a local directory or a versioned GitHub catalogue and committed alongside your code.

It uses System One models through compatible Decisions APIs: TypeSafe Jev by default, OpenRouter, OpenAI's Decisions API (for example gpt-6-luna), or a custom compatible service including a local endpoint, with the same rules and workflow across providers. The README's example is a Go rule that flags an unchecked error on a changed line and fails the check through the severity gate. It is part of the DiffPal family, which offers broader AI PR review; LintPal focuses on explicit repository rules. It is published on npm with a demo pull request.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this changed code violate this repository rule (e.g. an unchecked Go error)?(inferred)—

How it works

  1. Write rules as Markdown files with optional severity and thresholds
  2. LintPal collects the Git diff
  3. Each rule is checked against changed lines via a Decisions API
  4. Findings above threshold are reported on lines
  5. Severity gate passes or fails CI; reviews can be posted to GitHub

Strengths

  • Rules are plain Markdown in the repo
  • Provider choice including local endpoints
  • Inline GitHub review comments
  • Versioned rule packs

Caveats

  • Requires a provider key or service
  • Findings depend on rule wording and thresholds
  • Changed-lines focus can miss context elsewhere

Getting started

See docs/guides/getting-started.md; install from npm (lintpal) and set TYPESAFE_API_KEY.

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
CLI and GitHub Action
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

  • Turn your freeform engineering rules into PR checks. Use System One models like Jev through compatible Decisions APIs.

    hellogumbo/awesome-jev

Frequently asked questions

Which providers work?

TypeSafe Jev, OpenRouter, OpenAI's Decisions API and custom compatible services.

How are rules written?

One clear requirement per Markdown file, with optional severity and threshold frontmatter.

Can it comment on PRs?

Yes, it can publish a GitHub review summary and inline comments.

Related projects

  • Rust code-review gate asking Jev small typed questions about functions and tests, failing CI only on rules measured 80% right.

    CLIproductionRust
  • Coding-agent hook that asks Jev one yes/no per project rule on every edit or turn and makes the agent fix any violation.

    HookbetaTypeScript
  • Advisor for coding agents: git and Stop hooks flag test tampering, secrets and skipped hooks, with optional Jev review findings.

    Hookbeta
  • Read-only Go CLI that checks files against your plain-language code rules with Jev, locally or in CI.

    CLIbetaGo
  • CLI and agent commands auditing a git diff against YAML standards packs, scoring each hunk with Jev so agents fix only flags.

    Agent skillbetaTypeScript
  • Fuzzy linter hook for Claude Code and Codex where Jev checks each written file against team rules and reports violations at edit time.

    HookbetaTypeScript