A command-line tool that streamlines the creation of new projects optimized for development with Claude Code. ClaudeForge provides a simple interface to scaffold projects in multiple languages using curated templates that include comprehensive AI development guidelines, proper gitignore configurations, and best practices baked into the project structure.
curl -fsSL https://raw.githubusercontent.com/iepathos/claudeforge/HEAD/install.sh | bashOr download tarball directly from github releases (replace VERSION and OS/ARCH as needed)
# Example: claudeforge-0.1.6-x86_64-apple-darwin.tar.gz
curl -LO https://github.com/iepathos/claudeforge/releases/latest/download/claudeforge-VERSION-OS-ARCH.tar.gz
tar -xzf claudeforge-*.tar.gz
sudo mv claudeforge /usr/local/bin/# Install from crates.io
cargo install claudeforge
# Or build from source
git clone https://github.com/iepathos/claudeforge.git
cd claudeforge
cargo build --release# Create a new Rust project
claudeforge new rust my-awesome-project
# Create a Go project in a specific directory
claudeforge new go my-service --directory ~/projects
# Skip confirmation prompts
claudeforge new rust my-project --yesclaudeforge new <LANGUAGE> <NAME> [OPTIONS]
# Arguments:
# <LANGUAGE> Language template to use (rust, go, python)
# <NAME> Project name
# Options:
# -d, --directory <DIR> Target directory (defaults to current directory)
# -y, --yes Skip interactive promptsclaudeforge list
# Shows all available templates with descriptionsclaudeforge update
# Updates only the templates you've previously used
# Templates are cached locally when you first use them with 'claudeforge new'claudeforge version- Multi-language support: Currently supports Rust, Go, and Python templates
- AI-optimized templates: Pre-configured with CLAUDE.md guidelines
- Git integration: Automatically initializes clean git repositories
- Template customization: Replaces project placeholders with your values
- Smart caching: Templates are cached on first use for faster subsequent project creation
- Cross-platform: Works on macOS, Linux, and Windows
ClaudeForge creates projects with the following structure:
my-project/
βββ src/ # Source code
βββ tests/ # Test files
βββ CLAUDE.md # Claude Code development guidelines
βββ .gitignore # Language-specific gitignore
βββ README.md # Project documentation
βββ Cargo.toml # Rust: Project manifest
βββ go.mod # Go: Module definition
βββ pyproject.toml # Python: Project configuration
- Rust 1.70.0 or later
- Git (for repository operations)
# Clone the repository
git clone https://github.com/iepathos/claudeforge.git
cd claudeforge
# Build the project
cargo build --release
# Run tests
cargo test
# Install locally
cargo install --path .# Run with just
just fmt # Format code
just lint # Run clippy
just test # Run all tests
just build # Build release binary
# Or use cargo directly
cargo fmt
cargo clippy -- -D warnings
cargo test
cargo build --releaseEach generated project includes a comprehensive CLAUDE.md file that provides:
- Architecture guidelines: Error handling, concurrency patterns, and configuration management
- Code style standards: Documentation, logging, and testing requirements
- Development patterns: Best practices and anti-patterns specific to each language
- Example prompts: How to effectively communicate with Claude for various tasks
Rust Templates:
- Pre-configured
Cargo.tomlwith common dependencies - Async/await support with tokio
- Comprehensive error handling with
anyhow - Testing setup with unit and integration tests
- CLI argument parsing with
clap
Go Templates:
- Modern Go module structure
- Context-aware error handling
- Structured logging setup
- Testing patterns and examples
- CLI framework integration
Python Templates:
- Modern Python project structure with pyproject.toml
- Virtual environment and dependency management
- Comprehensive testing with pytest
- Type hints and mypy configuration
- CLI framework integration with Click
ClaudeForge uses a built-in registry system to manage templates. Currently, templates are defined in the source code with the following built-in templates:
- Rust: Comprehensive Rust starter template with Claude Code guidelines
- Go: Go project template optimized for Claude Code development
- Python: Python project template with Claude Code integration
Templates are cached locally when first used with claudeforge new and can be updated from their respective GitHub repositories using claudeforge update.
Create ~/.config/claudeforge/config.toml:
[defaults]
author_name = "Your Name"
author_email = "your.email@example.com"
default_directory = "~/projects"
[templates]
cache_directory = "~/.cache/claudeforge"
auto_update = true
update_interval_days = 7Templates support placeholder replacement:
{{PROJECT_NAME}}- Project name{{AUTHOR_NAME}}- Author name from git config{{AUTHOR_EMAIL}}- Author email from git config{{CURRENT_DATE}}- Current date (YYYY-MM-DD)
claudeforge new rust my-web-service
cd my-web-service
# The project is ready for Claude Code development
claude code .claudeforge new go my-cli-tool --directory ~/work/projects
cd ~/work/projects/my-cli-tool
# Start developing immediately
go run main.goclaudeforge new python my-python-app
cd my-python-app
# Set up virtual environment and start developing
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .Template not found:
# List available templates
claudeforge list
# Create a project to cache the template
claudeforge new rust my-project
# Update cached templates
claudeforge updateGit not found:
# Install git on your system
# macOS: brew install git
# Ubuntu: sudo apt install git
# Windows: Download from git-scm.comPermission denied:
# Ensure you have write permissions to the target directory
chmod +w target-directoryWe welcome contributions to ClaudeForge! Please see our contribution guidelines:
- Fork the repository
- Create a feature branch
- Make your changes following the guidelines in
CLAUDE.md - Ensure all tests pass:
just test - Submit a pull request
To add support for a new language:
- Create a template repository with the language structure
- Add template configuration to
src/template/registry.rs - Update the
Languageenum insrc/cli.rs - Test the template creation process
- Update documentation
GPL-3.0 License - see LICENSE file for details.
- Additional language templates (Python, JavaScript, TypeScript)
- Custom template support from local directories
- Template versioning and rollback
- Interactive template selection
- Plugin system for custom processors
- Integration with popular project hosting platforms
Happy coding with ClaudeForge! π¨π€
Create better projects faster with AI-optimized templates and get straight to building amazing software.