Skip to content

gallant

Dependency-light Go linter that applies natural-language rules to code and documents using decision models like Jev or Clef.

ProjectprototypeMIT

Overview

Gallant is a customisable linter that uses decision models such as Jev, Clef and other System One models to lint code, documents and any text files. It targets rules that are hard to express deterministically, for example whether the comments in a file merely repeat what the code says, which otherwise fall to human reviewers or slow, expensive LLMs.

The author built it as a reaction to other decision-model linters needing Python or npm runtimes, servers or many dependencies. Gallant is a single Go binary with minimal dependencies that follows Unix conventions: it works on files and paths, needs little configuration, and reads rules from .agents/gallant by default, so gallant . applies them to everything in the path. It supports a limited set of popular providers and local servers, includes recorded examples, and has fuzz targets for its hand-written parsers.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this file violate the rule (e.g. comments repeat what the code says)?(inferred)yes · no

How it works

  1. Write rules in .agents/gallant
  2. Run gallant . over files or diffs
  3. Decision model judges each file against each rule
  4. Report violations

Strengths

  • No runtime, minimal dependencies
  • Fuzzy rules beyond regex linters
  • Provider choice including Clef

Caveats

  • Early release (v0.1.0)
  • File contents sent to the chosen provider

Getting started

go install github.com/madxmike/gallant/cmd/gallant@latest, add rules under .agents/gallant, then gallant .

At a glance

Type
Project
Status
prototype
Language
Go
Runtime
CLI
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Gallant is a customizable linter built to utilize Decision Models (i.e. Jev, Clef, and other system one models) to lint your code, documents, and any other text-based files.

    hellogumbo/awesome-jev

Frequently asked questions

Which models are supported?

Jev, Clef and other System One providers and popular local servers.

Where are rules stored?

In .agents/gallant by default.

Does it need Python or Node?

No, it is a single Go binary.

Related projects

  • Ruff-style prose linter whose semantic rules each ask Jev a yes/no question about a paragraph, title or section, with tunable thresholds.

    ProjectbetaPython
  • Node tool that crosschecks a folder of Markdown notes for contradictions and repeats, and ranks notes by any question, using Jev.

    ProjectbetaJavaScript
  • Prose linter for AI writing tells: regex handles 18, Jev judges 15 as Nouls in one call, shipped as a Claude Code Stop hook.

    HookbetaPython
  • Prose linter with local regex rules and Jev judgment rules per paragraph, as CLI, pre-commit hook, GitHub Action and Claude Code skill.

    CLIbetaTypeScript
  • CLI design and copy linter: mechanical checks block commits, while fuzzy taste checks go to Jev for probability-scored review notes.

    CLIbetaTypeScript
  • Chinese controlled-writing agent skill for technical reports with nine rules, using static checks plus a Jev semantic gate for certainty.

    Agent skillbeta