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

ctx-protocol

v0.1.0

Published

Shared project context for humans and AI agents. Zero dependencies.

Downloads

13

Readme

ctx

Shared project context for humans and AI agents. File-based, zero-dependency, works everywhere.

Why

AGENTS.md tells agents how to work in your repo. ctx tracks what's happening — status, decisions, tasks, handoffs — so any agent (or human) can pick up where the last one left off.

Install

npm i -g ctx-protocol

Quick Start

ctx init                    # creates .context/ with 4 YAML files

ctx status set \
  --goal "Build auth system" \
  --phase building \
  --stack "node,postgres"

ctx decide "Use JWT" --why "Stateless, scales horizontally"

ctx task add "Implement login endpoint"
ctx task add "Add rate limiting"
ctx task doing t001
ctx task done t001

ctx handoff                 # generate handoff summary
ctx briefing                # full context dump for the next agent

Output of ctx briefing:

═══ CTX BRIEFING ═══

Project:  my-app
Goal:     Build auth system
Phase:    building
Status:   🟢 green
Stack:    node, postgres

── Tasks ──
  ○ [t002] Add rate limiting (todo)

── Decisions ──
  [d001] Use JWT
         Why: Stateless, scales horizontally

── Last Handoff ──
  my-app is in building phase, status green
  Needs doing:
    → Add rate limiting

═══════════════════

Commands

| Command | Description | |---------|-------------| | ctx init | Create .context/ directory with template files | | ctx status | Show project status | | ctx status set --phase <p> --status <s> --goal <g> | Update project status | | ctx decide "what" --why "why" | Record a decision | | ctx task list | List all tasks | | ctx task add "title" | Add a task | | ctx task doing <id> | Mark task in progress | | ctx task done <id> | Mark task complete | | ctx task block <id> | Mark task blocked | | ctx handoff | Generate handoff summary from current state | | ctx briefing | Output full project briefing | | ctx log | Show timeline of all events |

How it works

Everything lives in .context/ at your project root:

.context/
├── status.yaml      # project goal, phase, status, stack, blockers
├── decisions.yaml   # decision log with rationale
├── tasks.yaml       # task list with status tracking
└── handoff.yaml     # generated handoff summary

All files are YAML — human-readable, git-diffable, no database needed.

With AGENTS.md

| | Purpose | |---|---| | AGENTS.md | Static — how to work in this repo (conventions, architecture, rules) | | .context/ | Dynamic — what's happening right now (status, tasks, decisions) |

Put both in your repo. Agents read AGENTS.md for guidelines and ctx briefing for current state.

Design Principles

  • Files are the protocol.context/ is the entire system, no server needed
  • YAML over JSON — human-editable, clean diffs
  • Zero dependencies — pure Node.js ESM, built-in YAML parser
  • CLI-first — any agent, IDE, or CI can call it
  • Cross-tool — not tied to any specific AI provider or framework

License

MIT