agnix Config Linter

Find and fix broken AI coding-assistant configurations before they disrupt development workflows.

Source repo
agent-sh/agnix
Stars
★ 457
Last updated
today
License
Apache-2.0
Primary language
Rust

At a glance

How it runs
CLIIDE extensionMCP server
Works with
Universal · cross-platformCodex · Claude Code
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
Shell / CLILocal filesystem
Typical use
A team using Claude Code, Cursor, and Copilot can validate their differing configuration formats before changes are merged.
Not a fit if
  • Teams that need proof a skill or hook behaves correctly in a live model session
  • Users expecting the tool to generate or repair application code
  • Teams unable to keep up with changing AI tool config formats
Source review
89/100 · Good

What does this agent do, and when should you use it?

agnix is a static linter and language server for AI coding-assistant configuration, including CLAUDE.md, AGENTS.md, SKILL.md, hooks, MCP configuration, and other agent files. Its 456 rules cover formats used by Claude Code, Codex CLI, OpenCode, Cursor, Copilot, Kiro, Cline, Gemini CLI, and Agent Skills. The Rust workspace contains a shared validation engine, a CLI, an LSP server, an MCP server, and WebAssembly bindings. Diagnostics report file locations, error or warning severity, rule information, remediation guidance, and whether an issue can be fixed automatically; safe fixes, broader fixes, strict mode, and GitHub Actions annotations are supported. It can be adopted through local commands, editor extensions, a GitHub Action, a browser playground, or runtime integrations, but it does not perform model inference or generate application code.

agnix reads supported configuration files from a project directory and validates them through the agnix-core engine using rule metadata generated in agnix-rules from knowledge-base/rules.json. The CLI scans a directory with agnix . and emits file and position data, severity, explanations, and remediation hints; --strict treats warnings as errors, while --format github emits GitHub Actions annotations. --fix and --fix-safe apply safe corrections, --fix-unsafe also permits medium- and low-confidence changes, and --dry-run --show-fixes previews inline diffs. agnix explain MCP-018 displays the explanation and evidence for an individual rule. The workspace additionally supplies agnix-lsp for editor diagnostics, agnix-mcp as an MCP server, and agnix-wasm for browser or runtime integrations.

  1. A team using Claude Code, Cursor, and Copilot can validate their differing configuration formats before changes are merged.
  2. A skill author maintaining SKILL.md files can detect invalid names, fields, or syntax that may prevent a skill from being recognized.
  3. A platform team can add the GitHub Action to stop configuration errors from passing its CI quality gate.
  4. A developer who wants immediate feedback can use the VS Code, JetBrains, Neovim, or Zed integration while editing files.
  5. A tool maintainer preparing MCP, hook, or agent configuration for release can preview and apply available automatic fixes.
  6. A developer embedding validation in a browser or custom runtime can use the supplied WebAssembly bindings.

How do you install or deploy this agent?

The documented recommended, cross-platform installation uses npm:

npm install -g agnix

On macOS or Linux, Homebrew is also supported:

brew tap agent-sh/agnix && brew install agnix

A Python package is available:

pip install agnix

The CLI can alternatively be installed from the Rust package registry:

cargo install agnix-cli

The first validation does not require an API key or model credential. Minimum Node.js, Python, and Rust versions are not specified in the supplied documentation, so adopters should verify that the runtime associated with their chosen package manager is available.

How do you use this agent?

From the root of the project to be checked, run:

agnix .

Apply safe fixes with:

agnix --fix .

Preview fixes as inline diffs without immediately changing files:

agnix --dry-run --show-fixes .

Treat warnings as failures or emit GitHub Actions annotations with these respective commands:

agnix --strict .
agnix --format github .

Inspect the explanation and evidence for a particular rule:

agnix explain MCP-018

A GitHub Actions workflow can include:

- name: Validate agent configs
  uses: agent-sh/agnix@v0
  with:
    target: 'claude-code'

What are this agent's strengths and limitations?

Pros
  • One validator covers configuration formats from several AI coding assistants and documents 456 rules.
  • Delivery options include a CLI, LSP, MCP server, WebAssembly bindings, GitHub Action, and integrations for several editors.
  • Diagnostics include locations, severity, rule guidance, and fixability, with separate safe and lower-confidence fix modes.
  • GitHub annotation output and warnings-as-errors behavior make it suitable for automated quality gates.
Limitations
  • Because the checked formats belong to evolving external tools, adopters must keep agnix updated as those specifications change.
  • --fix-unsafe can apply medium- and low-confidence changes, so its output requires review.
  • The supplied documentation does not state minimum Node.js, Python, or Rust versions, adding validation work for controlled environments.
  • Configuration linting does not execute the target assistant, so a clean result cannot prove that a skill, hook, or agent will behave as intended in a live model session.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
agnix Config Linter This agent 89 · Good CLIFree ★ 457 today Rust Codex · Claude Code
CC Workflow Studio 50 · Major gaps IDE extensionFree + model costs ★ 5.4k 2mo ago TypeScript ChatGPT · Codex · Claude Code
VT Code 66 · Some gaps CLIFree + model costs ★ 887 1d ago Rust OpenAI API
Loop Engineering 69 · Some gaps CLIFree + model costs ★ 12k 1d ago TypeScript Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Good
89/ 100 5-point scale 4.5 / 5
This review covers the source as of Sep 09, 2026. The project has shipped 14 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 27/29
Reliability 12/14
Adaptability 16/18
Convention 16/18
Effectiveness 13/13
Verifiability 5/8
Why each dimension lost points
Trust27 / 29 · 4.7/5

