npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2026 – Pkg Stats / Ryan Hefner

@rafeekpro/stackwizard

v1.3.0

Published

πŸ§™β€β™‚οΈ Magical full-stack project generator with FastAPI, React, PostgreSQL, and Docker

Readme

πŸ§™β€β™‚οΈ StackWizard CLI

Create production-ready full-stack applications in seconds!

npm version npm downloads License: MIT Node.js GitHub Stars

StackWizard is a powerful CLI tool that generates complete, production-ready full-stack applications with a single command. Get a fully configured project with FastAPI backend, React frontend, PostgreSQL database, and Docker Compose orchestration - all following industry best practices.

✨ Features

Core Stack

  • πŸš€ FastAPI Backend - Modern Python web API with async support, JWT authentication, and 100% type hints
  • βš›οΈ React Frontend - Choose between Material-UI or Tailwind CSS for your UI
  • 🐘 PostgreSQL Database - Production-ready database with Alembic migrations
  • 🐳 Docker Compose - Complete containerized development environment with health checks

Security & Architecture

  • πŸ” Authentication System - JWT-based auth with secure password hashing & refresh tokens
  • πŸ›‘οΈ Security Middleware - Rate limiting, CSRF protection, security headers
  • πŸ—οΈ Service Layer Architecture - Clean separation with Service/Repository patterns
  • πŸ“š API Documentation - Auto-generated Swagger/OpenAPI documentation

Developer Experience

  • πŸ§ͺ Comprehensive Testing - Cypress E2E tests, unit tests, Docker validation
  • 🎭 Visual Testing - Watch Cypress tests run in real-time
  • πŸ› οΈ Pre-Push Validation - Automatic Docker & dependency verification
  • πŸ“Š Test Orchestration - Makefile & custom orchestrator for test management
  • 🎯 Best Practices - Clean architecture, type safety, and production-ready configuration

πŸš€ Quick Start

From GitHub (Current Method)

Clone and run directly:

# Clone the repository
git clone https://github.com/rafeekpro/stackwizard.git
cd stackwizard
npm install

# Run the generator
npm start
# or
node src/index.js

NPM Installation βœ…

Install from NPM registry:

# Global installation
npm install -g @rafeekpro/stackwizard

# Or use npx directly
npx @rafeekpro/stackwizard my-awesome-app

GitHub Packages (Alternative)

Install from GitHub Packages registry:

# Configure npm to use GitHub registry for @rafeekpro scope
npm config set @rafeekpro:registry https://npm.pkg.github.com

# Install globally
npm install -g @rafeekpro/stackwizard

Note: Both NPM and GitHub Packages are now live with version 1.0.0!

πŸ“‹ Usage

Interactive Mode (Recommended)

Simply run the command and follow the interactive prompts:

# From cloned repository
npm start

# Or after global installation
stackwizard

# Or use npx directly (no installation needed!)
npx @rafeekpro/stackwizard

You'll be asked to configure:

  • πŸ“ Project name
  • 🎨 UI library (Material-UI or Tailwind CSS)
  • πŸ—„οΈ Database configuration
  • πŸ”Œ Port settings
  • βœ… Additional features (Git initialization, dependency installation)

Command Line Mode

Skip the prompts with command-line options:

node src/index.js --name my-app --ui mui --skip-git

Available Options

Options:
  -V, --version     Output version number
  -n, --name <name> Project name
  -u, --ui <ui>     UI library (mui or tailwind)
  -s, --skip-git    Skip git initialization
  -i, --install     Install dependencies after creation
  -q, --quick       Quick mode - use all defaults
  -h, --help        Display help

Quick Mode

Generate a project with all defaults in seconds:

node src/index.js --quick --name my-app

πŸ—οΈ Generated Project Structure

