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

forgeflux

v1.0.5

Published

A TypeScript-first CLI for scaffolding modern frontend apps, mobile apps, and backend servers with cleaner starter structures.

Downloads

60

Readme

forgeflux

A TypeScript-first CLI for scaffolding modern frontend apps, mobile apps, and backend servers with cleaner starter structures.

npm version License: MIT Node.js

The problem

Starting a new app still means rebuilding the same folders, config, and architectural baseline over and over. You choose a stack, then spend time shaping directories, wiring TypeScript, separating features, and deciding how auth, ORM, and database setup should fit together.

forgeflux gives you a cleaner starting point immediately.

Features

  • Scaffold modern TypeScript starters for frontend, mobile, and server stacks
  • Support nextjs, nextjs-gsap, react, react-gsap, react-native-expo, nest-js-server, express-js-server, and angular
  • Ask follow-up questions for stacks that need architecture choices like ORM, database, and OAuth provider
  • Generate more professional folder structures instead of a flat starter
  • Generate Prisma-ready auth server scaffolds with a starter User model, env files, and setup docs
  • Support @/* import aliases in the generated server templates
  • Ship as both ESM and CJS for Node.js tooling use

Installation

npm install -g forgeflux

Or run it without a global install:

npx forgeflux scaffold

Usage

The installed package name is forgeflux, and the CLI command is currently devforge.

Interactive scaffold

devforge scaffold

Direct scaffold examples

devforge scaffold --type nextjs --name my-next-app
devforge scaffold --type nextjs-gsap --name motion-site
devforge scaffold --type react --name dashboard-ui
devforge scaffold --type react-gsap --name campaign-site
devforge scaffold --type angular --name admin-portal
devforge scaffold --type react-native-expo --name mobile-app --database firebase --auth-provider google
devforge scaffold --type nest-js-server --name api-server --orm prisma --database postgresql --auth-provider github
devforge scaffold --type express-js-server --name backend --orm prisma --database postgresql --auth-provider auth0

Other commands

devforge lint
devforge audit

lint checks whether the current directory has a package.json.

audit counts the dependencies and devDependencies declared in package.json.

Supported Templates

Frontend

  • nextjs
  • nextjs-gsap
  • react
  • react-gsap
  • angular

Mobile

  • react-native-expo

Backend

  • nest-js-server
  • express-js-server

Prompted Options

Some scaffold types ask for extra architecture choices.

ORM choices

  • none
  • prisma
  • typeorm

Database choices

  • none
  • postgresql
  • mongodb
  • firebase

OAuth provider choices

  • none
  • google
  • github
  • auth0
  • clerk

Example Structures

Next.js

my-next-app/
├── app/
│   ├── api/
│   │   └── health/
│   │       └── route.ts
│   ├── layout.tsx
│   └── page.tsx
├── components/
│   └── ui/
│       └── page-shell.tsx
├── features/
│   └── home/
│       └── hero.tsx
├── lib/
│   └── config/
│       └── site.ts
├── public/
│   └── brand/
│       └── README.md
├── styles/
│   └── globals.css
├── next.config.ts
├── package.json
├── tsconfig.json
└── README.md

Expo

mobile-app/
├── app/
│   ├── _layout.tsx
│   └── index.tsx
├── assets/
│   └── images/
│       └── README.md
├── src/
│   ├── components/
│   │   └── ui/
│   │       └── screen.tsx
│   ├── config/
│   │   └── app.config.ts
│   ├── features/
│   │   └── onboarding/
│   │       └── welcome-card.tsx
│   └── services/
│       └── api/
│           └── client.ts
├── package.json
├── tsconfig.json
└── README.md

NestJS Server

api-server/
├── src/
│   ├── modules/
│   │   ├── auth/
│   │   │   ├── dto/
│   │   │   ├── guards/
│   │   │   ├── interfaces/
│   │   │   ├── strategies/
│   │   │   ├── auth.controller.ts
│   │   │   ├── auth.module.ts
│   │   │   └── auth.service.ts
│   │   └── health/
│   │       └── health.controller.ts
│   ├── common/
│   │   └── services/
│   │       └── email.service.ts
│   ├── modules/
│   │   └── prisma/
│   │       ├── prisma.module.ts
│   │       └── prisma.service.ts
│   ├── main.ts
│   └── app.module.ts
├── prisma/
│   └── schema.prisma
├── .env.example
├── package.json
├── tsconfig.json
└── README.md

Express Server

backend/
├── src/
│   ├── config/
│   │   ├── env.ts
│   │   └── prisma.ts
│   ├── controllers/
│   │   └── auth.controller.ts
│   ├── interfaces/
│   │   └── auth-request.interface.ts
│   ├── middleware/
│   │   ├── auth.middleware.ts
│   │   ├── error.middleware.ts
│   │   └── validate.middleware.ts
│   ├── routes/
│   │   ├── auth.route.ts
│   │   └── index.route.ts
│   ├── schemas/
│   │   └── auth.schema.ts
│   ├── services/
│   │   ├── auth.service.ts
│   │   └── email.service.ts
│   ├── types/
│   │   └── express.d.ts
│   ├── utils/
│   │   ├── token.util.ts
│   │   └── two-factor.util.ts
│   ├── app.ts
│   └── server.ts
├── prisma/
│   └── schema.prisma
├── .env.example
├── package.json
├── tsconfig.json
└── README.md

Programmatic Usage

You can also use forgeflux as a Node.js library:

import { scaffold } from 'forgeflux';

await scaffold({
  type: 'express-js-server',
  name: 'api-server',
  orm: 'prisma',
  database: 'postgresql',
  authProvider: 'github'
});

The current API is Node.js-focused because it writes files to disk.

Server Notes

Prisma-based Express and Nest scaffolds now include:

  • a starter User model in prisma/schema.prisma
  • .env.example
  • Prisma generate and migrate scripts
  • auth module/service/controller structure
  • TypeScript path alias support for @/*

Requirements

  • Node.js >= 16
  • npm >= 7

License

MIT