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

stacksy-cli

v1.0.0

Published

Interactive project scaffolding CLI for modern full-stack applications. Scaffold production-ready projects with Next.js, auth, databases, ORMs, UI libraries, payments, and more — in seconds.

Readme


🚀 Quick Start

# Run directly with npx (no installation required)
npx stacksy-cli create

# Or install globally
npm install -g stacksy-cli
stacksy create my-app

✨ Features

  • 14 Frameworks — Next.js, Remix, Nuxt, SvelteKit, Astro, Vite (React/Vue/Svelte), Angular, Express, Fastify, NestJS, Hono, Gatsby
  • 10 Auth Solutions — Auth.js, Clerk, Better Auth, Lucia, Supabase Auth, Firebase Auth, Kinde, Auth0, Passport.js, AWS Cognito
  • 15 Databases — PostgreSQL, MySQL, SQLite, MongoDB, Redis, Supabase, Neon, PlanetScale, Turso, CockroachDB, and more
  • 9 ORMs — Prisma, Drizzle, TypeORM, Sequelize, Kysely, Knex, Mongoose, MikroORM, Objection.js
  • 20 UI / Styling — Tailwind CSS, shadcn/ui, MUI, Chakra, Mantine, Ant Design, DaisyUI, Radix, NextUI, and more
  • 7 Payment Providers — Stripe, Lemon Squeezy, Paddle, PayPal, Razorpay, Mollie, Square
  • 8 Storage Solutions — Uploadthing, Cloudinary, AWS S3, Cloudflare R2, Supabase Storage, Firebase Storage, MinIO, Vercel Blob
  • 10 Email Services — Resend, SendGrid, Postmark, Mailgun, AWS SES, Nodemailer, Plunk, React Email, Loops, Brevo
  • 10 Analytics — Vercel Analytics, PostHog, Mixpanel, Google Analytics, Plausible, Umami, Amplitude, Segment, Fathom, OpenPanel
  • 7 Testing Tools — Vitest, Jest, Playwright, Cypress, Testing Library, Supertest, MSW
  • 8 Dev Tools — ESLint, Prettier, Biome, Husky, lint-staged, commitlint, Docker, GitHub Actions
  • Smart Compatibility Engine — Automatically validates and resolves conflicts between selections
  • TypeScript / JavaScript — Choose your preferred language
  • 4 Package Managers — npm, pnpm, yarn, bun

📦 Installation

Using npx (Recommended)

No installation required — run directly:

npx stacksy-cli create

Global Installation

# Using npm
npm install -g stacksy-cli

# Using pnpm
pnpm add -g stacksy-cli

# Using yarn
yarn global add stacksy-cli

# Using bun
bun install -g stacksy-cli

Then run from anywhere:

stacksy create my-app

Requirements

  • Node.js ≥ 18.0.0
  • One of: npm, pnpm, yarn, or bun

📖 Usage

Create a New Project

stacksy create

This launches the interactive wizard that guides you through:

  1. Project name & description
  2. Framework selection (grouped by Full-Stack, Frontend, Backend)
  3. Language preference (TypeScript or JavaScript)
  4. Package manager (pnpm, npm, yarn, bun)
  5. Feature selection — pick categories you want:
    • Authentication
    • Database
    • ORM / Data Layer
    • UI / Styling
    • Payments
    • File Storage
    • Email
    • Analytics
    • Testing
    • Developer Tooling
  6. Individual tool selection for each feature (filtered by framework compatibility)
  7. Review summary and confirm
  8. Scaffolding — project files, dependencies, env vars, and git init

With a Project Name

stacksy create my-app

Options

| Flag | Description | | ----------------------- | ------------------------------------------- | | --no-install | Skip automatic dependency installation | | --no-git | Skip git repository initialization | | -t, --template <name> | Use a predefined stack preset (coming soon) |

Example

stacksy create my-saas --no-git

Diagnose a Project

stacksy doctor

Checks your environment for:

  • Node.js version
  • Available package managers
  • package.json presence
  • Environment variable files

Add a Feature (Coming Soon)

stacksy add auth
stacksy add database
stacksy add payments

Remove a Feature (Coming Soon)

stacksy remove auth

🏗️ What Gets Generated

When you run stacksy create, you'll get a complete project with:

my-app/
├── src/
│   ├── app/              # App routes & pages (framework-specific)
│   ├── components/       # Reusable components
│   ├── lib/              # Shared utilities (auth, db, email, etc.)
│   └── styles/           # Global styles
├── tests/                # Test files (if testing selected)
├── e2e/                  # E2E test files (if Playwright/Cypress selected)
├── public/               # Static assets
├── .env.local            # Environment variables (auto-generated)
├── .env.example          # Template for env vars
├── .gitignore
├── package.json          # With all selected dependencies
├── tsconfig.json         # TypeScript config (if TS selected)
├── next.config.mjs       # Framework config (varies)
├── tailwind.config.ts    # Tailwind config (if selected)
├── prisma/schema.prisma  # Prisma schema (if selected)
├── drizzle.config.ts     # Drizzle config (if selected)
├── vitest.config.ts      # Vitest config (if selected)
├── playwright.config.ts  # Playwright config (if selected)
├── eslint.config.js      # ESLint config (if selected)
├── .prettierrc           # Prettier config (if selected)
├── Dockerfile            # Docker config (if selected)
├── .github/workflows/    # GitHub Actions CI (if selected)
└── README.md

