Interactive Python CLI tool that scaffolds new projects optimized for Claude Code development
Project description
create-claude-app
Interactive Python CLI tool that scaffolds new projects optimized for Claude Code development. Creates structured project templates with comprehensive CLAUDE.md files to enable developers to quickly start new projects with Claude Code.
Features
- ๐ Quick Project Setup: Bootstrap new projects in under 2 minutes
- ๐ฏ Interactive Selection: Choose from multiple frontend, backend, and database options
- ๐ป CLI Arguments: Non-interactive mode with full command-line argument support
- ๐ Comprehensive Documentation: Auto-generated CLAUDE.md files for effective AI-assisted development
- ๐๏ธ Clean Architecture: Industry best practices with Domain-Driven Design patterns
- ๐ง Multiple Tech Stacks: Support for React, Vue, Angular, Python, Node.js, Golang, and more
- ๐ฆ Database Integration: MySQL, PostgreSQL, SQLite with Atlas migration tool support
- ๐จ UI Framework Support: Tailwind CSS, shadcn/ui with automatic compatibility checking
- โก Build Tool Selection: Vite, Webpack, Babel + Webpack with optimized configurations
- ๐ GitHub Actions CI/CD: Automated workflow generation for testing and deployment
- ๐ Framework Entry Points: Production-ready entry files for all supported frameworks
- ๐ Enhanced README: Detailed setup, development, and deployment instructions
- ๐ณ Docker Infrastructure: Complete containerization with multi-stage builds and environment-specific configurations
- ๐๏ธ Docker Compose: Development, staging, and production docker-compose files with optimized configurations
- ๐ MCP Integration: Model Context Protocol support with Context7 for enhanced AI-assisted development
Installation
# Install via pip
pip install create-claude-app
# Install via homebrew (coming soon)
brew tap yourusername/create-claude-app
brew install create-claude-app
Usage
Interactive Mode (Default)
# Create a new project with interactive prompts
create-claude-app my-new-project
# Follow the interactive prompts to select your tech stack
CLI Arguments Mode (Non-Interactive)
# Create a project with all options specified via command line
create-claude-app my-project --frontend react --backend python --database mysql
# Mixed mode - some CLI args with defaults for missing options
create-claude-app my-project --frontend vue --ui tailwind
# Use short flags for faster typing
create-claude-app my-project -f react -B python -d postgresql
Available CLI Arguments
| Flag | Short | Options | Default | Description |
|---|---|---|---|---|
--frontend |
-f |
react, vue, angular, none |
none |
Frontend framework |
--backend |
-B |
python, nodejs, golang, none |
none |
Backend language |
--database |
-d |
mysql, postgresql, sqlite, none |
none |
Database system |
--ui |
-u |
tailwind, shadcn, none |
none |
UI framework |
--build-tool |
-b |
vite, webpack, babel |
vite |
Frontend build tool |
--package-manager |
-p |
npm, yarn |
npm |
Package manager |
--atlas |
-a |
flag | false |
Enable Atlas migrations |
--github-actions |
-g |
flag | false |
Enable GitHub Actions |
--mcp |
-m |
flag | true |
Enable MCP integration |
CLI Examples
# Full stack application with all features
create-claude-app my-app \
--frontend react \
--ui shadcn \
--build-tool vite \
--backend python \
--database postgresql \
--package-manager yarn \
--atlas \
--github-actions
# Minimal project with just frontend
create-claude-app simple-app --frontend vue --ui tailwind
# Backend-only API
create-claude-app api-server --backend python --database mysql --atlas
# Help and version information
create-claude-app --help
create-claude-app --version
Interactive Component Selection
The tool will guide you through selecting components for your project:
Frontend Framework Options
- React (TypeScript, modern hooks)
- Vue (Vue 3 with Composition API)
- Angular (Latest Angular with TypeScript)
- Skip
UI Framework Options
- Tailwind CSS (complete setup with configuration)
- shadcn/ui (component library with TypeScript)
- None/Skip
Backend Options
- Python (FastAPI with DDD/Service Layer)
- Node.js (Express.js with TypeScript)
- Golang (Gin framework with clean architecture)
- Skip
Database Options
- MySQL
- PostgreSQL
- SQLite
- Skip
Build Tool Options (for frontend)
- Vite (recommended - fast HMR, optimized builds)
- Webpack (traditional bundling with extensive configuration)
- Babel + Webpack (custom transpilation with webpack bundling)
Additional Options
- Atlas migration tool (recommended)
- Package manager selection (npm, yarn)
- GitHub Actions CI/CD workflows (recommended)
- Docker infrastructure generation (automatic)
- Model Context Protocol (MCP) integration with Context7 (recommended)
- Comprehensive project documentation generation
Generated Project Structure
Full Stack Example
my-project/
โโโ README.md # Comprehensive project documentation
โโโ CLAUDE.md # Main project documentation
โโโ .env.example # Environment variables template
โโโ .mcp.json # Model Context Protocol configuration (if enabled)
โโโ .gitignore
โโโ package.json # Root-level npm scripts, workspaces
โโโ requirements.txt # Project Python dependencies
โโโ docker-compose.yml # Main docker-compose configuration
โโโ docker-compose.dev.yml # Development environment configuration
โโโ docker-compose.staging.yml # Staging environment configuration
โโโ docker-compose.prod.yml # Production environment configuration
โโโ .github/ # GitHub Actions workflows
โ โโโ workflows/
โ โ โโโ ci.yml # Continuous integration
โ โโโ CLAUDE.md # CI/CD documentation
โโโ infra/ # Docker infrastructure
โ โโโ docker/
โ โโโ frontend/
โ โ โโโ Dockerfile # Frontend container (multi-stage build)
โ โโโ backend/
โ โ โโโ Dockerfile # Backend container (Python/Node.js/Golang)
โ โโโ database/
โ โโโ Dockerfile # Database container (MySQL/PostgreSQL)
โโโ frontend/ # React/Vue/Angular application
โ โโโ CLAUDE.md # Frontend-specific documentation
โ โโโ package.json
โ โโโ vite.config.ts # Build tool configuration
โ โโโ src/
โ โ โโโ main.tsx # Application entry point
โ โ โโโ App.tsx # Main component
โ โโโ public/
โ โโโ ...
โโโ backend/ # Python/Node.js/Golang API
โ โโโ CLAUDE.md # Backend-specific documentation
โ โโโ app/
โ โ โโโ main.py # FastAPI application entry point
โ โ โโโ api/ # API routes
โ โ โโโ domain/ # Domain models
โ โ โโโ services/ # Business logic
โ โ โโโ repositories/ # Data access layer
โ โโโ requirements.txt
โ โโโ Dockerfile # Container configuration
โ โโโ ...
โโโ migrations/ # Database migrations (Atlas)
โโโ CLAUDE.md # Migration documentation
โโโ atlas.hcl # Atlas configuration
CLAUDE.md Documentation
Each generated project includes comprehensive CLAUDE.md files containing:
- Project Description Template
- Technology Stack Overview (including build tools and CI/CD)
- Environment Setup Instructions
- Development Commands (framework-specific with build tools)
- Architecture Patterns
- Coding Standards
- Testing Guidelines
- Build and Deployment Instructions
- CI/CD Pipeline Documentation (if GitHub Actions selected)
- Docker Commands and Infrastructure (complete containerization guide)
- MCP Integration Guide (if Context7 MCP enabled)
- AI API Keys Setup (ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY)
Environment Variables
Generated projects include .env.example templates with:
# AI API Keys
ANTHROPIC_API_KEY=your_anthropic_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here
# Database Configuration
DATABASE_URL=your_database_url_here
DB_HOST=localhost
DB_PORT=5432
# Application Settings
ENV=development
DEBUG=true
PORT=8000
Requirements
- Python 3.8+
- Cross-platform compatibility (Windows, macOS, Linux)
Development
# Clone the repository
git clone https://github.com/swhsiang/create-claude-app.git
cd create-claude-app
# Install in development mode
pip install -e .
pip install -r requirements-dev.txt
# Run tests
pytest tests/ -v
pytest tests/ --cov=src/create_claude_app
# Run with coverage report
pytest tests/ --cov=src/create_claude_app --cov-report=html
Contributing
- Fork the repository
- Create a feature branch
- Follow Google Python Style Guide
- Add tests for new functionality
- Submit a pull request
Issues and Support
Report issues at: https://github.com/swhsiang/create-claude-app/issues
License
MIT License - see LICENSE file for details
Roadmap
โ Recently Completed (v0.4.0)
- CLI Arguments: Complete non-interactive mode with all project options
- Mixed Mode Support: Partial CLI args with intelligent defaults
- Enhanced Validation: CLI argument compatibility checking
- Backward Compatibility: Maintained interactive mode when no args provided
- Comprehensive Help: Detailed CLI documentation with all valid options
โ Previous Features (v0.3.0)
- Docker Infrastructure: Complete containerization with multi-stage builds
- Environment-Specific Configurations: dev, staging, prod docker-compose files
- MCP Integration: Model Context Protocol support with Context7
- Enhanced Documentation: MCP setup and integration guides
โ Features (v0.2.0)
- Frontend Build Tools: Vite, Webpack, Babel + Webpack support
- GitHub Actions CI/CD: Comprehensive workflow generation
- Framework Entry Points: React, Vue, Angular, Python entry files
- Enhanced README Generation: Detailed development instructions
- Build Tool Configurations: Vite and Webpack config files
- Package Manager Selection: npm, yarn support
๐ In Progress
- Testing Framework Integration: Jest, Vitest, Pytest templates
- Database ORM Integration: Prisma, SQLAlchemy, TypeORM
๐ Planned Features
- IDE Configuration Files: VS Code, JetBrains settings
- Deployment Templates: Vercel, Netlify, AWS, GCP configurations
- Kubernetes Support: Helm charts and k8s manifests
- Advanced MCP Features: Custom server configurations and additional MCP servers
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 create_claude_app-0.4.0.tar.gz.
File metadata
- Download URL: create_claude_app-0.4.0.tar.gz
- Upload date:
- Size: 50.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9008ef8568aeb75e5e129b2c603e2b8ff789d1d6ce1e990c6e1958c2020e6c82
|
|
| MD5 |
f438f399e723a8b71631f80ebb471ada
|
|
| BLAKE2b-256 |
a95344620853491a344b189e9cccaddc0a46938eb862de9a77021f7525df97c2
|
Provenance
The following attestation bundles were made for create_claude_app-0.4.0.tar.gz:
Publisher:
publish.yml on swhsiang/create-claude-app
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
create_claude_app-0.4.0.tar.gz -
Subject digest:
9008ef8568aeb75e5e129b2c603e2b8ff789d1d6ce1e990c6e1958c2020e6c82 - Sigstore transparency entry: 272307164
- Sigstore integration time:
-
Permalink:
swhsiang/create-claude-app@59fb87afe72f324931cea35809ca9afc9ec5ddf9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/swhsiang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@59fb87afe72f324931cea35809ca9afc9ec5ddf9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file create_claude_app-0.4.0-py3-none-any.whl.
File metadata
- Download URL: create_claude_app-0.4.0-py3-none-any.whl
- Upload date:
- Size: 31.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a306ff816e906d8a8311e51216ee057f51cf7cd52753b28d6f77e81523121a3e
|
|
| MD5 |
74ad9978f2737ba55a08fe02e00c579f
|
|
| BLAKE2b-256 |
df0f9d31cc024771e2a6ee87089e211d3ba615cd9310863ad0f501aa97af4a57
|
Provenance
The following attestation bundles were made for create_claude_app-0.4.0-py3-none-any.whl:
Publisher:
publish.yml on swhsiang/create-claude-app
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
create_claude_app-0.4.0-py3-none-any.whl -
Subject digest:
a306ff816e906d8a8311e51216ee057f51cf7cd52753b28d6f77e81523121a3e - Sigstore transparency entry: 272307167
- Sigstore integration time:
-
Permalink:
swhsiang/create-claude-app@59fb87afe72f324931cea35809ca9afc9ec5ddf9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/swhsiang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@59fb87afe72f324931cea35809ca9afc9ec5ddf9 -
Trigger Event:
push
-
Statement type: