ClaudeForge

May 19, 2026 ยท View on GitHub

Automated CLAUDE.md creation, enhancement, and maintenance for Claude Code projects

License: MIT Version Claude Code CI/CD Quality Gates

ClaudeForge is a comprehensive toolkit that eliminates the tedious process of manually creating and maintaining CLAUDE.md files. With intelligent analysis, automated generation, and background maintenance, your CLAUDE.md files stay perfectly synchronized with your codebase.


๐Ÿ†• What's New

  • Installable Claude Code plugin โ€” manifest at .claude-plugin/plugin.json; install with /plugin marketplace add alirezarezvani/ClaudeForge && /plugin install claudeforge
  • Hard 150-line cap per CLAUDE.md โ€” enforced deterministically by hooks/hooks.json on PostToolUse(Edit|Write) and InstructionsLoaded (every load_reason); larger projects spread content across chained sub-files via @path imports
  • /sync-claude-md โ€” walks every CLAUDE.md, prunes stale references, splits when over the cap, repairs root โ†” sub chains
  • /sync-claude-md --weekly โ€” orchestrates three forked task-style skills in parallel: claude-md-drift-audit, claude-md-link-check, claude-md-dependency-rescan
  • Karpathy behavioural guidelines auto-embedded in every generated CLAUDE.md and installed as a standalone ~/.claude/skills/karpathy-guidelines/ skill scoped to code-file globs
  • AGENTS.md / .cursorrules / .windsurfrules interop โ€” /enhance-claude-md detects sibling instruction files and chains them via @-imports instead of overwriting
  • CLAUDE.local.md personal tier โ€” per-developer overrides exempt from the cap, gitignored automatically
  • Layered hook config โ€” hooks/hooks-config.json (committed defaults) + hooks/hooks-config.local.json (gitignored) lets developers opt out per machine
  • Lifecycle hooks: SessionStart, PreToolUse, PostToolUse, InstructionsLoaded, Stop (one-line drift summary at session end)
  • Guardian agent runs model: haiku with a fail-closed contract (Skill-tool only, never auto-commits, aborts on missing validated output)

๐Ÿ‘‰ Upgrading from v1.x? See docs/MIGRATION_V2.md.


โœจ Features

  • ๐Ÿš€ Interactive Initialization - Explores your repository, detects project context, and creates customized CLAUDE.md files through conversational workflow
  • โœ… Intelligent Analysis - Scans and evaluates existing CLAUDE.md files with quality scoring (0-100) and actionable recommendations
  • ๐Ÿ”ง Smart Enhancement - Adds missing sections and improves structure automatically
  • ๐Ÿ›ก๏ธ Background Maintenance - Guardian agent keeps CLAUDE.md synchronized with codebase changes
  • ๐Ÿ“ฆ Modular Architecture - Supports complex projects with context-specific files (backend/, frontend/, database/)
  • ๐ŸŽฏ 100% Native Format - All generated files follow official Claude Code format with project structure diagrams, setup instructions, and architecture sections
  • ๐Ÿ› ๏ธ Tech Stack Customization - Tailors guidelines to TypeScript, Python, Go, React, Vue, FastAPI, and more
  • ๐Ÿ‘ฅ Team Size Adaptation - Adjusts complexity based on team size (solo, small, medium, large)

๐Ÿ“ฆ What's Included

Skills

  1. claudeforge-skill (skill/SKILL.md) โ€” core analysis / validation / generation engine; runs on model: haiku. Scoped via paths: to CLAUDE.md, CLAUDE.local.md, AGENTS.md, .cursorrules, .windsurfrules, and .claude/rules/*.md so it auto-loads only when those files are touched.
  2. karpathy-guidelines (skill/karpathy-guidelines/SKILL.md) โ€” Think Before Coding, Simplicity First, Surgical Changes, Goal-Driven Execution. Embedded into every generated CLAUDE.md and installed as a standalone skill paths:-scoped to ~23 source-file extensions. Adapted with attribution from the MIT-licensed forrestchang/andrej-karpathy-skills.
  3. claude-md-drift-audit (skill/claude-md-drift-audit/SKILL.md, forked + agent: Explore) โ€” walks the last N days of git history and flags every CLAUDE.md line that references deleted paths, renamed paths, or removed dependencies. Read-only. /claude-md-drift-audit [days=7].
  4. claude-md-link-check (skill/claude-md-link-check/SKILL.md, forked + agent: Explore) โ€” verifies every @path chain import and every relative markdown link inside every CLAUDE.md resolves. Read-only. /claude-md-link-check [path-glob].
  5. claude-md-dependency-rescan (skill/claude-md-dependency-rescan/SKILL.md, forked + agent: Explore) โ€” diffs declared dependencies (package.json / requirements.txt / pyproject.toml / go.mod / Cargo.toml) against the Tech Stack section of every CLAUDE.md. Read-only. /claude-md-dependency-rescan [manifest].

Slash commands

  • /enhance-claude-md (command/enhance-claude-md.md) โ€” multi-phase init/enhance workflow with argument-hint, when_to_use, allowed-tools, and disallowedTools (blocks WebFetch / WebSearch). Delegates deep codebase scans to the Explore subagent.
  • /sync-claude-md (command/sync-claude-md.md) โ€” inventory โ†’ prune stale refs โ†’ enforce the 150-line cap โ†’ repair root โ†” sub chain. New --weekly flag orchestrates the three audit skills in parallel before doing sync work.
  • /claude-to-agents (command/claude-to-agents.md) โ€” convert the project's CLAUDE.md tree into an AGENTS.md for Codex / Gemini Code Assist / any tool honouring the AGENTS.md convention. Three modes: --symlink (one source of truth, default on macOS/Linux), --copy (snapshot), --inline-chain (flattens the @path chain into one self-contained file โ€” recommended for modular projects since Codex/Gemini don't auto-resolve @ imports). Backs up an existing AGENTS.md before overwrite.

Agent

  • claude-md-guardian (agent/claude-md-guardian.md) โ€” background maintenance. Runs model: haiku with a fail-closed contract: Skill-tool only, aborts on missing validated output, never auto-commits, respects the local hook config.

Hooks

  • hooks/hooks.json โ€” wires PostToolUse(Write|Edit), InstructionsLoaded (all five load_reason values), and Stop events to scripts under hooks/.
  • hooks/validate-claude-md.py โ€” enforces the 150-line cap deterministically at load time and write time; exempts *.local.md; exits with stderr feedback on violation.
  • hooks/audit-claude-md.py โ€” Stop hook; one-line CLAUDE.md health summary printed at session end (total tracked / over cap / near cap).
  • hooks/hooks-config.json + hooks/hooks-config.local.json โ€” layered config; per-developer overrides without forking the shipped manifest.

๐Ÿš€ Quick Start

Installation

ClaudeForge ships as a Claude Code plugin. From any Claude Code session:

/plugin marketplace add alirezarezvani/ClaudeForge
/plugin install claudeforge

This installs every component (skills, slash commands, guardian agent) and registers /enhance-claude-md and /sync-claude-md for any project. Works the same at the user level (available everywhere) or scoped to a single project.

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/alirezarezvani/ClaudeForge/main/install.sh | bash

Windows (PowerShell)

iwr https://raw.githubusercontent.com/alirezarezvani/ClaudeForge/main/install.ps1 -useb | iex

Manual Installation

git clone https://github.com/alirezarezvani/ClaudeForge.git
cd ClaudeForge
./install.sh  # or .\install.ps1 on Windows

Usage

After installation, restart Claude Code and run:

/enhance-claude-md

That's it! The command will:

  1. โœ… Explore your project structure
  2. โœ… Detect tech stack and project type
  3. โœ… Show discoveries and ask for confirmation
  4. โœ… Create customized CLAUDE.md file(s)
  5. โœ… Apply best practices and native format

๐Ÿ’ก Use Cases

New Project (No CLAUDE.md)

/enhance-claude-md

# Claude explores your repository and responds:
#
# "Based on my exploration, here's what I discovered:
#
#  ๐Ÿ“ฆ Project Type: Full-Stack Application
#  ๐Ÿ› ๏ธ Tech Stack: TypeScript, React, Node.js, PostgreSQL, Docker
#  ๐Ÿ‘ฅ Team Size: Small (5 developers)
#  ๐Ÿš€ Development Phase: MVP
#
#  ๐Ÿ“‹ Recommended Structure:
#  - Root CLAUDE.md (navigation hub, ~100 lines)
#  - backend/CLAUDE.md (API guidelines, ~150 lines)
#  - frontend/CLAUDE.md (React guidelines, ~175 lines)
#
#  Would you like me to create these files?"
#
# You: "Yes"
#
# โœ… CLAUDE.md created (108 lines)
# โœ… backend/CLAUDE.md created (156 lines)
# โœ… frontend/CLAUDE.md created (182 lines)

Existing Project (Needs Improvement)

/enhance-claude-md

# Claude analyzes your current CLAUDE.md:
#
# "Quality Score: 65/100
#
#  Missing Sections:
#  - Project Structure (ASCII diagram)
#  - Setup & Installation
#  - Architecture
#
#  Would you like me to enhance your CLAUDE.md with these sections?"
#
# You: "Yes"
#
# โœ… CLAUDE.md enhanced (+2 sections, quality score: 65 โ†’ 88)

Background Maintenance

# You start a new Claude Code session
# Guardian agent automatically checks for changes
#
# โœ… CLAUDE.md updated:
# - Tech Stack: Added 2 dependencies (react-query, tailwindcss)
# - Project Structure: Updated diagram with new components/ directory
# - Setup & Installation: New environment variables
#
# Changes: 3 sections, 12 lines

๐Ÿ“š Documentation

DocumentDescription
Quick Start Guide5-minute tutorial to get started
Installation GuideDetailed installation instructions and troubleshooting
Architecture OverviewHow components work together
GitHub WorkflowsCI/CD automation and quality gates
Branching StrategyBranch flow and protection rules
TroubleshootingCommon issues and solutions
Contributing GuideHow to contribute to ClaudeForge

๐Ÿ“– Examples

See the examples/ directory for:

  • Basic usage scenarios
  • Modular architecture setup
  • Integration with existing projects
  • Advanced customization

๐Ÿ”ง Components Deep Dive

Skill: claudeforge-skill

Core Capabilities:

  • Analysis - Scans existing CLAUDE.md files for quality and completeness
  • Validation - Checks against Anthropic guidelines and best practices
  • Generation - Creates new CLAUDE.md files from scratch
  • Enhancement - Adds missing sections and improves structure
  • Template Selection - Chooses appropriate templates based on project context

Quality Scoring (0-100):

  • Length appropriateness (25 pts)
  • Section completeness (25 pts)
  • Formatting quality (20 pts)
  • Content specificity (15 pts)
  • Modular organization (15 pts)

Slash Command: /enhance-claude-md

Multi-phase workflow (Discovery โ†’ Analysis โ†’ Task). Discovery delegates the deep codebase walk to the Explore subagent so it doesn't bloat the calling session. Phase 1 also detects sibling AGENTS.md / .cursorrules / .windsurfrules and chains them via @-imports rather than overwriting. Phase 3 invokes claudeforge-skill via the Skill tool.

Slash Command: /sync-claude-md (with --weekly)

Default mode: inventory every CLAUDE.md, prune stale references, enforce the 150-line cap by splitting into sub-files, repair the root โ†” sub chain. With --weekly, Phase 0 issues the three forked audit skills (claude-md-drift-audit, claude-md-link-check, claude-md-dependency-rescan) in parallel via the Skill tool, aggregates their findings under ## Weekly Audit Summary, then proceeds. Each forked skill runs in an isolated subagent context (context: fork, agent: Explore) so audit work doesn't bloat the calling session.

Agent: claude-md-guardian

Runs model: haiku, fork_safe: true. Hook frontmatter uses Anthropic's canonical keyed-object schema (events: SessionStart, PreToolUse, PostToolUse, InstructionsLoaded). Fail-closed contract: invokes claudeforge-skill exclusively through the Skill tool (never inlines SKILL.md), aborts on missing validated output, never auto-commits, respects hooks/hooks-config.local.json.


๐ŸŽฏ Requirements

  • Claude Code 2.0 or later
  • Git (recommended for change detection)
  • Operating Systems: macOS, Linux, Windows (PowerShell)

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Contribution Steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ› Issues & Support


๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright ยฉ 2025 Alireza Rezvani


๐Ÿ™ Acknowledgments

  • Built for the Claude Code community.
  • The behavioural-guardrail skill adapts the four principles from the MIT-licensed forrestchang/andrej-karpathy-skills (inspired by Andrej Karpathy's commentary on LLM coding pitfalls). Original prose; attribution preserved in skill/karpathy-guidelines/SKILL.md.
  • Several plugin conventions (layered hook config, Stop audit hook, command discovery metadata, paths: scoping on skills, fail-closed contracts) are adapted from the MIT-licensed shanraisshan/claude-code-best-practice. Patterns implemented in original code with attribution in CHANGELOG.md.
  • Anthropic's Claude Code documentation drove the load-event integrations (InstructionsLoaded, all five load_reason matchers) and the context: fork task-style skills.

๐Ÿšฆ Project Status

Version: 2.1.0 (see CHANGELOG.md) Status: โœ… Stable & Production-Ready Requires: Claude Code 2.1.4+ for hooks/InstructionsLoaded/paths: features


๐Ÿ“Š Quick Stats

  • 5 skills (claudeforge-skill, karpathy-guidelines, plus three forked audit skills)
  • 3 slash commands (/enhance-claude-md, /sync-claude-md with --weekly, /claude-to-agents)
  • 1 agent (claude-md-guardian, fail-closed contract)
  • 3 hook scripts wired across PostToolUse, InstructionsLoaded, Stop
  • 5 Python modules under skill/ (analyzer, validator, generator, template_selector, workflow)
  • 7 reference CLAUDE.md templates under skill/examples/
  • 150 โ€” hard line cap per CLAUDE.md, enforced at load time and write time

๐ŸŒŸ Star History

If you find ClaudeForge helpful, please consider giving it a star on GitHub!

Star History Chart


โฌ† Back to Top

Made with โค๏ธ for the Claude Code community