Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed
- **Search UX** - the top-right search now shows 8 inline preview hits as you type (via `searchResultLimits` on `docusaurus-search-local`) instead of only a "See all results" link.
- **Docs drift** - updated validation rule count from 385 to 399 in `CLAUDE.md`, `AGENTS.md`, `crates/agnix-lsp/README.md`, `docs/EDITOR-SETUP.md`, and the Neovim and VS Code editor READMEs. `rules.json` is the source of truth; these human-written references had drifted.
- **Docs drift** - updated validation rule count from 385 to 399 across 20+ user-facing locations: `CLAUDE.md`, `AGENTS.md`, `README.md`, `SPEC.md`, `npm/README.md`, `crates/agnix-lsp/README.md`, `docs/EDITOR-SETUP.md`, Neovim and VS Code editor READMEs, `editors/vscode/package.json`, `editors/zed/README.md`, `knowledge-base/INDEX.md` (5 places), `knowledge-base/README.md`, `plugin/.claude-plugin/plugin.json`, `plugin/commands/agnix.md`, `plugin/skills/agnix/SKILL.md`, `skills/agnix/SKILL.md`, `crates/agnix-mcp/src/main.rs` server instructions (3 places), and website docs (intro, getting-started, contributing). `rules.json` is the source of truth; these human-written references had drifted.
- **CONTRIBUTING tone** - `CONTRIBUTING.md` and `website/docs/contributing.md` use first-person singular ("I welcome", "I want to know") since agnix is single-maintainer. Previously used "we" which implied a team.
- **Docusaurus** - bumped `@docusaurus/core` and `@docusaurus/preset-classic` from 3.9.2 to 3.10.0.
Comment thread
avifenesh marked this conversation as resolved.

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Current tier assignments are documented in [`knowledge-base/RESEARCH-TRACKING.md

## Community Feedback

We welcome community input through several channels:
I welcome community input through several channels:

- **GitHub Issues** - Use the issue templates for structured feedback:
- [Bug Report](.github/ISSUE_TEMPLATE/bug_report.md) - Report validation errors
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
</p>
</div>

<p align="center">Catch broken agent configs before your AI tools silently ignore them.<br>385 rules across Claude Code, Codex CLI, OpenCode, Cursor, Copilot, and more -<br>validating CLAUDE.md, SKILL.md, hooks, MCP configs, and other agent files.</p>
<p align="center">Catch broken agent configs before your AI tools silently ignore them.<br>399 rules across Claude Code, Codex CLI, OpenCode, Cursor, Copilot, and more -<br>validating CLAUDE.md, SKILL.md, hooks, MCP configs, and other agent files.</p>

<p align="center"><strong>Auto-fix</strong> | <strong><a href="https://github.com/marketplace/actions/agnix-ci">GitHub Action</a></strong> | <strong><a href="https://marketplace.visualstudio.com/items?itemName=avifenesh.agnix">VS Code</a> + <a href="https://plugins.jetbrains.com/plugin/30087-agnix">JetBrains</a> + <a href="https://github.com/agent-sh/agnix.nvim">Neovim</a> + <a href="https://zed.dev/extensions?query=agnix">Zed</a></strong></p>

Expand All @@ -37,7 +37,7 @@

**Bad patterns get amplified.** AI assistants don't ignore wrong configs - they [learn from them](https://www.augmentcode.com/guides/enterprise-coding-standards-12-rules-for-ai-ready-teams).

agnix validates all of it - 385 rules sourced from official specs, academic research, and real-world breakage patterns. Auto-fix included.
agnix validates all of it - 399 rules sourced from official specs, academic research, and real-world breakage patterns. Auto-fix included.

> **Want to try it first?** [Open the playground](https://agent-sh.github.io/agnix/playground) - paste any agent config, see diagnostics instantly. No install, runs in your browser.

Expand Down
4 changes: 2 additions & 2 deletions SPEC.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# agnix Technical Reference

> Linter for agent configs. 385 rules across 36 categories.
> Linter for agent configs. 399 rules across 36 categories.


## What agnix Validates
Expand Down Expand Up @@ -58,7 +58,7 @@ agnix/
│ ├── agnix-mcp/ # MCP server
│ └── agnix-wasm/ # WebAssembly bindings
├── editors/ # Neovim, VS Code, JetBrains, Zed integrations
├── knowledge-base/ # 385 rules documented
├── knowledge-base/ # 399 rules documented

├── scripts/ # Build/dev automation scripts
├── website/ # Docusaurus documentation website
Expand Down
14 changes: 7 additions & 7 deletions crates/agnix-mcp/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ fn make_invalid_params(msg: String) -> McpError {
/// Agnix MCP Server - validates AI agent configurations
///
/// Provides tools to validate SKILL.md, CLAUDE.md, AGENTS.md, hooks,
/// MCP configs, and more against 385 rules.
/// MCP configs, and more against all agnix validation rules.

#[derive(Debug, Clone)]
pub struct AgnixServer {
Expand Down Expand Up @@ -443,7 +443,7 @@ impl AgnixServer {

/// Get all available validation rules
#[tool(
description = "List all 229 validation rules available in agnix. Returns rule IDs and names organized by category (AS-* Agent Skills, CC-* Claude Code, MCP-* Model Context Protocol, COP-* Copilot, CUR-* Cursor, etc.)."
description = "List all validation rules available in agnix. Returns rule IDs and names organized by category (AS-* Agent Skills, CC-* Claude Code, MCP-* Model Context Protocol, COP-* Copilot, CUR-* Cursor, etc.)."
)]
async fn get_rules(&self) -> Result<CallToolResult, McpError> {
let rules: Vec<RuleInfo> = agnix_rules::RULES_DATA
Expand Down Expand Up @@ -503,20 +503,20 @@ impl ServerHandler for AgnixServer {
info.protocol_version = ProtocolVersion::V_2024_11_05;
info.capabilities = ServerCapabilities::builder().enable_tools().build();
info.server_info = server_impl;
info.instructions = Some(
let rule_count = agnix_rules::rule_count();
info.instructions = Some(format!(
"Agnix - AI agent configuration linter.\n\n\
Validates SKILL.md, CLAUDE.md, AGENTS.md, hooks, MCP configs, \
Cursor rules, and more against 385 rules.\n\n\
Cursor rules, and more against {rule_count} rules.\n\n\
Tools:\n\
- validate_project: Validate all agent configs in a directory\n\
- validate_file: Validate a single config file\n\
- get_rules: List all 385 validation rules\n\
- get_rules: List all {rule_count} validation rules\n\
- get_rule_docs: Get details about a specific rule\n\n\
Preferred input: tools (array of tool names, or comma-separated string as fallback)\n\
Legacy fallback: target\n\
Supported tools are derived from agnix rule metadata"
.to_string(),
);
));

info
}
Expand Down
2 changes: 1 addition & 1 deletion editors/vscode/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "agnix",
"displayName": "agnix - Agent Config Linter",
"description": "Real-time validation for AI agent configuration files. Validates SKILL.md, CLAUDE.md, AGENTS.md, MCP configs, hooks, and more against 385 rules.",
"description": "Real-time validation for AI agent configuration files. Validates SKILL.md, CLAUDE.md, AGENTS.md, MCP configs, hooks, and more against 399 rules.",
"version": "0.18.0",
"publisher": "avifenesh",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion editors/zed/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Provides real-time validation of AI agent configuration files (CLAUDE.md, AGENTS
- Real-time diagnostics as you type
- Quick-fix code actions for auto-fixable issues
- Hover documentation for configuration fields
- 385 validation rules across 28 categories
- 399 validation rules across 36 categories
- MDC file type support for Cursor rules

## Requirements
Expand Down
36 changes: 18 additions & 18 deletions knowledge-base/INDEX.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# agnix Knowledge Base - Master Index

> 385 validation rules across 36 categories, sourced from 75+ references
> 399 validation rules across 36 categories, sourced from 75+ references


---
Expand All @@ -9,7 +9,7 @@

| What You Need | Start Here |
|---------------|------------|
| **Implement validator** | [VALIDATION-RULES.md](./VALIDATION-RULES.md) - 385 rules with detection logic |
| **Implement validator** | [VALIDATION-RULES.md](./VALIDATION-RULES.md) - 399 rules with detection logic |

| **Understand a standard** | [standards/](#standards) - HARD-RULES files |
| **Learn best practices** | [standards/](#standards) - OPINIONS files |
Expand All @@ -28,7 +28,7 @@
knowledge-base/
├── INDEX.md # This file
├── README.md # Detailed navigation guide
├── VALIDATION-RULES.md # Master validation reference (385 rules)
├── VALIDATION-RULES.md # Master validation reference (399 rules)

├── PATTERNS-CATALOG.md # 70 production-tested patterns
├── RESEARCH-TRACKING.md # Tool inventory and monitoring process
Expand Down Expand Up @@ -81,35 +81,35 @@ knowledge-base/
| **AGENTS.md** | 5 | - | - | 6 rules |
| **Cursor** | 2 | - | - | 9 rules |
| **agentsys** | 12 | - | - | 70 patterns |
| **Total** | **75+** | **117KB** | **160KB** | **385 rules** |
| **Total** | **75+** | **117KB** | **160KB** | **399 rules** |
Comment thread
avifenesh marked this conversation as resolved.


### Validation Rules by Category

| Category | Rules | HIGH | MEDIUM | LOW | Auto-Fix |
|----------|-------|------|--------|-----|----------|
| Agent Skills | 19 | 15 | 4 | 0 | 9 |
| Claude Skills | 17 | 11 | 6 | 0 | 11 |
| Claude Hooks | 19 | 12 | 5 | 2 | 12 |
| Claude Agents | 13 | 12 | 1 | 0 | 7 |
| Claude Memory | 12 | 8 | 4 | 0 | 3 |
| Claude Skills | 20 | 11 | 8 | 1 | 13 |
| Claude Hooks | 25 | 13 | 8 | 4 | 16 |
| Claude Agents | 17 | 12 | 4 | 1 | 10 |
| Claude Memory | 13 | 8 | 5 | 0 | 3 |
| AGENTS.md | 6 | 1 | 5 | 0 | 1 |
| Claude Plugins | 10 | 8 | 2 | 0 | 3 |
| GitHub Copilot | 17 | 11 | 6 | 0 | 8 |
| Claude Plugins | 14 | 9 | 5 | 0 | 4 |
| GitHub Copilot | 25 | 13 | 9 | 3 | 11 |
| MCP | 24 | 19 | 5 | 0 | 7 |
| XML | 3 | 3 | 0 | 0 | 3 |
| References | 4 | 2 | 2 | 0 | 1 |
| Prompt Eng | 6 | 0 | 6 | 0 | 2 |
| Cross-Platform | 9 | 2 | 6 | 1 | 0 |
| Cursor | 16 | 9 | 7 | 0 | 6 |
| Cursor | 19 | 9 | 9 | 1 | 6 |
| Cursor Skills | 1 | 0 | 1 | 0 | 1 |
| Cline | 4 | 3 | 1 | 0 | 2 |
| Cline Skills | 1 | 0 | 1 | 0 | 1 |
| OpenCode | 41 | 26 | 14 | 1 | 2 |
| Cline | 7 | 4 | 3 | 0 | 3 |
| Cline Skills | 3 | 2 | 1 | 0 | 2 |
| OpenCode | 45 | 28 | 16 | 1 | 10 |
| OpenCode Skills | 1 | 0 | 1 | 0 | 1 |
| Gemini CLI | 9 | 3 | 4 | 2 | 3 |
| Version Awareness | 1 | 0 | 0 | 1 | 0 |
| Codex CLI | 39 | 21 | 17 | 1 | 3 |
| Codex CLI | 58 | 28 | 25 | 5 | 10 |
| Copilot Skills | 1 | 0 | 1 | 0 | 1 |
| Codex Skills | 1 | 0 | 1 | 0 | 1 |
| Windsurf Skills | 1 | 0 | 1 | 0 | 1 |
Expand All @@ -124,7 +124,7 @@ knowledge-base/
| Roo Code | 6 | 3 | 3 | 0 | 0 |
| Windsurf | 4 | 1 | 2 | 1 | 0 |
| Kiro Steering | 14 | 3 | 9 | 2 | 1 |
| **TOTAL** | **385** | **190** | **138** | **14** | **96** |
| **TOTAL** | **399** | **206** | **167** | **26** | **126** |


---
Expand Down Expand Up @@ -162,7 +162,7 @@ knowledge-base/

### For Implementation

**Start here**: [VALIDATION-RULES.md](./VALIDATION-RULES.md) - 385 rules with rule IDs (AS-001, CC-HK-001, etc.)
**Start here**: [VALIDATION-RULES.md](./VALIDATION-RULES.md) - 399 rules with rule IDs (AS-001, CC-HK-001, etc.)

- Detection pseudocode
- Auto-fix implementations
Expand Down Expand Up @@ -288,7 +288,7 @@ Total Size: 650KB
Standards Covered: 5 (Agent Skills, MCP, Claude Code, Multi-Platform, Prompt Eng)
Sources Consulted: 75+ (specs, docs, research papers, repos)
Research Agents: 5 (10+ sources each)
Validation Rules: 385 rules
Validation Rules: 399 rules
Auto-Fixable Rules: 96 rules

Test Fixtures: 116 files
Expand Down
2 changes: 1 addition & 1 deletion knowledge-base/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## Start Here

- [INDEX.md](./INDEX.md) - Master navigation and summaries
- [VALIDATION-RULES.md](./VALIDATION-RULES.md) - 385 rules with detection logic
- [VALIDATION-RULES.md](./VALIDATION-RULES.md) - 399 rules with detection logic

- [PATTERNS-CATALOG.md](./PATTERNS-CATALOG.md) - 70 patterns from agentsys
- [standards/](./standards/) - HARD-RULES and OPINIONS by topic
Expand Down
2 changes: 1 addition & 1 deletion npm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Linter for AI agent configurations. Validates SKILL.md, CLAUDE.md, hooks, MCP, and more.

**385 rules** | **Real-time validation** | **Auto-fix** | **Multi-tool support**
**399 rules** | **Real-time validation** | **Auto-fix** | **Multi-tool support**

## Installation

Expand Down
2 changes: 1 addition & 1 deletion plugin/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "agnix",
"version": "0.16.1",
"description": "Lint agent configurations before they break your workflow. 385 rules for Skills, Hooks, MCP, Memory, Plugins.",
"description": "Lint agent configurations before they break your workflow. 399 rules for Skills, Hooks, MCP, Memory, Plugins.",
"author": {
"name": "Avi Fenesh",
"email": "[email protected]",
Expand Down
2 changes: 1 addition & 1 deletion plugin/commands/agnix.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Use when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP', or mentions 'agent config issues', 'skill validation'.
codex-description: 'Use when user asks to "lint agent configs", "validate skills", "check CLAUDE.md", "validate hooks", "lint MCP". Validates agent configuration files against 385 rules across 10+ AI tools.'
codex-description: 'Use when user asks to "lint agent configs", "validate skills", "check CLAUDE.md", "validate hooks", "lint MCP". Validates agent configuration files against 399 rules across 10+ AI tools.'
argument-hint: "[path] [--fix] [--strict] [--target [target]]"
allowed-tools: Task, Read
---
Expand Down
2 changes: 1 addition & 1 deletion plugin/skills/agnix/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: agnix
description: "Use when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP'. Validates agent configuration files against 385 rules across 10+ AI tools."
description: "Use when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP'. Validates agent configuration files against 399 rules across 10+ AI tools."
argument-hint: "[path] [--fix] [--strict] [--target=claude-code|cursor|codex]"

Check notice on line 4 in plugin/skills/agnix/SKILL.md

View workflow job for this annotation

GitHub Actions / agnix

skill uses client-specific field 'argument-hint' which is not part of the universal Agent Skills spec [XP-SK-001]
---

# agnix
Expand Down
2 changes: 1 addition & 1 deletion skills/agnix/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: agnix
description: "Use when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP'. Validates agent configuration files against 385 rules."
description: "Use when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP'. Validates agent configuration files against 399 rules."
allowed-tools: Bash(agnix:*), Bash(cargo:*), Read, Glob, Grep
---

Expand Down
4 changes: 2 additions & 2 deletions website/docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ Contributions are welcome and appreciated.

## Found something off?

agnix validates against 385 rules, but the agent config ecosystem moves fast. If a rule is wrong, missing, or too noisy, we want to know.
agnix validates against 399 rules, but the agent config ecosystem moves fast. If a rule is wrong, missing, or too noisy, I want to know.

- [Report a bug](https://github.com/agent-sh/agnix/issues/new)
- [Request a rule](https://github.com/agent-sh/agnix/issues/new)

Your real-world configs are the best test suite we could ask for.
Your real-world configs are the best test suite I could ask for.

## Contribute code

Expand Down
2 changes: 1 addition & 1 deletion website/docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,6 @@ agnix --target copilot .
## Next steps

- [Configuration](./configuration.md) - customize rules with `.agnix.toml`
- [Rules Reference](./rules/index.md) - browse all 385 rules
- [Rules Reference](./rules/index.md) - browse all 399 rules
- [Editor Integration](./editor-integration.md) - get diagnostics in your editor
- [Troubleshooting](./troubleshooting.md) - common issues and fixes
6 changes: 3 additions & 3 deletions website/docs/intro.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Introduction
slug: /
description: "agnix validates AI agent configuration files across Claude Code, Cursor, Copilot, MCP, and AGENTS.md. 385 rules, auto-fix, and editor integration."
description: "agnix validates AI agent configuration files across Claude Code, Cursor, Copilot, MCP, and AGENTS.md. 399 rules, auto-fix, and editor integration."
---

# agnix
Expand All @@ -14,7 +14,7 @@ npx agnix .

## What it does

- **Validates** configuration files against 385 rules derived from official specs and real-world testing
- **Validates** configuration files against 399 rules derived from official specs and real-world testing
- **Auto-fixes** common issues with `--fix`
- **Integrates** with VS Code, Neovim, JetBrains, and Zed via the LSP server
- **Runs in your browser** - [try the playground](/playground) with zero install
Expand All @@ -24,6 +24,6 @@ npx agnix .

- [Playground](/playground) - try it now, no install needed
- [Getting Started](./getting-started.md) - install and run in 60 seconds
- [Rules Reference](./rules/index.md) - browse all 385 validation rules
- [Rules Reference](./rules/index.md) - browse all 399 validation rules
- [Configuration](./configuration.md) - customize with `.agnix.toml`
- [Editor Integration](./editor-integration.md) - set up real-time diagnostics
Loading