| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Local read-only Python CLI for diagnosing AGENTS.md, CLAUDE.md, GEMINI.md, Cursor rules, GitHub Copilot instructions, and other AI agent instruction files in repositories.
Screenshots · Overview · Installation · Release and PyPI · Commands · Governance Findings · Safety Boundary · Quality Gates · Development Status · Maintainer Workflow · Support
agent-rules-kit is a local, read-only diagnostic CLI for repositories that use AI coding agents or assistant-specific instruction files.
It helps developers inspect AGENTS.md, CLAUDE.md, GEMINI.md, Cursor rules, GitHub Copilot instructions, and GitHub instruction files without network calls, LLM calls, or repository command execution.
It focuses on files such as:
The project is positioned as a doctor/lint tool for agent instruction files.
It is not:
The default behavior is read-only.
v0.4.0 is the current published GitHub Release and PyPI package for agent-rules-kit.
v0.3.0 remains the previous published GitHub Release and PyPI package baseline.
Current main may include post-v0.4.0 changes that are not part of the published PyPI package until a later release is cut and verified.
The current main behavior includes:
Governance diagnostics were introduced in v0.2.0 and hardened through the published v0.2.1 release. v0.2.2 and v0.2.3 are documentation-only public-truth patches.
These diagnostics are heuristic findings for instruction-file governance. They are meant to flag review-worthy instruction patterns, not to prove that a repository is safe.
Current main evaluates the following governance finding rules, in stable evaluation order:
| Rule | Severity | Purpose |
|---|---|---|
| AIRK-SYS001 | warning | Flags supported instruction files that cannot be analyzed as UTF-8. |
| AIRK-SYS002 | warning | Flags supported instruction file paths that are symlinks and are not analyzed. |
| AIRK-GOV006 | warning | Flags unsupported security, production-readiness, or maturity claims. |
| AIRK-GOV003 | warning | Flags guidance that appears to bypass review, CI, PRs, or safe integration. |
| AIRK-GOV004 | warning | Flags unsafe command execution guidance without an explicit confirmation boundary. |
| AIRK-GOV005 | warning | Flags runtime network, LLM, or external API dependency guidance that conflicts with local-first boundaries. |
| AIRK-GOV002 | warning | Flags missing secret-handling boundaries. |
| AIRK-GOV001 | warning | Flags missing instruction scope or authority. |
Governance findings are intentionally conservative and pattern-based. They may produce false positives or false negatives, and they are not a substitute for maintainer review.
The v0.2.0 GitHub Release introduced this governance rule set. The published v0.2.1 release includes subsequent governance hardening and coverage expansion without moving the v0.2.0 tag. The published v0.2.2 release syncs public release, PyPI, and security documentation without runtime behavior changes. The published v0.2.3 release syncs support policy documentation and package metadata without runtime behavior changes.
For detailed rule purpose, evidence, limits, and false-positive notes, see docs/RULES.md.
For CLI output examples in console, JSON, and Markdown formats, see docs/OUTPUTS.md. For the CLI exit-code contract, see docs/EXIT-CODES.md.
agent-rules-kit does not claim to make a repository secure.
It does not:
A clean report means only that the implemented checks did not find a supported issue. It is not proof of safety, completeness, or production readiness.
v0.4.0 is the current published GitHub Release and PyPI package.
The published package can be installed from PyPI. Release publication uses PyPI Trusted Publishing from the GitHub Release workflow.
Requirements for using a published CLI release:
Install v0.4.0 in a virtual environment:
python -m venv .venv .venv/bin/python -m pip install agent-rules-kit==0.4.0 .venv/bin/agent-rules-kit --version .venv/bin/agent-rules-kit check /path/to/repository --format console
Normal CLI use does not require Ruff or any development dependency.
Requirements for working on the repository and running local checks:
Set up a local development environment from the source tree:
python -m venv .venv .venv/bin/python -m pip install -e '.[dev]' PATH="$PWD/.venv/bin:$PATH" ./scripts/check.sh
The development dependency group installs tools used by local checks, including Ruff. Installing only a system ruff binary is not enough for ./scripts/check.sh if the active Python cannot import the ruff module.
The source tree can also be used directly for quick CLI inspection:
PYTHONPATH=src python -m agent_rules_kit.cli --help
Current main can also be tested from the source tree. doctor, budget, explain, dedupe, and conflicts are part of the published v0.4.0 package and current source tree:
PYTHONPATH=src python -m agent_rules_kit.cli doctor tests/fixtures/repositories/multi-agent-overlap PYTHONPATH=src python -m agent_rules_kit.cli budget tests/fixtures/repositories/multi-agent-overlap PYTHONPATH=src python -m agent_rules_kit.cli dedupe tests/fixtures/repositories/multi-agent-overlap PYTHONPATH=src python -m agent_rules_kit.cli conflicts tests/fixtures/repositories/multi-agent-overlap PYTHONPATH=src python -m agent_rules_kit.cli explain AIRK-GOV003
These source-tree commands are development checks. Published-package behavior must be verified from a clean PyPI install during release closeout.
The v0.4.0 release was published through PyPI Trusted Publishing.
Release publishing is handled by:
.github/workflows/publish-pypi.yml
The workflow is intentionally limited:
The published v0.4.0 package must remain verifiable by:
Installed CLI usage:
.venv/bin/agent-rules-kit check /path/to/repository --format console
Source-tree development usage:
PYTHONPATH=src python -m agent_rules_kit.cli check tests/fixtures/repositories/single-agent
Example console output:
agent-rules-kit check: tests/fixtures/repositories/single-agent Found 1 supported instruction file(s): - AGENTS.md [agents]
Installed CLI usage:
.venv/bin/agent-rules-kit check /path/to/repository --format json
Source-tree development usage:
PYTHONPATH=src python -m agent_rules_kit.cli check tests/fixtures/repositories/single-agent --format json
Installed CLI usage:
.venv/bin/agent-rules-kit check /path/to/repository --format markdown
Source-tree development usage:
PYTHONPATH=src python -m agent_rules_kit.cli check tests/fixtures/repositories/single-agent --format markdown
init --dry-run shows what would happen without writing files:
PYTHONPATH=src python -m agent_rules_kit.cli init /path/to/repo --dry-run
Example behavior:
Mode: dry-run No files will be modified. Planned file actions: - AGENTS.md [create] - baseline agent instruction file would be created
init --write must be requested explicitly:
PYTHONPATH=src python -m agent_rules_kit.cli init /path/to/repo --write
If root AGENTS.md already exists, it is backed up before replacement:
AGENTS.md.agent-rules-kit.bak
doctor summarizes supported instruction files, finding counts, and review status:
PYTHONPATH=src python -m agent_rules_kit.cli doctor tests/fixtures/repositories/multi-agent-overlap
budget reports deterministic local size metrics. It is an approximation, not tokenizer-specific counting:
PYTHONPATH=src python -m agent_rules_kit.cli budget tests/fixtures/repositories/multi-agent-overlap
dedupe reports repeated instruction lines across supported instruction files:
PYTHONPATH=src python -m agent_rules_kit.cli dedupe tests/fixtures/repositories/multi-agent-overlap
The first baseline is conservative: it detects repeated normalized lines across files, not broad semantic duplication.
conflicts reports contradictory guidance across supported instruction files:
PYTHONPATH=src python -m agent_rules_kit.cli conflicts tests/fixtures/repositories/multi-agent-overlap
The first baseline is conservative: it detects implemented pattern families for opposite guidance, not broad semantic contradiction.
explain lists or explains known local governance rule IDs:
PYTHONPATH=src python -m agent_rules_kit.cli explain AIRK-GOV003 PYTHONPATH=src python -m agent_rules_kit.cli explain --list
These commands are implemented on current main and are part of the published v0.4.0 command surface.
Supported check formats:
| Format | Purpose |
|---|---|
| console | Human-readable terminal output |
| json | Machine-readable output |
| markdown | Markdown report output |
The output format is selected with:
--format console --format json --format markdown
The runtime boundary is intentionally narrow.
The project must preserve these rules:
Security-sensitive changes must be isolated in their own phase and covered by tests.
See:
. ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── feature_request.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── ci.yml │ ├── codeql.yml │ └── publish-pypi.yml ├── docs/ │ ├── ACTIONS-PINNING-POLICY.md │ ├── BUILD-PLAN.md │ ├── DEPENDABOT-DEPENDENCY-GRAPH.md │ ├── EXIT-CODES.md │ ├── EXTERNAL-AUDIT-PACKAGE-CURRENT-MAIN.md │ ├── OPENSSF-SCORECARD-EVALUATION.md │ ├── OUTPUTS.md │ ├── POST-AUDIT-ACTION-PLAN-CURRENT-MAIN.md │ ├── POST-V0.3.0-FUNCTIONAL-CONTRACT-EVIDENCE.md │ ├── POST-V0.3.0-INTERNAL-READINESS-AUDIT.md │ ├── PRE-V0.4.0-INTERNAL-READINESS-AUDIT.md │ ├── PRIVATE-VULNERABILITY-REPORTING.md │ ├── PRODUCT-STRATEGY.md │ ├── RULES.md │ ├── SECURITY-SUPPLY-CHAIN-EVALUATION.md │ ├── THREAT-MODEL.md │ ├── V0.2.0-RELEASE-NOTES.md │ ├── V0.2-GOVERNANCE-BOUNDARIES.md │ ├── V0.2-GOVERNANCE-RULES-SPEC.md │ ├── V0.2-PACKAGING-DRY-RUN.md │ ├── V0.2-RELEASE-READINESS.md │ ├── V0.3-ARCHITECTURE-ROADMAP.md │ ├── V0.3.0-POST-RELEASE-AUDIT.md │ ├── V0.3.0-RELEASE-NOTES.md │ ├── V0.4.0-RELEASE-EVIDENCE.md │ ├── V0.4.0-RELEASE-NOTES.md │ └── screenshots/ │ └── readme/ │ ├── agent-rules-kit-governance-findings.png │ ├── agent-rules-kit-help-check.png │ ├── agent-rules-kit-init-safety.png │ └── agent-rules-kit-output-formats.png ├── scripts/ │ ├── check.sh │ └── post-release-audit.sh ├── src/ │ └── agent_rules_kit/ │ ├── __init__.py │ ├── budget.py │ ├── cli.py │ ├── conflicts.py │ ├── dedupe.py │ ├── discovery.py │ ├── explain.py │ ├── findings.py │ ├── governance.py │ ├── init_plan.py │ ├── init_write.py │ └── redaction.py ├── tests/ │ ├── fixtures/ │ │ └── repositories/ │ ├── test_cli.py │ ├── test_conflicts.py │ ├── test_dedupe.py │ ├── test_diagnostic_fixtures.py │ ├── test_discovery.py │ ├── test_findings.py │ ├── test_golden_outputs.py │ ├── test_governance.py │ ├── test_init_plan.py │ ├── test_init_write.py │ ├── test_path_boundaries.py │ └── test_redaction.py ├── .gitignore ├── AGENTS.md ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── SUPPORT.md └── pyproject.toml
Local verification is handled by:
PATH="$PWD/.venv/bin:$PATH" ./scripts/check.sh
Run this after installing development dependencies with:
.venv/bin/python -m pip install -e '.[dev]'
The local check suite verifies:
Current verified local result on main:
./scripts/check.sh passes
The exact unit test count may change as coverage evolves. The source of truth is the current ./scripts/check.sh output and the matching GitHub Actions run for main.
For v0.4.0 release notes and release evidence, see docs/V0.4.0-RELEASE-NOTES.md and docs/V0.4.0-RELEASE-EVIDENCE.md.
CI installs project development dependencies and then runs the same local check script through GitHub Actions.
The required status check for main is:
local-checks / Python 3.12
Current status:
For future releases, verify:
This repository follows a strict Always-Green workflow.
Required discipline:
A phase is complete only when:
main is clean origin/main is synchronized local checks pass CI is green the PR is merged phase branches are deleted
See CONTRIBUTING.md.
Any contribution must preserve the safety boundary documented in AGENTS.md, SECURITY.md, and docs/THREAT-MODEL.md.
If this project helps you, you can support CDLAN public work here:
Support is optional. It does not change the license, support policy, or project boundaries.
MIT.
See LICENSE.
agent-rules-kit is a focused diagnostic tool for AI agent instruction files.
It is not a security product, not a general repository auditor, not a secret scanner, not an autonomous fixer, and not a replacement for maintainer review.
CDLAN · Less noise. More system.
| Back | FazBrowse Home | New Git URL |