ClaudeForge CLI
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.
🚀 Quick Start
Installation
# Install from crates.io (when published)
# Or build from source
Create Your First Project
# Create a new Rust project
# Create a Go project in a specific directory
# Skip confirmation prompts
📋 Commands
new - Create a new project
# Arguments:
# <LANGUAGE> Language template to use (rust, go)
# <NAME> Project name
# Options:
# -d, --directory <DIR> Target directory (defaults to current directory)
# -y, --yes Skip interactive prompts
list - List available templates
# Shows all available templates with descriptions
update - Update cached templates
# Updates all templates to their latest versions
version - Show version information
🎯 Features
- Multi-language support: Currently supports Rust and Go 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
- Offline support: Caches templates locally for faster project creation
- Cross-platform: Works on macOS, Linux, and Windows
📁 Project Structure
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
🛠️ Development
Prerequisites
- Rust 1.70.0 or later
- Git (for repository operations)
Building from Source
# Clone the repository
# Build the project
# Run tests
# Install locally
Development Commands
# Run with just
# Or use cargo directly
🤖 Claude Code Integration
Each 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
Template Features
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
📦 Template Registry
ClaudeForge uses a registry system to manage templates:
# Built-in templates
[[]]
= "rust-claude-code"
= "rust"
= "https://github.com/iepathos/rust-claude-code"
= "Comprehensive Rust starter template with Claude Code guidelines"
[[]]
= "go-claude-code"
= "go"
= "https://github.com/iepathos/go-claude-code"
= "Go project template optimized for Claude Code development"
🔧 Configuration
Global Configuration
Create ~/.config/claudeforge/config.toml:
[]
= "Your Name"
= "your.email@example.com"
= "~/projects"
[]
= "~/.cache/claudeforge"
= true
= 7
Template Customization
Templates 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)
🚀 Example Usage
Creating a Rust Web Service
# The project is ready for Claude Code development
Creating a Go CLI Tool
# Start developing immediately
🔍 Troubleshooting
Common Issues
Template not found:
# Update template cache
# List available templates
Git not found:
# Install git on your system
# macOS: brew install git
# Ubuntu: sudo apt install git
# Windows: Download from git-scm.com
Permission denied:
# Ensure you have write permissions to the target directory
🤝 Contributing
We 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
Adding New Templates
To add support for a new language:
- Create a template repository with the language structure
- Add template configuration to
src/config/templates.toml - Test the template creation process
- Update documentation
📝 License
MIT License - see LICENSE file for details.
🎯 Roadmap
- 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.