Skip to main content

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.

Python 3.12+ License: MIT

✨ 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:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scaffold_cli-0.1.0.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scaffold_cli-0.1.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

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

Hashes for scaffold_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9288cb7c5349f796f5ebd4fa11975dfe83ec97706ed8ac856785e72cab9bfdb0
MD5 290ae770846fe5645505402736d66474
BLAKE2b-256 206cec9687b854c93f7045635b0c292c65da003f7c6dfa2994d301ac4e5ca613

See more details on using hashes here.

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

Hashes for scaffold_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fb9687f65cea441115e55c75c64ec8916199a7401268ff6ab891126d5954fe7
MD5 c580f3137fceb22414f473c9648a2e21
BLAKE2b-256 cbf301c1cdc102856c9744b5d8e80fbf9b2865d1d7c972a6bc8a6b81ffe26854

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page