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

@yamatozhen/design_system

v1.0.1

Published

Yamato Zhen personal design system — Nav system, layout/globals.css overrides, and shared components for Next.js App Router projects.

Readme

design_system

Yamato Zhen's personal design system for Next.js App Router projects: the Nav navigation system, shared layout components, theme palettes, and the globals.css/layout.tsx overrides that make them work.

See USAGE.md in the source site for the full architecture writeup (which files are critical, how Nav.* is composed, known open items). This README only covers installing and wiring the package into a new project.

Install

npm install yamatozhen/design_system

Note: npm's GitHub-shorthand installer (owner/repo) does not support an @latest suffix the way registry packages do — owner/repo@latest is silently not recognized as a git spec and npm will instead try (and fail) to resolve it against the public registry. The bare form above always installs the current default-branch HEAD, which is the closest equivalent. To pin/update to a specific tagged version instead, use npm install yamatozhen/design_system#v1.0.0 or a range like npm install yamatozhen/design_system#semver:^1.0.0 (matches git tags). If you want real @latest dist-tag semantics, publish this package to the npm registry under a scope (e.g. @yamatozhen/design_system) instead of installing straight from GitHub.

This installs straight from the GitHub repo (no npm registry publish required) and its postinstall script automatically copies the package contents into your project:

| Copied to | Behavior on install | | ----------------------------- | ------------------------------------------------------ | | app/components/ (top-level) | Merged in — existing files of the same name are kept, never overwritten. | | app/themes/ | Merged in the same way. | | public/fonts/material-symbols/ | Merged in the same way (icon font used by globals.css). | | app/globals.css | Replaced. Your previous file is saved as globals.css.bak. | | app/layout.tsx | Replaced. Your previous file is saved as layout.tsx.bak. | | app/ClientNav.tsx | Replaced. Your previous file is saved as ClientNav.tsx.bak. |

(If your project uses src/app instead of app, the script detects that and copies there instead.)

Prerequisites

  • Next.js App Router (v15+), React 19+.
  • Tailwind CSS v4 — globals.css starts with @import "tailwindcss";.
  • A @/* path alias pointing at the project root in tsconfig.json:
    { "compilerOptions": { "paths": { "@/*": ["./*"] } } }
    The copied components import each other via @/components/..., so without this alias they won't resolve.
  • Peer dependencies (declared in package.json, install if missing): framer-motion, @fontsource/outfit, colorthief (used by the hero slideshow and useImageColor), flubber (used by ShapeMorph — note it has no bundled types, so a hand-written components/tools/flubber.d.ts ships alongside it, don't delete that file).

After installing

  1. Run npm install again if npm reports missing peer deps (framer-motion, @fontsource/outfit, tailwindcss).
  2. Open app/layout.tsx and replace the site-specific bits that were copied verbatim:
    • <title> / metadata / Open Graph & Twitter meta tags.
    • Favicon links (/favicon.png, /apple-touch-icon.png) — supply your own files in public/.
  3. Open app/ClientNav.tsx and replace the logo images (HeaderLogo, referencing /Yamato.svg and /Zhen C.svg) and the NAV_ITEMS list with your own site's nav entries.
  4. If you don't like the generated theme palettes in app/themes/, you can hand-author replacements — keep the file names identical (theme.css, light.css, dark.css, light-mc.css, dark-mc.css), since globals.css imports them by literal path.
  5. npm run dev and confirm the nav renders (Nav.Rail/Nav.Bar/Nav.Header depending on viewport) and the accessibility modal opens.

What's inside template/

This mirrors what actually gets copied — it's not itself a runnable app:

template/
├─ components/          # full components/layout + components/tools tree
├─ app/
│  ├─ themes/            # theme.css, light.css, dark.css, light-mc.css, dark-mc.css
│  ├─ globals.css
│  ├─ layout.tsx
│  └─ ClientNav.tsx
└─ public/fonts/material-symbols/   # icon font referenced by globals.css

Updating the package

This repo is meant to be re-synced from yamatozhen.com whenever the source components change — there's no build step, template/ is a straight copy. Bump the version in package.json and tag a release so npm install yamatozhen/design_system@latest picks up the new commit.