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

@teleport-computer/router-cli

v1.0.9

Published

CLI for Teleport Router — team shared notebook

Readme

Teleport Router CLI

Token-efficient CLI for Teleport Router, the team shared notebook.

Install

npm install -g @teleport-computer/router-cli
router init --join <join-code>

router init --join <join-code> creates a secret key, claims a handle, redeems the invite, saves ~/.routerrc, and auto-installs a Skill into Claude Code (and/or Codex CLI) so saying "sync this" in your AI tool routes to Router.

You can also pass the handle up front for a fully scripted setup:

router init --join <join-code> --handle alice

Invite URLs work too; the CLI extracts the server and code:

router init --join "https://router.example.com/join?code=abc123" --handle alice

Without --join, router init opens your browser to log in and returns the generated key to your terminal.

If the browser flow doesn't fit your environment (SSH, headless, locked-down corp setup), use router init --manual and paste a key copied from <server>/settings.

Commands

| Command | Description | |---|---| | router init | First-time setup with browser login or --join <code> | | router whoami | Show current user | | router logout | Clear local key | | router uninstall | Remove all local state (config + skill + Codex block); run npm uninstall -g after | | router list | Recent entries | | router search <q> | Keyword search (default limit 5, AI-friendly) | | router get <id> | Entry details | | router write "summary" | Write entry (see flags below) | | router delete <id> | Delete entry (within 15-min staging) | | router channels | List channels | | router tags | List tags | | router context | Server-side rules + sync_mode | | router skill install | Re-install / update SKILL.md | | router skill show | Print the server-authoritative SKILL.md template | | router skill diff | Show difference between local SKILL.md and server template | | router doctor | Self-check | | router brief | Per-user recap of recent team activity (Concierge) | | router memory | Team memory (full / sections / section <name>) | | router version | Print CLI version (also --version / -v) |

Every command supports --help (router write --help) for flags and examples.

router write flags

| Flag | Description | |---|---| | --tag a,b | Comma-separated tags (1-5) | | --channel x | Target channel | | --content "<md>" | Markdown body | | --file path | Read body from file | | --oneliner "..." | 10-15 char headline | | --search-keywords k1,k2 | Extra search terms |

Global flags

| Flag | Description | |---|---| | --json | Machine-readable output (for scripts / agents) | | --server <url> | Override the server (handy for staging). Same as ROUTER_SERVER env var. | | --version, -v | Print CLI version |

Configuration

Config is stored at ~/.routerrc:

{
  "key": "...",
  "server": "https://router.feedling.app",
  "last_skill_check_at": 1746523000
}

Override server without touching the file:

ROUTER_SERVER=https://staging.router.example router list
# or
router list --server https://staging.router.example

Sync modes

Configure at <server>/settings/sync:

  • Active (default): AI proactively asks when it sees a noteworthy moment, or pushes immediately when you say "sync".
  • Passive: AI auto-pushes silently with privacy stripping. You get a notification afterward; undo within 15 minutes via router delete <id>.

Skill template behavior is server-authoritative — the CLI auto-pulls updates daily. You don't need to reinstall when sync settings change.

License

MIT