A modern CLI tool for quickly scaffolding development projects
Project description
🚀 Scaffold CLI
A modern, interactive CLI tool for quickly scaffolding development projects with best practices built-in.
✨ Features
- 🎨 Interactive project setup with arrow-key navigation
- 📦 Multiple tech stacks - React, Next.js, Vue, Django, FastAPI, Express
- 🗂️ Monorepo support - Create full-stack projects with frontend + backend
- ✅ Dependency validation - Checks for required tools before installation
- 🔧 Git integration - Automatic repository initialization with first commit
- 🎯 Zero configuration - Just pick your stack and go!
📋 Requirements
- Python 3.12 or higher
- Git (optional, but recommended)
For specific projects:
- Node.js 18+ and npm (for JavaScript/TypeScript projects)
- Python 3.10+ (for Python projects)
🔧 Installation
Using pipx (Recommended)
pipx install scaffold-cli
Using pip
pip install scaffold-cli
From source
git clone https://github.com/Njau-dev/scaffold-cli.git
cd scaffold-cli
poetry install
poetry run scaffold --help
🚀 Quick Start
Create a single project
scaffold new my-awesome-app
Follow the interactive prompts to select your tech stack!
Create a monorepo
scaffold new my-fullstack-app --monorepo
This creates a project with both frontend (web/) and backend (api/) in one repository.
List available templates
scaffold list
📚 Usage Examples
React + Vite Project
$ scaffold new my-react-app
? Select project type: Frontend
? Select frontend: React (Vite)
✨ Success! Created my-react-app
Next steps:
cd my-react-app
npm install
npm run dev
Django API
$ scaffold new my-api
? Select project type: Framework
? Select framework: Django
✨ Success! Created my-api
Next steps:
cd my-api
python3 -m venv venv
source venv/bin/activate
python manage.py migrate
python manage.py runserver
Full-Stack Monorepo
$ scaffold new my-fullstack --monorepo
? Select frontend: Next.js
? Select backend: FastAPI
✨ Success! Created monorepo: my-fullstack
Structure:
my-fullstack/
├── web/ (Next.js)
├── api/ (FastAPI)
└── README.md
📦 Supported Technologies
Frontend
- React (Vite) - Fast, modern React development
- React + TypeScript (Vite) - Type-safe React
- Next.js - Full-featured React framework
- Vue (Vite) - Progressive JavaScript framework
Backend APIs
- Express.js - Fast, minimalist Node.js framework
- FastAPI - Modern Python API framework
Full-Stack Frameworks
- Django - Batteries-included Python framework
🛠️ Commands
| Command | Description |
|---|---|
scaffold new <name> |
Create a new project |
scaffold new <name> --monorepo |
Create a monorepo |
scaffold list |
List all available templates |
scaffold info |
Show CLI information |
scaffold version |
Show version |
scaffold --help |
Show help message |
🎯 Roadmap
- More templates (Laravel, Ruby on Rails, Go)
- Custom template support
- Remote templates from GitHub
- Docker setup automation
- CI/CD template generation
- Database setup integration
- Environment variable management
🤝 Contributing
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Setup
# Clone the repository
git clone https://github.com/Njau-dev/scaffold-cli.git
cd scaffold-cli
# Install dependencies
poetry install
# Run tests
poetry run pytest
# Run the CLI locally
poetry run scaffold new test-project
# Format code
poetry run black src/
🐛 Bug Reports
Found a bug? Please open an issue with:
- Your OS and Python version
- Steps to reproduce
- Expected vs actual behavior
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built with Typer for CLI framework
- Styled with Rich for beautiful terminal output
- Interactive prompts powered by Questionary
📬 Contact
Jeff Njau - @yourtwitter
Project Link: https://github.com/Njau-dev/scaffold-cli
Made with ❤️ by Jeff Njau
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 scaffold_cli-0.1.0.tar.gz.
File metadata
- Download URL: scaffold_cli-0.1.0.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.8.0-87-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9288cb7c5349f796f5ebd4fa11975dfe83ec97706ed8ac856785e72cab9bfdb0
|
|
| MD5 |
290ae770846fe5645505402736d66474
|
|
| BLAKE2b-256 |
206cec9687b854c93f7045635b0c292c65da003f7c6dfa2994d301ac4e5ca613
|
File details
Details for the file scaffold_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: scaffold_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.8.0-87-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fb9687f65cea441115e55c75c64ec8916199a7401268ff6ab891126d5954fe7
|
|
| MD5 |
c580f3137fceb22414f473c9648a2e21
|
|
| BLAKE2b-256 |
cbf301c1cdc102856c9744b5d8e80fbf9b2865d1d7c972a6bc8a6b81ffe26854
|