Catalog PyPI
PACKAGE EXPLORERView in registry

agent-rules-lint

PyPI

Lint AI agent instruction files such as AGENTS.md, CLAUDE.md, Cursor rules, and Copilot instructions.

ai-agentsclaude-codecopilotcursordeveloper-toolslintllm
Versions collected1
Direct dependencies0From release 0.2.0
Last observed20 Oct, 23:13 UTC

README

Version 0.2.0 documentation

agent-rules-lint

New: SARIF reports, GitHub Action and pre-commit integration. Usage and examples.

PyPI Python CI License: MIT

Lint AI agent instruction files before they confuse your coding agent.

agent-rules-lint is a small, dependency-free Python CLI that scans files such as AGENTS.md, CLAUDE.md, Cursor rules, and GitHub Copilot instructions for common quality and safety problems.

Why

Recent high-growth developer repos show a clear pattern: teams are adding more agent skills, rule files, memory files, and coding-agent playbooks. The missing piece is a quick quality gate for those instructions.

Bad agent instructions are expensive. They can be too long, vague, contradictory, unsafe, or accidentally include secrets. This tool gives you a fast local and CI check before those rules affect real work.

What It Checks

  • Common instruction files:
    • AGENTS.md
    • CLAUDE.md
    • GEMINI.md
    • .cursorrules
    • .cursor/rules/*.md
    • .github/copilot-instructions.md
    • .github/instructions/*.md
  • Secret-like values
  • Risky shell and Git commands
  • Prompt-injection-like language
  • Missing title
  • Missing purpose, scope, command, or safety guidance
  • Vague language
  • Files that are too long for practical agent use
  • A small set of obvious contradictory rules

Install

Run it without installing:

uvx agent-rules-lint .

Or install it as an isolated CLI:

pipx install agent-rules-lint
agent-rules-lint .

Standard pip installation also works:

python -m pip install agent-rules-lint

For local development:

python -m pip install -e .

Usage

Scan the current repository:

agent-rules-lint .

Return JSON for CI or custom reports:

agent-rules-lint . --format json

Fail CI on warnings:

agent-rules-lint . --warnings-as-errors

Change the long-file threshold:

agent-rules-lint . --max-chars 8000

Example Output

agent-rules-lint checked 1 file(s)
errors=0 warnings=1 info=2

Files:
  - AGENTS.md

Findings:
  [warning] AGENTS.md:42 risky-command: Risky command should include explicit safeguards or approval rules.
  [info] AGENTS.md missing-safety: Consider adding a clear safety section.

CI

Add this to GitHub Actions:

name: Lint agent rules

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  lint-agent-rules:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7.0.0
      - uses: actions/setup-python@v6.3.0
        with:
          python-version: "3.12"
      - run: pipx run agent-rules-lint . --warnings-as-errors

Design Principles

  • No model calls
  • No network calls
  • No dependencies
  • Safe to run in CI
  • Findings should be specific enough to act on
  • Warnings should improve instruction quality, not enforce one writing style

Current Limitations

  • Conflict detection is intentionally conservative and only catches obvious pairs.
  • It does not estimate real tokenizer counts; it uses character length as a practical proxy.
  • It does not validate whether an instruction is correct for a specific tool.

Development

python -m pip install -e .
python -m unittest discover -s tests -v
python -m agent_rules_lint .

Agent OSS Toolkit

This project is part of a small toolkit for building and launching agent-ready open-source repositories:

Contributing

See CONTRIBUTING.md.

License

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.016 Sept 20260

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
uky0yang/agent-rules-lint

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 23:13 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:b1b320379099d305b443abfe5f4c8b1be0fa267b913bd9c9a2d539a0a1145930