Open-source static analysis for agents

Lint your agent harness before a model runs.

Catch unclear instructions, missing constraints, and tool-schema gaps across your agent setup. LintLang runs locally, gives actionable findings, and fits into the workflow you already use.

✓ Free and open source · Built by Hermes Labs

examples/agent.yaml

lintlang

Real scan excerpt · LintLang 0.8.2 · Input fixture · Full report

$ lintlang scan examples/agent.yaml

LintLang 0.8.2 · FAIL
Inspected: system prompt, 1 tool, 1 schema

CRITICAL · H1.1
Tool 'process_ticket' has no description.
→ Add a specific, disambiguating description that explains WHEN to use this tool, not just WHAT it does.

3 findings · see the linked full report

Reproduce and fix this finding →

Offline scans✦Source-aware findings✦Explicit CI gates✦Offline scans✦Source-aware findings✦Explicit CI gates✦
01
⇄

Flag mixed output-format instructions

Surface references to multiple output formats that may lead to hybrid output.

02
⌁

Make tool choices clearer

Find vague descriptions, overlapping tools, and missing parameter guidance before they confuse an agent.

03
⌘

Set a baseline

Bring repeatable checks to every change, from a local prompt edit to a CI pull request.

Write. Check. Ship with intent.

  1. 1

    Scan your project

    Discover agent instructions across your repository. Include custom prompt files, tool definitions, and configuration paths in the same scan.

  2. 2

    Read findings in context

    Get a rule, severity, source location, and suggested action so you can move straight from finding to fix.

  3. 3

    Keep the standard in CI

    Turn configuration review from a heroic habit into a dependable part of your delivery flow.

Put a check between the draft and the deploy.

From your project root, discover recognized agent instructions in one command. Add custom configuration files explicitly, then use the same check in CI.

Working with a coding agent? Tell it: “Scan our agent setup with LintLang and help fix the findings.”

Run once, no install · LintLang 0.8.2 · Python 3.10+

$ uvx --from lintlang==0.8.2 lintlang scan --discover .

View the package on PyPI ↗

Run the check where instructions change.

Catch instruction problems in your pull requests, commits, and agent workflows. Start with the tools your team already uses.

GitHub Actions & SARIF

The generated workflow pins Action v0.7.0 and explicitly gates HIGH and CRITICAL findings. Update to Action v0.8.2 and remove fail-on: fail to use its advisory default.

lintlang init --github --path AGENTS.md
Set up GitHub CI →

GitLab Code Quality

Review agent-instruction findings alongside your code changes. New in 0.8.0: native Code Quality reports with source locations and stable fingerprints.

Add the GitLab job →

Check the language before runtime.

LintLang brings static analysis to the language agents execute: before runtime review and evaluation.

01 / IN CI

Public Larch CI

Character.AI’s public Larch repository uses LintLang in its agent-instruction CI workflow.

Read the merged PR ↗
02 / RELEASE

v0.8.2 advisory default

Move the Action ref to v0.8.2 and remove fail-on: fail for advisory findings. The generated v0.7.0 workflow remains gated.

Read the 0.8.2 release →
03 / OPEN SOURCE

Built in public

An Apache-2.0 package with public source, designed to fit a local-first engineering workflow.

Explore the repository ↗

Give your agents a clearer set of instructions.

Run LintLang ↑