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-use-forge

v0.1.4

Published

Create a Forge app.

Readme

Forge banner

Forge

Forge is a CLI that scaffolds clean React starters you can edit immediately.

It uses shadcn for the scaffold, then applies Forge setup for app shell wiring, theme support, optional RTL routing, framework-appropriate i18n, sound hooks, fallback pages, metadata, code-quality tooling, and starter docs.

Website: use-forge.vercel.app

[!WARNING] Do not use npm i create-use-forge to start a new app. It only installs the package and does not run the initializer. Use the Create an app commands below.

Create an app

Use one of these commands to start a new project:

npm create use-forge@latest
pnpm create use-forge
bun create use-forge
yarn create use-forge

Naming rules

Project names must use lowercase letters, numbers, and single hyphens.

Valid examples:

my-app
forge-demo
app2

Invalid examples:

MyApp
my_app
my--app
my app
con

The special name . is valid when you generate into the current empty folder.

What Forge generates

Forge starters stay intentionally minimal.

Each generated app includes:

  • a minimal starter page
  • a theme switch
  • a language switch only when RTL is enabled
  • next-intl for Next.js RTL starters
  • react-i18next for Vite and TanStack Start RTL starters
  • framework-native error and not-found pages
  • favicon and core metadata
  • sound hooks for clicks and theme switching
  • lint and format setup based on your chosen option
  • a README that matches your package manager

Generated apps do not include Forge internal specs, skills, or planning docs.

Choose your setup

Frameworks:

  • next (Next.js)
  • vite (Vite)
  • start (TanStack Start)

UI base:

  • base (Base UI)
  • radix (Radix UI)

Direction:

  • --ltr for English only
  • --rtl for English and Arabic with locale routes

I18n in RTL mode:

  • Next.js uses next-intl
  • Vite uses react-i18next
  • TanStack Start uses react-i18next

Package manager:

  • pnpm
  • npm
  • yarn
  • bun

Code quality:

  • biome
  • eslint-prettier
  • oxlint-oxfmt

Current default preset:

next + base + ltr + pnpm + biome

Common Forge commands

After app creation, these are the commands most users need:

forge generate

Preview plan only:

forge plan

Generate from flags:

forge generate --name my-app --framework next --base base --ltr --package-manager pnpm --code-quality biome

Generate in current empty folder:

forge generate --name .

Generate a retained fixture in fixtures/:

forge generate --fixture --name next-base-ltr --framework next --base base --ltr

Advanced command paths

If you installed the package and want to run it manually, use one of these:

npx create-use-forge generate
npm exec create-use-forge -- generate

If forge is already available in your environment, this also works:

forge generate

Current status

Forge is release-ready locally for the current generator surface.

The npm package name is create-use-forge, and it exposes:

  • forge
  • create-use-forge

The current package version is 0.1.3.

The marketing site is deployed from marketing-site/ on Vercel. The remaining public release steps are npm publish and registry verification.

Maintainers

This section is for contributors and release maintainers.

How Forge is built

Forge is a single-package TypeScript CLI with three layers:

  1. Scaffold adapter
  2. Framework overlay
  3. Feature packs

In short, scaffold tools create the base app, overlays apply framework shell details, and feature packs add cross-cutting pieces like docs, sounds, metadata, dependency freshness, and code quality.

Repository map

src/                  CLI, generator, overlays, feature packs, verification
assets/branding/      Forge assets copied into generated apps
fixtures/             generated regression fixtures
marketing-site/       Next.js marketing site
spec/                 project contracts and working memory
deprecated/           legacy code outside active surface

Development

Install dependencies:

pnpm install

Run CLI from source:

pnpm dev -- --help
pnpm dev -- plan
pnpm dev -- generate --dry-run

Build:

pnpm build

Typecheck:

pnpm typecheck

Test:

pnpm test

Inspect package contents:

npm pack --dry-run

Marketing site

Local checks:

pnpm --dir marketing-site typecheck
pnpm --dir marketing-site lint
pnpm --dir marketing-site build

Vercel settings:

Root Directory: marketing-site
Framework Preset: Next.js
Install Command: default
Build Command: default
Output Directory: default

Release

Release checklist: spec/release-and-publishing.md

Before npm publish:

pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
npm pack --dry-run

For local tarball smoke tests, use npm exec --package <tarball> instead of npm create <tarball>.

License

MIT. See LICENSE.