Evidence shows a local static validator: no command execution, symlink rejection, file size/count/regex input limits, atomic writes, opt-in telemetry with compile-time feature gating and environment-aware disable. Fix paths distinguish --fix-safe from --fix-unsafe with --dry-run preview, so confirmation is adequate. Deductions: no explicit rollback/undo of applied fixes beyond atomic write guarantees; a promotional block for a tiyuvta inference service embedded in the README, and rule-source claims rely on an --explain command not shown in these files.

Reliability12 / 14 · 4.3/5

Workspace versions are consistent (0.52.2 across Cargo.toml, the pyproject shim, and a sync script), and the CLI provides graded diagnostics, help hints, and rule explanations. Deductions: a maintained-fork dependency (serde_norway, though justified), unverified availability of pinned versions like tokio 1.52.3, and self-admitted weaker Windows validation.

Adaptability16 / 18 · 4.4/5

Clear audience across multi-tool users (Claude Code, Cursor, Copilot, Kiro, MCP) with CI and editor integrations; boundaries documented via target/tools filters and known limitations. Deductions: --target is self-described as legacy and only partially effective, so filter precision leans on the tools list with some ambiguity.

Convention16 / 18 · 4.4/5

Clean architecture (crate layout, docs site, rules table), thorough multi-channel install notes, stable naming, candid known-limitations list (TOCTOU, platform differences), CI-enforced CHANGELOG, version-sync script. Deductions: license metadata says Apache-2.0 while README/Cargo say MIT OR Apache-2.0, an inconsistency; no FAQ; maintainer identity unverified and 48-hour security response is only an assertion.

Effectiveness13 / 13 · 5.0/5

High output usability (GitHub annotations, --strict, LSP, editors); addresses real pain (non-triggering skills, cross-tool drift) with clear marginal value and minimal local cost. No clear deduction, but actual rule effectiveness is unverified without execution — reflected in confidence, not extra credit.

Verifiability5 / 8 · 3.1/5

Rule counts, source claims, and the --explain mechanism provide some traceability; CI/cargo-audit/CodeQL/fuzz are partially corroborated by workflow files. Deductions: the 455-rule figure and external citations (Vercel, Stack Overflow) cannot be verified statically, and fact versus marketing framing requires reader discernment given the README's promotional tone.

Risks and how to mitigate them
  • License metadata (Apache-2.0) is inconsistent with the repository claim (MIT OR Apache-2.0); rely on the LICENSE files before compliance decisions.
  • --fix-unsafe applies low-confidence fixes; preview with --dry-run --show-fixes first — there is no automatic rollback, so rely on version control.
  • Publisher identity is unverified; the security contact is a personal Gmail address.
  • Windows symlink behavior is self-admittedly under-validated; a TOCTOU window is acknowledged.
  • The 455-rule count and external research citations are not independently verified; this is a static review with no execution.
Evidence confidence: Low Reviewed Sep 09, 2026 Reviewed revision e557022f0943 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.59.1
    Release notes excerpt
    Security - Update Tokio to 1.53.3 for the AsyncFd I/O-safety advisory (RUSTSEC-2026-0386). - Update rustls-webpki to 0.103.16 and webpki-root-certs to 1.0.10 to reject distrusted emSign certificate chains (RUSTSEC-2026-0382, RUSTSEC-2026-0383). - Update the website's follow-redirects lockfile to 1.16.1 (GHSA-q3jh-wrc6-jgq8, GHSA-8r9p-f939-6h3c). Fixed - PE-006 checks native AGENTS.md when Claude Code is explicitly selected, including mixed-tool runs. Unscoped shared files retain their existing checks. The warning identifies Claude prompting guidance. (#1705) …
    View on GitHub ↗
  2. v0.59.0
    Release notes excerpt
    Migration - Roo Code support is removed (Roo Code shut down on 2026-05-15): ROO-001 to ROO-006 and RC-SK-001 are retired, .roo/ files get only the generic checks, rules.roo_code is a deprecated no-op, and tools = ["roo-code"] only warns. Remove those IDs and settings from your config. - Remove the rule IDs retired in this release from disabled_rules, severity overrides and explicit rule lists: AGM-003, AGM-005, CC-AG-013, CC-HK-017, CC-MEM-007, CC-MEM-009, CC-OS-005, CC-SET-014, CC-SET-015, CC-SET-021, CC-SET-024, CC-SET-032, CDX-001, CDX-002, CDX-003, CDX-AG-004, CDX-AG-007, C …
    View on GitHub ↗
  3. v0.58.0
    Release notes excerpt
    Migration - Remove retired IDs REF-004, OC-DEP-004, CC-MEM-005, CC-MEM-006, CC-MEM-008, AGM-006, and MCP-005 from disabled_rules, severity overrides, and explicit rule lists. Generic-instruction advice remains under PE-005; unrelated retirements have no replacement. - Quoted-boolean repairs now require --fix-unsafe. Review the proposed values first: enabling previously ignored settings can change behavior or security policy. Plain --fix leaves these strings unchanged. Removed - Retire REF-004: Claude Code supports non-Markdown imports, including @package.json. …
    View on GitHub ↗

FAQ

Does validation require a model API key?
No OpenAI, Anthropic, or other model credential is required by the documented CLI, editor, or browser validation flows.
Will agnix modify project files?
A normal agnix . run reports diagnostics only. The --fix, --fix-safe, and --fix-unsafe modes apply changes; --dry-run --show-fixes can preview them first.
Can it check only Claude Code configuration?
The command agnix --target claude-code . is documented, although target presets are described as legacy and primarily affecting CC-* rules.
Will warnings fail CI?
The complete default exit behavior is not stated in the supplied material. Use agnix --strict . when warnings must be treated as errors.
Can checks run offline?
The documented core flow reads local files and applies local validation rules, with no stated network requirement for a check. Installation and updates may still require access to the selected package distribution channel.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents