You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
pre-commit hooks skipped nearly every file agnix validates
(#1444, #1445). The files: pattern
in .pre-commit-hooks.yaml was ^(...)$-anchored with root-level entries, so SKILL\.md matched only a repository-root SKILL.md - a skill at its normal .claude/skills/<name>/SKILL.md location, a nested AGENTS.md, a plugin
manifest, or a scoped Copilot instruction file never reached agnix, and the
hook reported Passed with nothing validated. The pattern now covers
every tool-scoped path shape file_types/detection.rs recognizes: the
filename-based entries (SKILL.md, the CLAUDE.md/AGENTS.md variants, GEMINI.md, plugin.json, mcp.json, *.mcp.json, mcp-*.json, opencode.json{,c}, gemini-extension.json, the .cursorrules, .clinerules, .roorules/.roomodes/.rooignore, and .windsurfrules
legacy files) match at any depth via a shared (?:.*/)? prefix, and the .claude, .github, .cursor, .codex, .gemini, .amp, .agents, .roo, .windsurf, and .kiro directory surfaces are enumerated -
including .cursor/rules/**/*.md so CUR-020 can flag plain-markdown rules
Cursor silently ignores. Also covers plugin hooks/hooks.json at any root, bare agents/ directories (which detection
validates as agent configs, agents/README.md included), .kiro/settings.json,
and the undotted codex/requirements.toml system surface - while deliberately
not matching .codex/requirements.toml, which Codex does not read. Verified
against the 149 concrete paths in detection.rs's own tests; the only
remaining exclusions are deliberate: detection's loose fallback arms outside a
tool directory (a bare settings.json, hooks.json, environment.json, POWER.md, or requirements.toml anywhere), uppercase directory spellings,
and generic markdown. Verified end to end: a repo with a nested skill, a
package-level AGENTS.md, GEMINI.md, and a scoped instruction file - all
invisible to the old pattern - now produces their diagnostics through the
hook.