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

@shayen/rapidbuild

v0.2.3

Published

Scaffold fully configured hackathon-ready applications from an interactive CLI.

Readme

rapidbuild

Skip 2 hours of setup. Start building immediately.

rapidbuild is an open-source npm CLI for scaffolding complete, configurable starter apps. Instead of stopping at a blank framework install, it generates a working product foundation with authentication, database wiring, UI tooling, deployment files, linting, environment examples, and common boilerplate.

Repository: https://github.com/shayen71421/rapidbuild

npx @shayen/rapidbuild my-app

or run the wizard:

npx @shayen/rapidbuild

What You Get

The first production-ready template generates a Next.js + TypeScript + Tailwind + Firebase app:

my-app/
├── app/
│   ├── dashboard/
│   ├── signin/
│   ├── globals.css
│   ├── layout.tsx
│   └── page.tsx
├── components/
│   └── auth/
│       ├── AuthForm.tsx
│       ├── AuthProvider.tsx
│       ├── ProtectedRoute.tsx
│       └── SignOutButton.tsx
│   └── ui/
│       └── ToastProvider.tsx
├── hooks/
│   └── useAuth.ts
├── lib/
│   ├── auth.ts
│   ├── firebase.ts
│   └── firestore.ts
├── types/
│   └── auth.ts
├── middleware.ts
├── firebase.json
├── firestore.rules
├── .env.example
└── README.md

RapidBuild prunes unused integrations. If you choose no Firestore, Firestore helpers and rules are omitted. If you choose no Tailwind, Tailwind and PostCSS config files are omitted. If you choose no auth, auth pages, providers, middleware, hooks, and auth dependencies are omitted.

Terminal Demo

$ npx @shayen/rapidbuild my-app

rapidbuild
Scaffold complete hackathon apps, not empty folders.

✔ Styling: Tailwind CSS
✔ Authentication: Firebase Auth
✔ Database: Firestore
✔ Deployment: Vercel
✔ Extras: ESLint, Prettier, Dark Mode

Creating project...

✔ Project files generated
✔ Dependencies installed
✔ Git repository initialized

RapidBuild app created.
  cd my-app
  npm run dev

Why RapidBuild?

| Feature | create-next-app | RapidBuild | | --- | --- | --- | | Next.js app scaffold | Yes | Yes | | TypeScript setup | Yes | Yes | | Tailwind setup | Optional | Yes | | Firebase Auth | No | Yes | | Firestore | No | Yes | | Protected routes | No | Yes | | Auth pages/components | No | Yes | | .env.example | No | Yes | | Firebase config and rules | No | Yes | | Git initialization | Yes | Yes | | Production-oriented boilerplate | Minimal | Yes |

Features

  • Interactive Commander + Inquirer CLI
  • Presets for the currently supported Next.js path
  • Modular generator and plugin architecture
  • Complete first template: Next.js + TypeScript + Tailwind CSS + Firebase Auth + Firestore
  • Dependency installation, git initialization, .env.example, README generation, and initial commit
  • Package manager selection for npm, pnpm, yarn, and bun

Working Today

The CLI currently exposes only the combinations that are verified:

  • Framework: Next.js
  • Language: TypeScript
  • Styling: Tailwind CSS, None
  • Authentication: Firebase Auth, None
  • Database: Firestore, None
  • Deployment: Vercel, Firebase Hosting, or None
  • Extras: ESLint, Prettier, Husky, Docker, GitHub Actions, PWA, Dark Mode, Analytics

These are the only options shown in the interactive wizard right now.

Not In The CLI Yet

These are intentionally hidden until they are production-ready:

| Area | Planned options | | --- | --- | | Frameworks | React, Vite | | Authentication | Better Auth, Auth.js, Clerk, Supabase | | Database | Prisma, PostgreSQL, Drizzle, MongoDB, Supabase | | Storage | UploadThing, Cloudinary, Firebase Storage | | Email | Resend | | Payments | Stripe | | Forms | React Hook Form, Zod |

Some internal plugin scaffolding exists for future work, but RapidBuild does not advertise those options in the CLI until the generated app is verified end to end.

Usage

npx @shayen/rapidbuild my-app
npx @shayen/rapidbuild my-app --yes
npx @shayen/rapidbuild my-app --preset dashboard
npx @shayen/rapidbuild my-app --template next-firebase
npx @shayen/rapidbuild my-app --package-manager pnpm
npx @shayen/rapidbuild my-app --no-install --no-git

Presets

  • dashboard

Not currently active: ai-chat, startup, and ieee-event. Those presets will return when their required integrations are fully wired and verified.

First Supported Template

The production-ready template is next-firebase:

  • Next.js App Router
  • TypeScript
  • Tailwind CSS
  • Firebase Auth
  • Firestore
  • Protected dashboard route
  • Sign in/sign up form
  • Sign out button
  • Reusable Firebase initialization
  • firebase.json
  • firestore.rules
  • .env.example

Visuals

Screenshots and recordings are planned for the GitHub and npm pages:

  • Terminal recording of the CLI wizard
  • Generated login page
  • Generated protected dashboard
  • Generated folder structure

Roadmap

The current focus is making the Next.js + Firebase path excellent before expanding broadly:

  • Flawless Firebase setup and clearer Firebase documentation
  • Firestore helper utilities and example data flows
  • Middleware-based route protection where it improves the generated app
  • Deeper Better Auth, Auth.js, Clerk, and Supabase templates
  • Deeper Prisma, PostgreSQL, Drizzle, and MongoDB examples
  • Production examples for Stripe, UploadThing, Resend, React Hook Form, and Zod

Future add-on commands are planned after project creation is stable:

rapidbuild add firebase
rapidbuild add clerk
rapidbuild add stripe
rapidbuild add resend
rapidbuild add prisma
rapidbuild add shadcn
rapidbuild add dashboard

Website

A small docs and landing site is planned at rapidbuild.dev with:

  • Animated terminal demo
  • Feature comparison
  • Template gallery
  • Plugin documentation
  • Generated app screenshots

Local Development

npm install
npm run build
npm run dev -- my-app --no-install --no-git

Architecture

Core generation stays independent of integrations:

  • src/cli.ts parses flags and starts the flow.
  • src/prompts/ owns interactive questions.
  • src/generators/ renders templates and coordinates project creation.
  • src/installers/ runs package-manager and git tasks.
  • src/plugins/ exposes integration hooks.
  • src/utils/ contains reusable filesystem, package manager, and rendering helpers.
  • templates/ stores project templates.

Plugins follow this shape:

export interface Plugin {
  name: string;
  install?(context: PluginContext): Promise<void>;
  dependencies?(config: ProjectConfig): string[];
  devDependencies?(config: ProjectConfig): string[];
  templates?(config: ProjectConfig): string[];
  envVariables?(config: ProjectConfig): Record<string, string>;
  postInstall?(context: PluginContext): Promise<void>;
}

Future plugins can live under plugins/<name>/index.js; the loader already checks that directory for local plugin modules.

Contributing

See CONTRIBUTING.md.

License

MIT