agnix
Linter for AI agent configurations. Validates SKILL.md, CLAUDE.md, hooks, MCP, and more.
Description
Linter for AI agent configurations. Validates SKILL.md, CLAUDE.md, hooks, MCP, and more.
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 0.17.0 | Imported from npm (0.17.0) | Low | 4/21/2026 |
| v0.18.0 | ### Added - **Codex CLI plugin manifest validation** (CDX-PL-001 to CDX-PL-014) - 14 new rules for `.codex-plugin/plugin.json` manifests introduced in Codex CLI v0.117.0, covering manifest location, name validation, component paths, defaultPrompt constraints, interface URLs, asset paths, and unsupported fields - **New FileType::CodexPlugin** variant with case-insensitive parent directory detection | Medium | 4/1/2026 |
| v0.17.0 | ### Added - **44 new validation rules** from March 2026 monthly spec drift review covering Claude Code hooks (CC-HK-020..025), skills (CC-SK-018..020), agents (CC-AG-014..017,019), plugins (CC-PL-011..014), memory (CC-MEM-014), Codex CLI (CDX-CFG-023..027), Cursor (CUR-017..019), Cline workflows/hooks/skills (CLN-005,006,009, CL-SK-002,003), Copilot CLI plugins/skills (COP-019..027), and OpenCode (OC-CFG-013, OC-AG-009, OC-DEP-005,006) - **HTTP hook type support** for Claude Code hooks (`type: | Medium | 3/28/2026 |
| v0.16.6 | Release v0.16.6 | Medium | 3/28/2026 |
| v0.16.5 | Release v0.16.5 | Medium | 3/23/2026 |
| v0.16.2 | ### Fixed - **XML-001 false positives on Rust type references**: Wrap Rust type references in backticks to prevent XML tag misdetection (#646). - **Self-validation build**: Use build-from-source for self-validation in CI to ensure agnix validates itself correctly (#646). ### Changed - **CI self-validation**: Added self-validation step to the CI pipeline so agnix lints its own agent configuration files on every PR/push (#646). | Low | 3/15/2026 |
| v0.16.1 | ### Changed - **MCP server compatibility**: Updated rmcp dependency from 0.16.0 to 1.1.0 and adapted code for non-exhaustive struct construction using `Default::default()` pattern (#636). | Low | 3/7/2026 |
| v0.16.0 | ### Added - **Kiro and Codex S-tier alignment (38 new rules)**: Added 22 Kiro rules: `KIRO-010` through `KIRO-014` (missing inclusion mode, steering doc length, duplicate names, conflicting inclusion modes, markdown structure issues), `KR-AG-008` through `KR-AG-013` (agent missing name, agent missing prompt, duplicate tool entries, empty tools array, `toolAliases` references unknown tool, secrets in agent prompt), `KR-HK-007` through `KR-HK-010` (hook timeout out of range, duplicate event handl | Low | 3/6/2026 |
| v0.15.0 | ### Added - **OpenCode validation rules**: Added validation rules for OpenCode configuration (#601). - **Kiro target support**: Added `Kiro` to `TargetTool` and CLI `--target kiro` handling across CLI, core config, MCP, and LSP target parsing. - **Kiro config validation parity**: `.agnix.toml` validation now accepts `tools = ["kiro"]` and Kiro-specific disabled rule prefixes (`KIRO-*`, `KR-SK-*`). - **README supported tools update**: Added a Kiro row to the Supported Tools table with current ru | Low | 3/3/2026 |
| v0.14.0 | ### Added - **`.clinerules/*.txt` file support**: agnix now detects and validates `.clinerules/*.txt` files as `ClineRulesFolder` file type. Rules CLN-001 through CLN-004 now apply to `.txt` files in addition to `.md` files, matching Cline's actual behavior. - **CDX-006 rule**: Validates `project_doc_fallback_filenames` semantics in Codex CLI configuration (#569). ### Fixed - **OC-004 config key allowlist expanded**: Added 9 missing top-level keys (`autoshare`, `enterprise`, `layout`, `logLeve | Low | 2/27/2026 |
| v0.13.0 | ### Added - **XP-008 rule**: New MEDIUM-severity cross-platform rule that warns when CLAUDE.md contains Claude-specific directives (context:fork, agent fields, allowed-tools, hooks, @import) outside a guarded `## Claude Code` section, helping users targeting Cursor avoid silently-ignored configuration | Low | 2/21/2026 |
| v0.12.4 | ### Security - **Fix minimatch ReDoS vulnerability**: Added npm `overrides` in `website/package.json` to force `minimatch@^10.2.1`, resolving Dependabot alert #75 (ReDoS via repeated wildcards in `serve-handler`'s transitive `minimatch@3.1.2` dependency) - **Update wasm-bindgen**: Bumped `wasm-bindgen` from 0.2.109 (yanked) to 0.2.110 along with related crates (`js-sys`, `web-sys`, `wasm-bindgen-test`, etc.) ### Performance - **WASM conversion optimization**: Refactored `WasmDiagnostic::from_d | Low | 2/21/2026 |
| v0.12.3 | Release v0.12.3 | Low | 2/21/2026 |
| v0.12.2 | Release v0.12.2 | Low | 2/15/2026 |
| v0.12.1 | Release v0.12.1 | Low | 2/15/2026 |
| v0.12.0 | Release v0.12.0 | Low | 2/15/2026 |
| v0.11.1 | ### Fixed - **CI**: Release workflow now explicitly builds binary crates (`-p agnix-cli -p agnix-lsp -p agnix-mcp`) to prevent cache-related build skips - **CI**: Release version check now reads from `[workspace.package]` instead of root `[package]` section | Low | 2/11/2026 |
| v0.11.0 | ### Added - **Builder pattern for LintConfig**: `LintConfig::builder()` with validation on `build()`. All serializable fields are now private with getter/setter methods. `ConfigError` enum for build-time validation failures. Runtime state (`root_dir`, `import_cache`) moved into `RuntimeContext` - **RUSTSEC advisory tracking** - Documented process for reviewing ignored security advisories with `docs/RUSTSEC-ADVISORIES.md` tracking document, monthly review checklist in `MONTHLY-REVIEW.md`, and pr | Low | 2/11/2026 |
| v0.10.4 | Release v0.10.4 | Low | 2/9/2026 |
| v0.10.3 | Release v0.10.3 | Low | 2/9/2026 |
| v0.10.2 | ### Fixed - VS Code extension version was out of sync with release binaries, causing download failures for agnix-lsp | Low | 2/8/2026 |
| v0.10.1 | ### Added - **Per-client skill validation** - 10 new rules detect when SKILL.md files in client-specific directories use unsupported frontmatter fields: CR-SK-001 (Cursor), CL-SK-001 (Cline), CP-SK-001 (Copilot), CX-SK-001 (Codex), OC-SK-001 (OpenCode), WS-SK-001 (Windsurf), KR-SK-001 (Kiro), AMP-SK-001 (Amp), RC-SK-001 (Roo Code), XP-SK-001 (cross-platform portability) ### Fixed - Markdown structure validation now skips headers inside fenced code blocks - Flaky telemetry env-dependent tests s | Low | 2/7/2026 |
| v0.10.0 | ### Performance - **Auto-fix span finding** - Replaced 8 dynamic `Regex::new()` calls with byte-level scanning in auto-fix helpers, eliminating regex compilation overhead entirely (closes #325) ### Added - **Website automation** - `generate-docs-rules.py` now generates `website/src/data/siteData.json` with dynamic stats (rule count, category count, autofix count, tool list); landing page and JSON-LD import generated data instead of hardcoding; `release.yml` `version-docs` job auto-cuts version | Low | 2/7/2026 |
| v0.9.3 | Release v0.9.3 | Low | 2/6/2026 |
| v0.9.2 | Release v0.9.2 | Low | 2/6/2026 |
| v0.9.1 | ### Fixed - CC-MEM-006: Detect positive alternatives after negatives ("NEVER X - always Y" no longer false positive) - PE-004: Skip ambiguous terms inside parentheses (descriptive text no longer flagged) - CC-AG-007: Humanize YAML parse errors ("expected a YAML list" instead of "expected a sequence") - MCP-002: Suggest `parameters` -> `inputSchema` when field exists under wrong name - VS Code marketplace image now bundled in extension package - Exclude DEVELOPER.md and 11 other developer-focuse | Low | 2/6/2026 |
| v0.9.0 | ### Changed - Validated against 1,200+ real-world repositories with 71 rules triggered - Exclude non-agent markdown files (README.md, docs/, wiki/) from validation - Restrict REF-002 broken link detection to agent config files only - Skip HTML5 void elements and markdown-safe elements in XML balance checking - Resolve @imports relative to project root when file-relative fails - Apply prompt quality rules (CC-MEM-005/006, PE-*) to Cursor rule files - Detect .cursorrules.md as Cursor rules varian | Low | 2/6/2026 |
| v0.8.1 | ### Added - Authoring metadata and completion system (`authoring` module) with context-aware suggestions and hover docs for all config file types - LSP completion provider with intelligent key/value/snippet suggestions - Auto-fix support across validators: skills (AS-005, AS-006, CC-SK-001, CC-SK-003, CC-SK-005), agents (CC-AG-003, CC-AG-004), hooks (CC-HK-011), plugins (CC-PL-005), MCP (MCP-001) - Safety tagging for all auto-fixes (safe vs unsafe) ### Changed - LSP hover provider simplified b | Low | 2/6/2026 |
| v0.8.0 | ### Added - Real-world validation harness (`scripts/real-world-validate.py`) with 121 curated repos (`tests/real-world/repos.yaml`) (#184) - XP-001: detect `@import` syntax in AGENTS.md files (Claude Code specific) - XP-003: detect OS-specific absolute paths (`/Users/`, `/home/`, `~/Library/`, `~/.config/`) - CC-MEM-005: detect role-play preambles and generic programming principles ### Changed - Exclude non-agent markdown files from validation (README.md, CONTRIBUTING.md, docs/, wiki/, etc.) t | Low | 2/6/2026 |
| v0.7.2 | ### Fixed - npm package wrapper script now preserved during binary installation - Fixes "command not found" error when running `agnix` from npm install - Postinstall script backs up and restores wrapper script | Low | 2/5/2026 |
| v0.7.1 | ### Fixed - VS Code extension LSP installation - now downloads LSP-specific archives (`agnix-lsp-*.tar.gz`) - Fixes "chmod: No such file or directory" error on macOS ARM64 and Linux ARM64 - Added binary existence check before chmod for better error messages - CC-MEM-006 rule now correctly recognizes positive alternatives before negatives - Pattern "DO X, don't do Y" now accepted (previously incorrectly flagged) - Example: "Fetch web resources fresh, don't rely on cached data" ✓ ### Cha | Low | 2/5/2026 |
| v0.7.0 | Release v0.7.0 | Low | 2/5/2026 |
| v0.6.0 | Release v0.6.0 | Low | 2/5/2026 |
| v0.5.0 | Release v0.5.0 | Low | 2/5/2026 |
| v0.4.1 | Release v0.4.1 | Low | 2/5/2026 |
| v0.4.0 | Release v0.4.0 | Low | 2/5/2026 |
| v0.3.0 | ### Added - Comprehensive config file tests (30+ new tests) - Performance benchmarks for validation pipeline - Support for partial config files (only specify fields you need) ### Fixed - Config now allows partial files - users can specify only `disabled_rules` without all other fields - Windows path false positives - regex patterns (`\n`, `\s`, `\d`) no longer flagged as Windows paths - Comma-separated tool parsing - both `Read, Grep` and `Read Write` formats now work - Git ref depth check - ` | Low | 2/5/2026 |
| v0.2.0 | ### Added - crates.io publishing support (#20) - New `agnix-rules` crate for independent rule updates without CLI republish - LICENSE-MIT and LICENSE-APACHE files for dual licensing - Crate-level READMEs for crates.io pages - Automatic crates.io publish on release tags via CI workflow - Parity test ensures rules.json stays in sync between knowledge-base and crate - Input validation in build.rs for secure code generation - Language Server Protocol (LSP) implementation for real-time e | Low | 2/5/2026 |
| v0.1.0 | Release v0.1.0 | Low | 2/4/2026 |
Dependencies & License Audit
Loading dependencies...
Similar Packages
@senso-ai/shipablesCLI for installing, managing, and publishing AI agent skills from the Shipables registry0.1.2
automagik-genieSelf-evolving AI agent orchestration framework with Model Context Protocol support2.5.27
council-mcpThree-tier AI agent MCP orchestration system: Chancellor (Opus), Executor (Sonnet), Aide (Haiku)0.4.0
mofloMoFlo — AI agent orchestration for Claude Code. Forked from ruflo/claude-flow with patches applied to source, plus feature-level orchestration.4.8.79
