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-semaphor-app

v0.1.10

Published

Create a Semaphor Data App starter project.

Readme

create-semaphor-app

Create a Semaphor Data App starter project.

npx create-semaphor-app@latest

The CLI scaffolds the public Semaphor Data App Starter, installs local dependencies by default, and can optionally install or update the Semaphor Agent Plugin for detected Codex and Claude Code installations. The starter already includes the Semaphor-specific Data App components and local samples used by agents for first-run dashboard quality.

It does not authenticate to Semaphor, write tokens, or choose a project/domain. The Semaphor Agent Plugin handles OAuth, project selection, runtime token minting, planning, code generation, validation, save, and publish.

Usage

npx create-semaphor-app@latest [app-name]

When app-name is omitted, the CLI creates ./semaphor-data-app.

Options:

--no-install              Skip dependency installation.
--package-manager <name>  Use npm, pnpm, yarn, or bun. Defaults to detected npm.
--skip-plugin             Skip Codex/Claude plugin install prompts.
--install-codex-plugin    Install the Codex plugin without prompting.
--install-claude-plugin   Install the Claude Code plugin without prompting.
--template <source>       Starter source. Defaults to the public starter repo.
--template-ref <ref>      Git branch/tag for the default starter repo. Defaults to main.
--shadcn-preset <preset>  Apply a shadcn preset after scaffolding.
--shadcn-base <base>      Pass base or radix to shadcn init when using a preset.
--yes                     Use noninteractive defaults; skip optional plugin installs unless explicit.
--help                    Show help.

shadcn Presets

The starter ships with a working shadcn setup. For teams that bring their own style, pass a shadcn preset during creation:

npx create-semaphor-app@latest my-app --shadcn-preset <preset-id>

--shadcn-preset runs the shadcn CLI. To skip installs entirely, pass --no-install, then run dependency and shadcn commands manually later if needed.

Included Semaphor Components

The generated starter includes Semaphor-specific source components under src/components/semaphor/* and browsable local samples at /samples. The components are normal app source files, not a separate runtime package:

  • query loading/error/empty/success states;
  • SDK-shaped query state boundaries;
  • view cards with scoped filter affordances;
  • metric KPI and multi-measure KPI helpers;
  • filter controls;
  • server-backed tables;
  • matrix/pivot tables.

This keeps the default scaffold fast and avoids shadcn overwrite prompts for Semaphor components. Customers can still customize shadcn primitives or apply a preset, but the default path does not require installing a second component registry.

Local Validation

npm test

The smoke test creates temporary projects under the OS temp directory, verifies the local and default starter scaffold paths, exercises fake Codex and Claude plugin installation/update paths without touching real agent installs, and removes the temporary projects before exiting.

After creation:

cd semaphor-data-app
npm run dev

For Codex OAuth, run:

codex mcp login semaphor

For Claude Code OAuth, start Claude Code and run the interactive MCP flow:

claude
/mcp

Then complete auth for the semaphor server.

After Semaphor auth, ask your agent:

@semaphor Build a Data App from my Semaphor project.