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-stitchkit

v0.4.4

Published

Create a production-shaped Stitchkit application

Readme

create-stitchkit

Create the canonical Stitchkit application:

bun create stitchkit my-app
cd my-app
# Point DATABASE_URL in .env at your PostgreSQL database.
bun run dev

The generated Bun workspace contains a Next.js frontend, a separate Stitchkit API, Prisma/PostgreSQL, typed shared contracts, Socket.IO, MCP, CLI tools and a complete production UI system.

To start from a terminal coding agent instead:

bun create stitchkit my-agent --template agent
cd my-agent
cp .env.example .env
# Set OPENROUTER_API_KEY, then choose a live model in the terminal.
bun run dev

This opt-in profile is deliberately smaller. It composes the published headless harness, Bun SQLite store, OpenRouter adapter, lazy filesystem skills and direct coding tools behind an OpenTUI shell. Reads/search run directly; writes, edits, patches and shell calls require a signed durable Y/N approval. bun --watch restarts source while the ignored .stitchkit/ directory retains conversation and recovery state. The bounded startup picker reads current tool-capable models and their context windows from OpenRouter instead of duplicating provider metadata in environment variables. The workspace path is a containment boundary, not an OS sandbox.

It uses one conventional packages/* namespace: backend, frontend, config, db and shared. The destination name becomes the generated slug; --display-name sets the human title. Both are recorded once in project.json — the generated project's declaration, the single machine-readable statement it makes about itself — and drive package, process, transport, UI and SEO identity.

The default scaffold is domain-free. To add the runnable repository example:

bun create stitchkit my-app --example repository

The optional example uses one configurable GitHub repository persisted through a server-side PostgreSQL cache, including a Prisma-backed visibility enum that flows through the shared schema and typed client. /en/ui presents every reusable primitive and composition. Every public page ships with localized metadata, canonical and language alternatives, sitemap coverage and a generated Open Graph card.

The included PM2 configs launch Bun and Next entrypoints directly, so package script wrappers do not hide the supervised processes or distort their metrics. PostgreSQL is supplied by the application environment through DATABASE_URL; the generated project does not package or start a database runtime.

The generated workspace uses the Stitchkit range declared once in the template catalog and ships with the exact lockfile validated by this package. Framework and scaffolder releases are independent: a new Stitchkit version does not move the starter until that target is deliberately updated and revalidated.