Generate and audit AI agent context files — tech debt scanner, GitHub health, cleanup agent
Project description
AnchorMD
Generate optimized CLAUDE.md files for AI coding agents in seconds.
Stop hand-rolling CLAUDE.md. Let Forge analyze your codebase and generate a production-grade configuration file that makes Claude Code, Cursor, Windsurf, and Codex actually understand your project.
Why?
AI coding agents are only as good as the context you give them. A well-crafted CLAUDE.md is the difference between an agent that writes idiomatic code and one that fights your conventions on every change.
AnchorMD:
- Scans your codebase to detect languages, frameworks, and patterns
- Generates a complete CLAUDE.md with coding standards, commands, and anti-patterns
- Audits existing CLAUDE.md files and scores them against best practices
- Framework-aware presets for React, FastAPI, Rust, Django, Next.js, and more
Install
pip install anchormd
Quick Start
# Generate a CLAUDE.md for your project
anchormd generate .
# Audit an existing CLAUDE.md
anchormd audit ./CLAUDE.md
# Interactive setup
anchormd init .
# See what would change
anchormd diff .
# List available presets
anchormd presets
# List framework-specific presets
anchormd frameworks
Example Output
Running anchormd generate . on a FastAPI project produces:
# CLAUDE.md — my-api
## Project Overview
my-api — TODO: Add project description.
## Current State
- **Version**: 0.1.0
- **Language**: Python
- **Files**: 47 across 2 languages
- **Lines**: 3,204
## Tech Stack
- **Language**: Python
- **Framework**: fastapi
- **Package Manager**: pip
- **Linters**: ruff
- **Test Frameworks**: pytest
- **CI/CD**: GitHub Actions
## Coding Standards
- **Naming**: snake_case
- **Type Hints**: present
- **Docstrings**: google style
- **Imports**: absolute
## Common Commands
...
## Anti-Patterns (Do NOT Do)
- Do NOT use synchronous database calls in async endpoints
- Do NOT return raw dicts — use Pydantic response models
- Do NOT use `os.path` — use `pathlib.Path` everywhere
...
GitHub Action
Add automated CLAUDE.md auditing to your CI pipeline:
# .github/workflows/claudemd-audit.yml
name: Audit CLAUDE.md
on: [pull_request]
jobs:
audit:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v6
- uses: Arete-Consortium/anchormd@v0.1.0
with:
fail-below: 40 # Minimum passing score (0-100)
comment: true # Post results as PR comment
The action posts a formatted comment on your PR with score, findings, and recommendations.
Free vs Pro
| Feature | Free | Pro ($8/mo) |
|---|---|---|
generate — scan and produce CLAUDE.md |
Yes | Yes |
audit — score existing CLAUDE.md |
Yes | Yes |
| 11 community presets (FastAPI, React, Rust, Django...) | Yes | Yes |
init — interactive guided setup |
- | Yes |
diff — detect drift between CLAUDE.md and codebase |
- | Yes |
| CI integration — GitHub Action auto-audit on PR | - | Yes |
| 6 premium presets (monorepo, data-science, devops...) | - | Yes |
| Team templates (shared org standards) | - | Planned |
Get Pro: Monthly ($8/mo) | Yearly ($69/yr)
All 5 Tools Bundle: Monthly ($29/mo) | Yearly ($199/yr) — includes anchormd, agent-lint, ai-spend, promptctl, context-hygiene
Activate:
export ANCHORMD_LICENSE=ANMD-XXXX-XXXX-XXXX
Framework Presets
| Preset | Description |
|---|---|
python-fastapi |
FastAPI + async patterns |
python-cli |
Python CLI with typer/click |
react-typescript |
React + TypeScript + hooks |
nextjs |
Next.js App Router conventions |
django |
Django with ORM patterns |
rust |
Rust with clippy + proper error handling |
go |
Go with standard project layout |
node-express |
Express.js backend |
Audit Scoring
Forge scores your CLAUDE.md on:
- Section coverage — does it have the essentials?
- Accuracy — does it match your actual codebase?
- Specificity — are instructions actionable or vague?
- Anti-patterns — does it prevent common mistakes?
- Freshness — is it up to date?
Development
# Clone and install
git clone https://github.com/Arete-Consortium/anchormd.git
cd anchormd
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Lint
ruff check src/ tests/
ruff format src/ tests/
Community
Discord — Join the community
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anchormd-0.5.0.tar.gz.
File metadata
- Download URL: anchormd-0.5.0.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c96fc845d16492b75dcb53dae0b0d3cb5aabdf801d0debbec5f6691ebf866a3e
|
|
| MD5 |
8c334f63a2852d718d538a037519bccb
|
|
| BLAKE2b-256 |
d0d403c8da04c16846ca41ce54217945fe770e0a0a090607466ae3d0a0febb9c
|
Provenance
The following attestation bundles were made for anchormd-0.5.0.tar.gz:
Publisher:
publish.yml on Arete-Consortium/anchormd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anchormd-0.5.0.tar.gz -
Subject digest:
c96fc845d16492b75dcb53dae0b0d3cb5aabdf801d0debbec5f6691ebf866a3e - Sigstore transparency entry: 1328169769
- Sigstore integration time:
-
Permalink:
Arete-Consortium/anchormd@057b4cdc38b1b02260474afb4e15566f2fcc25ca -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/Arete-Consortium
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@057b4cdc38b1b02260474afb4e15566f2fcc25ca -
Trigger Event:
release
-
Statement type:
File details
Details for the file anchormd-0.5.0-py3-none-any.whl.
File metadata
- Download URL: anchormd-0.5.0-py3-none-any.whl
- Upload date:
- Size: 108.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37ff935095e5eecbe53a9f60a7368417447decc43491497f23eb9ea0ece95436
|
|
| MD5 |
6c0ddf376d8e72357009d0bbe2c5084a
|
|
| BLAKE2b-256 |
bc0f3f61ce405bfb952bcac53c51e7e27933eae7243adddbe5e2ec8cd43fd260
|
Provenance
The following attestation bundles were made for anchormd-0.5.0-py3-none-any.whl:
Publisher:
publish.yml on Arete-Consortium/anchormd
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anchormd-0.5.0-py3-none-any.whl -
Subject digest:
37ff935095e5eecbe53a9f60a7368417447decc43491497f23eb9ea0ece95436 - Sigstore transparency entry: 1328169771
- Sigstore integration time:
-
Permalink:
Arete-Consortium/anchormd@057b4cdc38b1b02260474afb4e15566f2fcc25ca -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/Arete-Consortium
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@057b4cdc38b1b02260474afb4e15566f2fcc25ca -
Trigger Event:
release
-
Statement type: