Production-ready governance framework for Claude Code.
Claude Forge provides security guardrails, TDD workflows, and consistent configuration for Claude Code across all your projects.
- Skills Architecture (v0.2.0): Modular, on-demand context loading for reduced token overhead
- Security-first configuration with blocked access to secrets, credentials, and sensitive files
- Test-driven development workflows built-in
- Multi-language support (Python, Rust, Node/TypeScript, C, C++, Bash, Terraform, Terragrunt, Ansible)
- MkDocs documentation standard with mkdocs-material theme
- Personalized setup via interactive questionnaire
- Per-repository auto-configuration on first session
- Automatic backup before any changes
- Cross-platform (Linux, macOS, Windows)
- AGENTS.md symlink for cross-tool compatibility (Cursor, Codex, etc.)
curl -sSL https://raw.githubusercontent.com/martimramos/claude-forge/main/install.sh | bashiwr -useb https://raw.githubusercontent.com/martimramos/claude-forge/main/install.ps1 | iexThe installer will:
- Check prerequisites (git required, claude CLI recommended)
- Backup existing ~/.claude/ if present
- Run an interactive questionnaire
- Generate personalized configuration
- Install skills to ~/.claude/skills/
- Install to ~/.claude/
- git (required)
- claude CLI (recommended) - install with
npm install -g @anthropic-ai/claude-code
~/.claude/
├── CLAUDE.md # Slim config with skill pointers (~50 lines)
├── settings.json # Permissions + claude-forge metadata
├── .forge-answers # Saved questionnaire answers
├── commands/
│ ├── init-repo.md # Per-repo initialization
│ └── tdd.md # TDD workflow
└── skills/ # Modular skills (v0.2.0)
├── security/
│ ├── SKILL.md
│ └── reference/
├── tdd/
│ ├── SKILL.md
│ └── scripts/
├── conventions/
│ ├── SKILL.md
│ └── reference/
├── docs/
│ └── SKILL.md
└── languages/
├── python/
├── rust/
├── node/
├── typescript/
├── c/
├── cpp/
├── bash/
├── terraform/
├── terragrunt/
└── ansible/
Claude Forge v0.2.0 introduces a modular skills architecture following Anthropic's Agent Skills best practices.
- Reduced Token Overhead: Context loads on-demand, not all at startup
- Executable Validation: Scripts for TDD gates and Terraform checks
- Maintainability: Easy to extend or customize individual skills
- Backward Compatible: Previous configs are backed up and migrated
| Skill | Description | Contents |
|---|---|---|
security |
Credential protection, blocked patterns | SKILL.md + reference docs |
tdd |
Test-driven workflow, gates | SKILL.md + validation scripts |
conventions |
Git commit style, branch naming | SKILL.md + examples |
docs |
MkDocs documentation standards | SKILL.md + templates |
Each language skill includes testing, linting, formatting commands and project structure templates:
languages/python- pytest, ruff, mypylanguages/rust- cargo test, clippy, rustfmtlanguages/node- npm test, eslint, prettierlanguages/typescript- tsc, jest, eslintlanguages/c- make, gcc, cppcheck, valgrindlanguages/cpp- cmake, clang++, clang-tidylanguages/bash- bats, shellcheck, shfmtlanguages/terraform- terraform validate, tflint, plan scriptslanguages/terragrunt- terragrunt validate, hclfmtlanguages/ansible- ansible-lint, molecule
During installation, you'll be asked:
| Question | Options | Default |
|---|---|---|
| Name | Free text | Required |
| Organization | Free text | Optional |
| Role | Free text | Optional |
| Languages | python rust node typescript bash c cpp terraform terragrunt ansible | python |
| Git style | Conventional Commits / Freeform | Conventional |
| Branch naming | feature/ / initials/ / Freeform | feature/ |
| Test gate | Soft (warn) / Hard (block) | Soft |
| Network mode | Ask each time / Allow known registries | Ask |
Run the installer again to reconfigure. Your previous config will be backed up automatically.
These files are NEVER accessible, regardless of any prompt or instruction:
.env,.env.*,*.env- Files containing
secret,credential,password,tokenin name ~/.ssh/*(SSH keys)~/.aws/*(AWS credentials)~/.config/gcloud/*(GCP credentials)~/.azure/*(Azure credentials)*_rsa,*_ed25519,*.pem,*.key.npmrc,.pypirc,.netrc,*kubeconfig*
- Network requests (WebFetch, curl, wget)
- git push, merge, rebase
- terraform plan, terragrunt plan
- ansible-playbook --check
Infrastructure commands that could cause damage:
terraform apply,terraform destroy,terraform importterragrunt apply,terragrunt destroy,terragrunt run-all apply/destroyansible-playbook(without --check)kubectl apply,kubectl delete,kubectl createpulumi up,pulumi destroyhelm install,helm upgrade,helm deleterm -rf,sudo rm,chmod 777
Claude must show the plan/diff first and wait for explicit human approval.
Claude Forge enforces test-driven development:
- Red: Write failing tests first. No implementation code.
- Green: Write minimal code to pass tests. No extras.
- Refactor: Clean up while keeping tests green.
- Document: Update docs only after tests pass.
- Commit: Stage and commit with proper message.
Soft (default): Warns when tests fail but allows continuing. Recommended for exploratory work.
Hard: Blocks all progress until tests pass. Recommended for production code.
# Check current gate status
~/.claude/skills/tdd/scripts/gate-status.sh
# Run project tests
~/.claude/skills/tdd/scripts/check-tests.shOn first session in a new repository (no CLAUDE.md present), Claude will:
- Detect project languages
- Ask about project conventions
- Ask if MkDocs should be initialized
- Generate project CLAUDE.md
- Generate .claude/settings.json
- Create AGENTS.md symlink
- Offer to commit the configuration
Run the installer again:
curl -sSL https://raw.githubusercontent.com/martimramos/claude-forge/main/install.sh | bashYour existing config is backed up automatically. Previous answers are preserved.
curl -sSL https://raw.githubusercontent.com/martimramos/claude-forge/main/uninstall.sh | bashiwr -useb https://raw.githubusercontent.com/martimramos/claude-forge/main/uninstall.ps1 | iexBackups are created automatically before:
- Installing (if ~/.claude/ exists)
- Updating
- Uninstalling
Location: ~/.claude.backup.YYYYMMDD-HHMMSS/
Retention: Last 3 backups are kept. Older ones are pruned automatically.
claude-forge/
├── README.md # This file
├── LICENSE # The Unlicense (public domain)
├── CHANGELOG.md
├── install.sh # Bash installer
├── install.ps1 # PowerShell installer
├── uninstall.sh # Bash uninstaller
├── uninstall.ps1 # PowerShell uninstaller
├── templates/ # Configuration templates
│ ├── global/
│ ├── project/
│ └── commands/
├── skills/ # Modular skills (v0.2.0)
│ ├── security/
│ ├── tdd/
│ ├── conventions/
│ ├── docs/
│ └── languages/
└── lib/ # Shared utilities
Contributions welcome. Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test on Linux/macOS and Windows if possible
- Submit a pull request
This is free and unencumbered software released into the public domain.
See LICENSE for details.