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-imola-kit

v0.6.10

Published

Scaffold a new project from the Imola Kit Pro template.

Downloads

1,404

Readme

create-imola-kit

Interactive CLI to scaffold a new project from the Imola Kit Pro template, with optional per-organization branding (logo, favicon, theme color palette, legal PDFs).

Usage

npm create imola-kit@latest my-app
# or
npx create-imola-kit my-app

The CLI asks:

  1. Project name — used as the folder name and package.json#name.
  2. Auth providerCUSTOM, AUTH0, CLERK, COGNITO, SUPABASE, KEYCLOAK, or NONE. The runtime strategy is set in appConfig.authStrategy; all provider folders ship in the codebase so you can switch later by editing one value.
  3. Organization branding (after clone, only if the template has public/orgs/) — pick one of the discovered organizations or keep the Imola defaults.

What it does:

  1. git clone --depth 1 https://imola.ghe.com/applications/imola-kit-pro.git <name> (needs network + auth to GHE).
  2. Removes the cloned .git so the new project starts clean.
  3. Updates package.json (name, version, private).
  4. Updates src/config/app.ts (name, primaryColor, authStrategy).
  5. If an organization was selected:
    • Reads its public/orgs/<slug>/meta.json (name + 11-tone palette).
    • Appends export const <themeKey> to src/styles/theme/colors.ts with the 50–950 scale.
    • Inserts a <themeKey> entry into the primarySchemes registry of src/styles/theme/color-schemes.ts.
    • Adds "<themeKey>" to the PrimaryColor union in src/styles/theme/types.d.ts.
    • Sets appConfig.primaryColor = "<themeKey>".
    • Replaces public/favicon.ico, public/assets/Imola.png, logo-short.*, icon.*, palette.html with the org's assets.
    • Updates the 6 source files that referenced /assets/Imola.png to point at the new logo and uses the org's name as alt.
    • Copies legal PDFs (eula, privacy, sla, ai-policy, third-party) into public/legal/.
  6. Deletes the public/orgs/ folder entirely so the generated project doesn't ship branding for other orgs.

Organization meta.json schema

Each public/orgs/<slug>/meta.json should look like:

{
	"name": "AroraCyber",
	"slug": "aroracyber",
	"themeKey": "aroraBlue",
	"palette": {
		"50": "#edf4ff",
		"100": "#ddebff",
		"200": "#cbe0ff",
		"300": "#b2d1ff",
		"400": "#4b94ff",
		"500": "#1d79ff",
		"600": "#0058d8",
		"700": "#0043a5",
		"800": "#002459",
		"900": "#00183b",
		"950": "#001026"
	}
}

themeKey is the identifier injected into colors.ts and the PrimaryColor union — keep it camelCase, e.g. aroraBlue, cloudBlue, omegaRed.

The folder layout the CLI consumes:

public/orgs/<slug>/
├── meta.json            ← required (display name + palette)
├── favicon.ico          ← required for favicon swap
├── logo.svg | logo.png  ← required (svg preferred)
├── logo-short.*         ← optional
├── icon.png             ← optional (falls back to logo)
├── palette.html         ← optional reference doc
└── legal/
    ├── eula.pdf
    ├── privacy.pdf
    ├── sla.pdf
    ├── ai-policy.pdf
    └── third-party.pdf

Adding a new organization

  1. Create public/orgs/<slug>/ in the template repo (imola-kit-pro).
  2. Drop the logo, favicon, icon, palette.html and legal PDFs in.
  3. Write meta.json with the brand name, slug, themeKey, and 11-tone palette extracted from your palette.html (--<token>-050 through --<token>-950).
  4. Commit and push. Next npm create imola-kit@latest … run will pick it up automatically — no CLI republish needed.

Development

npm install
npm run build          # compiles src/ to dist/
node dist/index.js     # run it locally

Iterate without committing:

npm link               # exposes `create-imola-kit` globally on this machine
create-imola-kit
npm unlink -g create-imola-kit  # cleanup

Publishing

The package is named create-imola-kit so npm create imola-kit (and npm init imola-kit) resolve to it.

npm version patch                       # or minor / major
npm publish --access public --otp=...   # npmjs.org requires 2FA on publish

prepublishOnly runs npm run build automatically.

Roadmap

  • [ ] --yes flag with sensible defaults for CI / non-interactive runs.
  • [ ] Run npm install automatically at the end (behind a --install flag).
  • [ ] Validate meta.json palette completeness before injection (warn on missing tones).