your-project/
β”œβ”€β”€ backend/              # FastAPI backend application
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ api/         # API endpoints
β”‚   β”‚   β”œβ”€β”€ core/        # Core configuration & security
β”‚   β”‚   β”œβ”€β”€ crud/        # Database operations
β”‚   β”‚   β”œβ”€β”€ models/      # SQLAlchemy models
β”‚   β”‚   β”œβ”€β”€ schemas/     # Pydantic schemas
β”‚   β”‚   └── main.py      # Application entry point
β”‚   β”œβ”€β”€ alembic/         # Database migrations
β”‚   β”œβ”€β”€ tests/           # Backend tests
β”‚   └── Dockerfile       # Production-ready Dockerfile
β”œβ”€β”€ frontend/            # React frontend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/  # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/       # Page components
β”‚   β”‚   β”œβ”€β”€ services/    # API service layer
β”‚   β”‚   └── App.js       # Main application component
β”‚   β”œβ”€β”€ public/          # Static assets
β”‚   └── Dockerfile       # Production-ready Dockerfile
β”œβ”€β”€ database/            # Database initialization
β”œβ”€β”€ docker-compose.yml   # Docker orchestration
β”œβ”€β”€ .env                 # Environment configuration
└── README.md           # Project documentation

🎯 What You Get

Backend (FastAPI)

  • βœ… RESTful API with async/await support
  • βœ… SQLAlchemy ORM with Alembic migrations
  • βœ… JWT authentication & authorization
  • βœ… Request validation with Pydantic
  • βœ… CORS configuration
  • βœ… Health check endpoints
  • βœ… Comprehensive error handling
  • βœ… 100% type hints for better IDE support

Frontend (React)

  • βœ… Modern React with Hooks
  • βœ… React Router for navigation
  • βœ… Axios with request/response interceptors
  • βœ… Authentication context & protected routes
  • βœ… Responsive design
  • βœ… Material-UI or Tailwind CSS styling
  • βœ… Environment-based configuration

Database (PostgreSQL)

  • βœ… PostgreSQL 15 with optimal settings
  • βœ… Database migrations with Alembic
  • βœ… Connection pooling
  • βœ… Automated backup support
  • βœ… Health monitoring

DevOps (Docker)

  • βœ… Multi-stage Dockerfiles for optimal image size
  • βœ… Docker Compose with health checks
  • βœ… Hot-reload for development
  • βœ… Production-ready configuration
  • βœ… Optional Redis & Nginx services

πŸš€ Running Your Generated Project

After generation, start your full-stack application with:

cd your-project
docker-compose up -d

Your application will be available at:

  • 🌐 Frontend: http://localhost:3000
  • πŸš€ Backend API: http://localhost:8000
  • πŸ“š API Documentation: http://localhost:8000/docs

πŸ› οΈ Development Workflow

Without Docker

Backend Development:

cd backend
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload

Frontend Development:

cd frontend
npm install
npm start

Database Migrations

# Create a new migration
alembic revision --autogenerate -m "Description"

# Apply migrations
alembic upgrade head

πŸ§ͺ Testing & Validation

Visual Testing with Cypress

Watch your tests run in real-time:

# Install Cypress
make cypress-install

# Test MUI template visually
make cypress-mui

# Test Tailwind template visually
make cypress-tailwind

Pre-Push Validation

Ensure everything works before pushing to GitHub:

# Full validation (recommended)
npm run validate:full

# Quick validation
npm run validate:quick

# Install git hooks for automatic validation
npm run install-hooks

Test Orchestration

Run comprehensive tests with a single command:

# Using Makefile
make test-all        # Run all tests
make pre-commit      # Pre-commit checks
make docker-build-test  # Test Docker builds

# Using orchestrator
npm run test:orchestrate       # Smart mode
npm run test:orchestrate:full  # Full test suite

πŸ“¦ System Requirements

  • Node.js 16.0.0 or higher
  • npm 7.0.0 or higher
  • Docker & Docker Compose (for running generated projects)
  • Python 3.11+ (for local backend development)

🀝 Contributing

Contributions are welcome! Feel free to:

  • Report bugs and request features via GitHub Issues
  • Submit pull requests with improvements
  • Share feedback and suggestions

πŸ“„ License

MIT Β© RafaΕ‚ Łagowski

πŸ‘¨β€πŸ’» Author

RafaΕ‚ Łagowski - Full-Stack Developer

πŸ™ Technologies Used

This project leverages modern, production-ready technologies:

πŸ“ž Contact & Support