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

terso-cli

v0.3.0

Published

Terso CLI — compile AGENTS.md into per-agent configs and sync project knowledge from Omnus

Readme

terso

One source of truth for AI agent instructions, in every project.

terso emit compiles a single AGENTS.md into the config files each AI coding agent expects — CLAUDE.md, .cursorrules, .github/copilot-instructions.md — so you maintain one file instead of three.

AGENTS.md  →  CLAUDE.md
            →  .cursorrules
            →  .github/copilot-instructions.md

Install

npm install -g terso-cli

Quick start

# In your project root
terso emit

If AGENTS.md doesn't exist yet, run terso init first to scaffold a template.

How it works

  1. You write project rules once in AGENTS.md.
  2. terso emit writes them out to whichever per-agent files your repo uses.
  3. Each emitted file starts with a marker comment so re-running emit is safe and won't clobber files you maintain by hand.

By default, emit only writes to targets that look active in your repo (detected via presence of .cursor/, CLAUDE.md, .github/, etc.). On a fresh repo with no hints, it writes all three so you can pick what to keep.

Commands

terso emit

Compile AGENTS.md into per-agent configs at the project root.

| Flag | Behavior | |---|---| | --targets <list> | Comma-separated subset: claude, cursor, copilot | | --check | Exit non-zero if any file would change. Use in CI. | | --dry-run | Show what would change without writing | | --force | Overwrite files even if not marked as terso-generated | | --watch | Re-emit on every save of AGENTS.md |

CI gate example

# .github/workflows/agents.yml
- run: npx terso-cli emit --check

This fails the build if anyone hand-edits CLAUDE.md or .cursorrules without updating the canonical AGENTS.md.

terso mcp

Run an MCP server that exposes project context to any agent client. Three tools:

  • terso_get_context — returns AGENTS.md + any synced files in .terso/generated/. Works offline.
  • terso_search — search project knowledge in Omnus. Requires auth.
  • terso_capture — send a knowledge fragment to Omnus. Requires auth.

Print install snippets for popular clients:

terso mcp install --client claude
terso mcp install --client cursor
terso mcp install --client codex

Example for Claude Code (drop into .mcp.json or ~/.claude.json):

{
  "mcpServers": {
    "terso": { "command": "terso", "args": ["mcp"] }
  }
}

Other commands

terso also includes commands for syncing project knowledge with the Omnus service (init, auth, sync, watch, capture, search, compile, status, doctor). The emit command works without Omnus — it's pure local file compilation.

Why

Most teams using AI coding agents end up maintaining the same project rules in 3–4 places: .cursorrules for Cursor, CLAUDE.md for Claude Code, .github/copilot-instructions.md for Copilot, often AGENTS.md too. They drift. People update one and forget the others. Reviewers can't tell which file is canonical.

terso emit makes one of them canonical — AGENTS.md, the format with the broadest cross-tool acceptance — and treats the rest as compilation output.

License

MIT