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

create-zstack

v1.3.2

Published

CLI to scaffold zstack projects — monorepo with Hono + Drizzle + Better-Auth + your choice of frontend framework

Readme

create-zstack

Scaffold a full-stack TypeScript monorepo in seconds. Hono + Drizzle + Better-Auth + your choice of frontend framework.

npx create-zstack my-project

Pick a frontend framework at the prompt — SolidJS, React, Svelte, or Astro — and get a production-ready monorepo with authentication, database, and API server wired up.


What You Get

Every scaffolded project includes:

| Layer | Tech | |---|---| | API server | Hono — lightweight, fast, TypeScript-native | | Database | Drizzle ORM + PostgreSQL | | Auth | Better-Auth — email/password ready, Drizzle adapter | | Env validation | t3-env — type-safe environment variables | | Monorepo | pnpm workspaces — shared config, packages, apps | | Linting | Biome — fast, one tool for format + lint | | Git hooks | Husky — pre-commit checks |

Frontend Options

| Preset | Stack | |---|---| | SolidJS | Vite + SolidJS + TanStack Router + Tailwind v4 | | React | Vite + React 19 + TanStack Router + Tailwind v4 | | Svelte | SvelteKit (SPA mode) + Tailwind v4 | | Astro | Astro 5 + Tailwind v4 (static/hybrid) |

All presets get the same backend, auth, and database — only the frontend changes.


Quick Start

npx create-zstack my-project
cd my-project
cp .env.example .env
pnpm db:push
pnpm dev

The API runs at localhost:3000, the web app at localhost:5173.

Options

npx create-zstack                    # Interactive prompts
npx create-zstack my-project         # Skip name prompt, still choose framework

Project Structure (scaffolded output)

my-project/
├── apps/
│   ├── web/              # Frontend (framework of your choice)
│   └── server/           # Hono API with auth routes
├── packages/
│   ├── auth/             # Better-Auth setup + Drizzle adapter
│   ├── config/           # Shared TypeScript config (tsconfig.base.json)
│   ├── db/               # Drizzle schema + migrations + docker-compose
│   └── env/              # t3-env schemas (server + client)
├── biome.json            # Biome config
├── pnpm-workspace.yaml   # Workspace + catalog
└── package.json          # Root scripts

Scripts (in scaffolded project)

| Command | Description | |---|---| | pnpm dev | Start all apps in dev mode | | pnpm build | Build all apps | | pnpm check-types | TypeScript type checking | | pnpm check | Format & lint with Biome | | pnpm db:push | Push schema to database | | pnpm db:generate | Generate Drizzle migrations | | pnpm db:studio | Open Drizzle Studio | | pnpm dev:web | Start only the web app | | pnpm dev:server | Start only the server |


Development (contributing to this CLI)

git clone [email protected]:pedrsntana/create-zstack.git
cd create-zstack
pnpm install
pnpm dev                          # Interactive scaffold test
pnpm build                        # Build for publishing

Add a new framework preset

  1. Create templates/{framework}/apps/web/ with the framework's files
  2. Add deps to src/presets/index.ts
  3. Add to the Framework type in src/types.ts
  4. Optionally add to the prompt in src/prompts.ts

Templates use {{variable}} placeholders — see the create-zstack skill for full docs.


Publishing

pnpm build
npm publish

Current version: 0.1.0. Published to npm under the create-zstack name.


License

MIT