Exact structure varies based on your framework and feature selections.


🧠 Architecture

Stacksy is built with a layered, modular architecture:

CLI Entry (Commander) → Prompts (@inquirer/prompts) → Config Engine → Builders → File System

| Layer | Purpose | | -------------------- | ------------------------------------------------------- | | Registry | Declarative catalog of all technologies with metadata | | Prompts | Interactive user input collection | | Config Engine | Translates selections into a resolved configuration | | Compatibility | Validates tech combinations, auto-fixes conflicts | | Builders | Generates files, dependencies, and env vars per feature | | Package Managers | Abstracts npm/pnpm/yarn/bun install commands |


🔧 Development

# Run the CLI in dev mode
pnpm dev

# Run directly with arguments
node bin/cli-entry.js create my-test-app

# Run with debug output
DEBUG=1 node bin/cli-entry.js create

Project Structure

Stacksy/
├── bin/
│   └── cli-entry.js          # CLI entry point
├── src/
│   ├── builders/              # Code generation for each feature
│   │   ├── framework/         # Framework scaffolding (14 frameworks)
│   │   ├── authentication/    # Auth integration code
│   │   ├── database/          # Database driver setup
│   │   ├── orm/               # ORM schema & config generation
│   │   ├── ui/                # UI library setup
│   │   ├── payments/          # Payment integration
│   │   ├── storage/           # File storage setup
│   │   ├── email/             # Email service config
│   │   ├── analytics/         # Analytics integration
│   │   ├── testing/           # Test config generation
│   │   ├── tooling/           # Linting, CI/CD, Docker
│   │   └── env/               # .env file generation
│   ├── commands/              # CLI command handlers
│   │   ├── create/            # Main scaffolding command
│   │   ├── add/               # Add feature (planned)
│   │   ├── remove/            # Remove feature (planned)
│   │   └── doctor/            # Project diagnostics
│   ├── core/                  # Engine modules
│   │   ├── compatibility/     # Validation rules
│   │   ├── config-engine/     # Config builder
│   │   ├── context/           # Session state
│   │   ├── execution-plan/    # Build step ordering
│   │   └── registry/          # Registry facade
│   ├── package-managers/      # npm/pnpm/yarn/bun abstraction
│   ├── prompts/               # Interactive prompt modules
│   │   ├── project/           # Name, description, package manager
│   │   ├── framework/         # Framework & language selection
│   │   ├── features/          # Feature category & tool selection
│   │   └── integrations/      # Additional integration config
│   ├── registry/              # Technology catalog
│   │   ├── frameworks/        # 14 framework definitions
│   │   ├── authentication/    # 10 auth solutions
│   │   ├── databases/         # 15 databases
│   │   ├── orms/              # 9 ORMs
│   │   ├── ui/                # 20 UI libraries
│   │   ├── payments/          # 7 payment providers
│   │   ├── storage/           # 8 storage solutions
│   │   ├── email/             # 10 email services
│   │   ├── analytics/         # 10 analytics platforms
│   │   ├── testing/           # 7 testing tools
│   │   ├── tooling/           # 8 dev tools
│   │   └── integrations/      # 6 integrations
│   └── utils/                 # Shared utilities
│       ├── logger.js          # Terminal output & formatting
│       ├── spinner.js         # Progress spinners
│       ├── filesystem.js      # File operations
│       └── validation.js      # Input validation
├── package.json
└── README.md

📋 Supported Technology Matrix

Frameworks

| Framework | Category | Ecosystem | | ------------- | ---------- | --------- | | Next.js | Full-Stack | React | | Remix | Full-Stack | React | | Nuxt | Full-Stack | Vue | | SvelteKit | Full-Stack | Svelte | | Astro | Full-Stack | Multi | | Vite + React | Frontend | React | | Vite + Vue | Frontend | Vue | | Vite + Svelte | Frontend | Svelte | | Angular | Frontend | Angular | | Gatsby | Frontend | React | | Express | Backend | Node.js | | Fastify | Backend | Node.js | | NestJS | Backend | Node.js | | Hono | Backend | Node.js |

Compatibility Rules

Stacksy automatically enforces compatibility:

  • shadcn/ui requires Tailwind CSS and a React-based framework
  • DaisyUI requires Tailwind CSS
  • Mongoose requires MongoDB
  • Prisma/Drizzle require a SQL database
  • lint-staged/commitlint require Husky
  • Framework-specific auth (e.g., Auth.js works best with Next.js)
  • Vue UI libraries only available for Vue frameworks
  • ESLint + Biome conflict detection

🤝 Contributing

Contributions are welcome! Please read our Contributing Guide before submitting a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


⭐ Support

If you find Stacksy helpful, please consider giving it a star on GitHub. It helps others discover the project!