Skip to content

A cross-runtime terminal tool that scaffolds opinionated starter applications for JavaScript (Bun/Node), Python (Flask/FastAPI), and front-end frameworks (React/Vite, Vue/Vite), with built-in Tailwind CSS options.

Notifications You must be signed in to change notification settings

Sehnya/peezy-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Peezy CLI

Fast, offline-first project scaffolding with curated full-stack templates

A CLI tool for scaffolding modern applications with production-ready templates. All templates are embedded locally for instant, offline project creation.

npm version GitHub release License: MIT

Features

  • 10 Production-Ready Templates - Full-stack, frontend, backend, and Python options
  • Zero Network Required - All templates embedded, works completely offline
  • Interactive & Scriptable - Smart prompts or --json for CI/CD automation
  • Deterministic Builds - Lock files for reproducible project creation
  • Cross-Platform - macOS, Linux, Windows with native binaries

๐Ÿš€ Installation

Quick Install (Recommended)

macOS & Linux

curl -fsSL https://raw.githubusercontent.com/Sehnya/peezy-cli/main/install.sh | bash

Windows (PowerShell)

irm https://raw.githubusercontent.com/Sehnya/peezy-cli/main/install.ps1 | iex

Package Managers

# Homebrew (macOS/Linux)
brew tap Sehnya/peezy
brew install peezy

# Scoop (Windows)
scoop bucket add peezy https://github.com/Sehnya/peezy-scoop
scoop install peezy

npm

npm install -g peezy-cli

# Or use without installing
npx peezy-cli new

Verify Installation

peezy --version
peezy --help

Quick Start

# Interactive mode - guided setup
peezy new

# Or specify template directly
peezy new nextjs-fullstack my-app
cd my-app
npm run dev

๐ŸŽจ Available Templates

Hero Templates (Full-Stack)

Template Description
nextjs-fullstack Next.js 14 + NextAuth.js + Drizzle ORM + PostgreSQL + Tailwind
express-fullstack Express + React + Vite + TypeScript + Docker
react-spa-advanced React + Vite + Zustand + React Router + Vitest

Frontend Templates

Template Description
nextjs-app-router Next.js 14 + App Router + TypeScript + Tailwind
bun-react-tailwind Bun + React + Vite + Tailwind CSS
vite-vue-tailwind Vue 3 + Vite + Tailwind CSS

Backend Templates

Template Description
express-typescript Express.js + TypeScript + REST API structure
flask Python Flask with project structure
fastapi Python FastAPI with async support

Hybrid

Template Description
flask-bun-hybrid Flask backend + Bun/React frontend

๐Ÿ“‹ Commands

Project Creation

# Interactive
peezy new

# Direct
peezy new <template> <project-name>

# With options
peezy new express-typescript my-api --databases postgresql --redis --orm drizzle

Options

Option Description
-p, --pm <pm> Package manager: bun, npm, pnpm, yarn
--no-install Skip dependency installation
--no-git Skip git initialization
--databases <list> Databases: postgresql, mysql, sqlite, mongodb
--redis Include Redis configuration
--orm <orm> ORM: prisma, drizzle, both
--json Output JSON for scripting

Other Commands

# List templates
peezy list

# Health check
peezy doctor

# Environment validation
peezy env check
peezy env diff

# Reproduce from lock file
peezy reproduce my-project --lock-file peezy.lock.json

# Verify project integrity
peezy verify --project-path ./my-project

# Check for version updates
peezy check-versions

Examples

Full-Stack App with Database

peezy new nextjs-fullstack my-startup
cd my-startup

# Set up database
cp .env.example .env.local
# Edit .env.local with your DATABASE_URL

npm run db:generate
npm run db:migrate
npm run dev

API with PostgreSQL and Redis

peezy new express-typescript my-api --databases postgresql --redis
cd my-api
docker-compose up -d
npm run dev

CI/CD Integration

# JSON output for automation
peezy new nextjs-app-router app --json --no-install | jq '.data.project.path'

# Verify project integrity
peezy verify --project-path ./app --json

Deterministic Builds

Every project includes peezy.lock.json with:

  • Template name and version
  • SHA256 checksums for all files
  • Build options used
  • Creation timestamp
# Share lock file with team
peezy new nextjs-app-router my-app
# Share my-app/peezy.lock.json

# Reproduce identical project
peezy reproduce team-project --lock-file peezy.lock.json

Template Features

All templates include:

  • TypeScript configuration (where applicable)
  • Tailwind CSS (frontend templates)
  • ESLint configuration
  • .env.example files
  • Docker support (full-stack templates)
  • README with setup instructions
  • peezy.lock.json for reproduction

Requirements

  • Node.js 20.19.0+ (for npm installation)
  • Git (optional, for repo initialization)
  • Python 3.10+ (for Python templates)
  • Docker (optional, for database services)

Development

git clone https://github.com/Sehnya/peezy-cli.git
cd peezy-cli
npm install
npm run build
npm run link:global
npm test

Remote Templates

Peezy supports fetching templates from multiple sources:

GitHub

# From a GitHub repo
peezy add github:owner/repo
peezy new github:owner/repo my-project

# Specific branch
peezy add github:owner/repo#develop

# Subdirectory in repo
peezy add github:owner/repo/templates/react

npm

# From npm registry
peezy add npm:create-my-template
peezy new npm:create-my-template my-project

# Specific version
peezy add npm:[email protected]

Template Registry

# From peezy registry (scoped packages)
peezy add @peezy/nextjs-enterprise
peezy new @peezy/[email protected] my-project

# Search templates
peezy search react

# List remote templates
peezy list --remote

Cache Management

# List cached templates
peezy cache list

# Clear cache
peezy cache clear

Roadmap

Features in development:

  • Migration System - Update existing projects to newer templates
  • Plugin System - Extend scaffolding with custom hooks

Security

Peezy CLI includes Sigstore integration for template signing and verification:

# Sign a template (opens browser for OIDC auth)
peezy sign ./my-template

# Create development signature (no auth required)
peezy sign ./my-template --dev

# Verify a template signature
peezy verify-template ./my-template

# Manage trusted signers
peezy trust list
peezy trust add [email protected]
peezy trust remove [email protected]

# Security audit
peezy audit

Signatures are recorded in the Rekor transparency log for production signing.

Contributing

  1. Fork the repository
  2. Create your 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

See CONTRIBUTING.md for details.

License

MIT ยฉ Sehnya


peezy new nextjs-fullstack my-next-project

About

A cross-runtime terminal tool that scaffolds opinionated starter applications for JavaScript (Bun/Node), Python (Flask/FastAPI), and front-end frameworks (React/Vite, Vue/Vite), with built-in Tailwind CSS options.

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published