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

@ema.co/machina

v2026.7.17

Published

eMachina MCP server — the deterministic substrate for the harvest⟷curate knowledge loop. The agent thinks; this server provides state/context and executes structured operations.

Readme

eMachina

The domain-neutral knowledge loopharvest → curate → retrieve → feedback — as a machine any actor can use: agents, people, and services stop re-learning what's known, and what's known keeps getting better from use. Charter: CHARTER.md.

Two layers, three install channels:

| Layer | What it is | Ships as | | ----- | ---------- | -------- | | Skills (the thinking) | skills/ — agent-skills packages (spec); flagship: harvest | plugin marketplace · npx skills add | | Substrate (the executable) | src/mcp/ — the machina MCP server: yield management, curate (memorialize, charter-gated), retrieve (offline corpus recall), over an owned minimal atom kernel + markdown corpus | npm: @ema.co/machina |

Install

Everything (skills + MCP, recommended) — Claude Code:

/plugin marketplace add Ema-Unlimited/eMachina
/plugin install emachina@ema

The plugin's .mcp.json auto-launches the MCP server from npm (npx -y @ema.co/machina@latest) — nothing to build. Cursor: open a clone (skills load from .agents/skills/), or install via Cursor's marketplace when published.

Skills only — any supported agent, via skills.sh:

npx skills add Ema-Unlimited/eMachina

MCP server only — any MCP client:

{ "mcpServers": { "machina": { "command": "npx", "args": ["-y", "@ema.co/machina@latest"] } } }

Tools: config (readiness) · yield (validate/list/get/scaffold harvest yields) · curate (publish/advise — content-addressed dedup, blocking validation, charter gate) · retrieve (search the local corpus + yields, offline, audience-filtered). Server docs: src/mcp/README.md.

Skills

| Skill | What it does | Docs | | ----- | ------------ | ---- | | harvest | Universal context harvester — gather/synthesize context from files, URLs, transcripts, CRM, web, or tools into one contract-valid harvest-yield.md (findings only; derivations are projections). Invoke with /harvest. | Architecture · Charter |

The knowledge model (one paragraph)

Knowledge lives as atoms — markdown docs with a minimal frontmatter manifest (schema): content-addressed identity (identical content ⇒ identical id ⇒ dedup by construction), a single fail-closed audience ACL token, active|retracted lifecycle. The local corpus (.knowledge/atoms/, gitignored) is the staging tier; the org tier (GCS + Discovery Engine) is consumed at runtime via MCP interfaces — never a build dependency. Versioning has no lineage pointers: re-curating a changed artifact under the same (kind, name) tombstones the prior version. Charters (kind: charter) are gated at the write path — no mission/owner/status, no entry.

Develop on this repo

  1. Clone and open — packages under skills/ are live via the symlink hub; the MCP builds with npm run check (tsc + bundle + ESM verify + full test suite; 15 tests incl. golden-vector wire-conformance and the charter gate).
  2. Read the guidelinesAGENTS.md is canonical (CLAUDE.md imports it); skills authorship: skills/AGENTS.md; MCP changes: src/mcp/AGENTS.md.
  3. Validate before you push:
claude plugin validate .claude-plugin/marketplace.json --strict   # plugin manifest
npm run check                                                     # MCP: build + tests
python3 skills/harvest/evals/scripts/validate_yield.py <yield.md> # yield contract (needs pyyaml)
  1. Ship via PR — main is protected. Releases are cut as GitHub Releases (vYYYY.M.D); CI publishes @ema.co/machina via npm OIDC trusted publishing (no tokens).

Layout

CHARTER.md                        # the project charter (mission · goals · bar)
.agents/plugin/marketplace.json   # canonical manifest — marketplace "ema" → plugin "emachina"
.claude-plugin/ · .cursor-plugin/ # symlinked views of the manifest — never edit directly
.agents/skills → ../skills        # agent-agnostic hub (.claude/skills routes through it)
skills/<name>/                    # canonical skill packages (each may carry its CHARTER.md)
src/mcp/                          # the machina MCP server (+ src/mcp/atom/ — the owned kernel)
schemas/atom.schema.json          # the atom contract, as a served artifact
docs/charters/                    # entity-less standing charters (e.g. curator-memorialization)
.harvest/                         # harvest runtime yields (gitignored; AGENTS.md tracked)
.knowledge/                       # local atom corpus — the staging tier (gitignored)