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.
- 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
--jsonfor CI/CD automation - Deterministic Builds - Lock files for reproducible project creation
- Cross-Platform - macOS, Linux, Windows with native binaries
curl -fsSL https://raw.githubusercontent.com/Sehnya/peezy-cli/main/install.sh | bashirm https://raw.githubusercontent.com/Sehnya/peezy-cli/main/install.ps1 | iex# Homebrew (macOS/Linux)
brew tap Sehnya/peezy
brew install peezy
# Scoop (Windows)
scoop bucket add peezy https://github.com/Sehnya/peezy-scoop
scoop install peezynpm install -g peezy-cli
# Or use without installing
npx peezy-cli newpeezy --version
peezy --help# Interactive mode - guided setup
peezy new
# Or specify template directly
peezy new nextjs-fullstack my-app
cd my-app
npm run dev| 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 |
| 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 |
| Template | Description |
|---|---|
express-typescript |
Express.js + TypeScript + REST API structure |
flask |
Python Flask with project structure |
fastapi |
Python FastAPI with async support |
| Template | Description |
|---|---|
flask-bun-hybrid |
Flask backend + Bun/React frontend |
# Interactive
peezy new
# Direct
peezy new <template> <project-name>
# With options
peezy new express-typescript my-api --databases postgresql --redis --orm drizzle| 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 |
# 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-versionspeezy 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 devpeezy new express-typescript my-api --databases postgresql --redis
cd my-api
docker-compose up -d
npm run dev# 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 --jsonEvery 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.jsonAll templates include:
- TypeScript configuration (where applicable)
- Tailwind CSS (frontend templates)
- ESLint configuration
.env.examplefiles- Docker support (full-stack templates)
- README with setup instructions
peezy.lock.jsonfor reproduction
- Node.js 20.19.0+ (for npm installation)
- Git (optional, for repo initialization)
- Python 3.10+ (for Python templates)
- Docker (optional, for database services)
git clone https://github.com/Sehnya/peezy-cli.git
cd peezy-cli
npm install
npm run build
npm run link:global
npm testPeezy supports fetching templates from multiple sources:
# 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# From npm registry
peezy add npm:create-my-template
peezy new npm:create-my-template my-project
# Specific version
peezy add npm:[email protected]# 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# List cached templates
peezy cache list
# Clear cache
peezy cache clearFeatures in development:
- Migration System - Update existing projects to newer templates
- Plugin System - Extend scaffolding with custom hooks
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 auditSignatures are recorded in the Rekor transparency log for production signing.
- Fork the repository
- Create your 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
See CONTRIBUTING.md for details.
MIT ยฉ Sehnya
peezy new nextjs-fullstack my-next-project