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

learnfold-link

v0.3.10

Published

Securely connects a learner-owned coding agent to the Learnfold app.

Readme

Learnfold Link

Learnfold Link is the open-source connection boundary between a learner-owned coding agent and the Learnfold app.

The repository contains:

  • the native learnfold-link connector distributed through npm;
  • the one-time Cloudflare Worker pairing broker and its tests;
  • the complete pairing protocol;
  • public CI and release automation.

The connector delegates local daemon behavior to the open-source Alleycat project and adds learnfold-link handoff <url>. That command performs user-level service setup, captures the pairing credential inside the native process, and submits it directly to Learnfold's one-time broker.

For stock Hermes Agent, the same command discovers the active Hermes profile, enables its authenticated localhost API, installs or refreshes the user-level gateway service when needed, and keeps the generated API key local. No Hermes source modification is required.

Install and connect

Learnfold provides a short-lived URL in its generated prompt. The agent needs to run only:

npx -y [email protected] handoff "<one-time Learnfold URL>"

Do not save or log the URL. It is a temporary credential.

Repository layout

| Path | Purpose | |---|---| | src/ | Native Rust connector and secure handoff command | | broker/ | One-time pairing broker, generated binding types, and tests | | docs/pairing-protocol.md | Public protocol and security properties | | .github/workflows/ | Public test and release provenance |

The operating-system service identifiers intentionally retain the legacy kittylitter name so existing installations keep their pairings and autostart entry while the public package remains Learnfold Link.

Verify locally

cargo test --locked

cd broker
npm ci
npm run types -- --check
npm run check
npm test

Broker deployment

The broker is a Cloudflare Worker backed by SQLite Durable Objects. Its checked in configuration is deployable but contains no credentials.

Before deploying a fork, choose a rate-limit namespace_id unique to your Cloudflare account in broker/wrangler.jsonc, then run:

cd broker
npm ci
npm run deploy

See the pairing protocol for the request flow and security guarantees.

Releases

GitHub Actions builds the native archives and npm installer from this public repository. npm publication uses a repository-scoped OIDC trusted publisher; no long-lived npm publishing token is stored in GitHub.

To cut a release:

  1. Pin a reviewed public Alleycat commit and run cargo update -p alleycat.
  2. Review and commit the resulting Cargo.lock.
  3. Bump version in Cargo.toml.
  4. Dispatch the public Release workflow with tag vX.Y.Z.

License

GPL-3.0-only. See LICENSE.