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

v2.0.5

Published

AI practical-exam fullstack generator for Express, MySQL, React, and Tailwind CSS with Puter fallback, XAMPP helpers, and re-prompt support

Readme

create-caleb

Generate practical-exam style full-stack projects with Express, MySQL, React, and Tailwind CSS.

Usage

npm create caleb@latest

You can also run:

npx create-caleb

The CLI now asks for:

  • the student's full name
  • the exam year
  • the practical scenario prompt
  • optional scenario-reference folders

It creates the root folder in this format:

full_name_national_practical_exam_2026

Inside that folder it generates:

  • backend-project
  • frontend-project

What it does

  • generates a session-auth full-stack app that matches the prompt closely
  • references up to 10 previous scenario projects to stay aligned with practical-exam patterns
  • falls back to Puter in the browser when API keys are missing or fail
  • writes backend and frontend env files automatically
  • can detect XAMPP, try to start Apache and MySQL, and repair busy default ports
  • installs dependencies
  • verifies the generated backend and frontend
  • attempts an automatic AI repair loop when verification fails
  • saves project memory in .caleb/session.json so you can re-prompt later

AI providers

Supported direct providers:

  • GROQ_API_KEY
  • GEMINI_API_KEY
  • OPENROUTER_API_KEY

If none are available, create-caleb can open a local Puter bridge page in the browser. If Puter asks the user to log in or approve access, they can accept once and continue.

Re-prompt existing projects

After a project is generated you can continue from the current codebase:

npx create-caleb --continue .

That mode reads .caleb/session.json, loads the current backend and frontend source files, and asks what should change next.

Root scripts in generated projects

  • npm run start:backend
  • npm run start:frontend
  • npm run build:backend
  • npm run build:frontend
  • npm run verify

The generated root project does not use concurrently.

Flags

npm create caleb@latest -- --skip-install
npm create caleb@latest -- --continue .
npm create caleb@latest -- --scenario-root C:\Users\kwize\practical-exam
  • --skip-install: generate files without running npm install
  • --continue PATH: re-prompt and update an existing generated project
  • --scenario-root PATH: add a folder containing past scenario projects
  • --help: show usage

Notes

  • The generator targets Node.js 18+.
  • Generated apps assume MySQL and common practical-exam CRUD/report flows unless the prompt says otherwise.
  • Puter fallback uses a browser flow because Puter is frontend-oriented.