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

@onexeor/lumo

v0.2.0

Published

Install Lumo — mobile UI/UX design intelligence for AI coding assistants (Claude Code, Cursor, Codex, MCP clients).

Readme

lumo — installer

One-command installer for Lumo: mobile UI/UX design intelligence for AI coding assistants. The full project (skill, MCP server, Python tools, docs, examples) lives in the OneXeor-Dev/lumo GitHub repository — see the repository field in package.json for the canonical link.

npx @onexeor/lumo init                    # interactive — picks your AI client
npx @onexeor/lumo init --ai claude        # explicit target
npx @onexeor/lumo init --all              # install everywhere supported
npx @onexeor/lumo init --ai claude --dev  # install from a local git clone (contributors)
npx @onexeor/lumo init --no-mcp           # skill only, skip MCP server registration

# After install the binary is `lumo` (the scoped package name is only
# needed to disambiguate during install):
lumo doctor                               # verify every Lumo piece is in place
lumo uninstall --ai claude                # remove the skill (Python tools stay)

Supported AI clients:

  • Claude Code — copies the skill into ~/.claude/skills/lumo/ and registers the MCP server in claude_desktop_config.json
  • Cursor — installs to ~/.cursor/rules/lumo/ and registers MCP in ~/.cursor/mcp.json
  • OpenAI Codex CLI — installs to ~/.codex/skills/lumo/ and registers MCP in ~/.codex/mcp.json
  • generic — prints install paths so you can wire it into anything not listed above

Under the hood the installer:

  1. Locates a Python 3.10+ interpreter and creates a Lumo-owned venv at ~/.lumo/venv so your system Python stays clean.
  2. pip installs the lumo-mobile package from PyPI into that venv. The CLIs (lumo-wcag, lumo-theory, lumo-parity, lumo-source, lumo-audit, lumo-figma, lumo-mcp) become available at absolute paths the MCP configs point to.
  3. Copies the SKILL.md bundle into the chosen client's skill directory.
  4. Merges a { "mcpServers": { "lumo": { "command": "..." } } } block into the client's MCP config — non-destructive, backs up the file once before the first write.

The installer never modifies anything outside ~/.lumo, the chosen client's skill directory, and the chosen client's MCP config file.

Publishing (maintainers only)

The installer ships with no npm lifecycle scripts on purpose — Socket.dev and similar supply-chain scanners penalise packages that auto-execute code on install or pack, even when that code is benign. To publish a new version:

cd installer
bash scripts/release.sh --dry-run   # bundles /skill into installer/skill, npm pack --dry-run
bash scripts/release.sh             # same, but actually publishes

release.sh is the only sanctioned way to build the tarball. Running npm pack or npm publish directly will produce a broken tarball without the bundled SKILL.md, so lumo init would fail post-install. The script makes the bundling explicit and Socket-clean.

License

MIT