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

@metaobjectsdev/docs-site

v1.1.0

Published

HTML documentation-site generator for metaobjects models — a browsable multi-page site (nav, search, per-object/package pages, kind-aware ER diagrams). Powers the `docs-site` generator (`docsSiteFile()`).

Readme

@metaobjectsdev/docs-site

HTML documentation-site generator for metaobjects models — a browsable multi-page site (package nav, Cmd+K search, per-object / package / prompt / output pages, and kind-aware ER diagrams that encode object kind by shape and domain by color).

It is the engine behind the docs-site generator, docsSiteFile() from @metaobjectsdev/codegen-ts/generators (it was meta docs --site until 1.1.0). Output is deterministic and link-checked.

Usage (via meta gen)

List the generator in metaobjects.config.ts, with a docs target:

import { docsSiteFile } from "@metaobjectsdev/codegen-ts/generators";

export default defineConfig({
  // ...
  targets: { docs: { outDir: "./docs/generated" } },
  generators: [/* ... */ docsSiteFile()],
});

meta gen writes the site to site/ under the target (./docs/generated/site/), beside whatever other documentation the config lists. Options: subDir (default site), prompts (an extra directory of prompt .mustache sources), title, stamp (footer text; default none, so the pages depend on the model alone and meta verify --codegen can check them) and target.

Usage (as a library)

import { generateSite } from "@metaobjectsdev/docs-site";

await generateSite({
  sourceDirs: ["path/to/metaobjects"],
  outDir: "docs/site",
  title: "My Model",
  stamp: "2026-07-04",
  commit: "",
});

generateSite throws if the generated site contains any dangling link.

Own your docs-site theme

The site ships with bundled templates + assets. To customize them, copy them into your repo:

meta eject docs-site

This writes the 9 mustache templates to codegen/docs-site/templates/ and the CSS/JS to codegen/docs-site/assets/ — only files that don't already exist, so your edits are never clobbered (--force overwrites). Edit them, then regenerate:

meta gen

docsSiteFile() reads codegen/docs-site/ and uses your owned copies; any file you didn't override falls back to the bundled default. The engine (@metaobjectsdev/docs-site) stays a versioned dependency — you own only the theme.

When calling generateSite directly, pass templatesDir / assetsDir to point at your owned copies (a file of the same basename there wins over the bundled one).

License

Apache-2.0