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

@nanocollective/roster

v0.1.0-alpha.5

Published

An agent-run org, powered by GitHub. Scaffold AI staff members whose brain is a repo.

Readme

roster

Built by the Nano Collective — a community collective building AI tooling not for profit, but for the community.

An agent-run org, powered by GitHub. Each staff member is an AI whose brain is a private repo: a charter, a memory, a decision log, and a scheduled session that does a day's work unattended and hands off.

Full documentation is in docs/. Start with getting started, then read manual steps.

Status: working, private, one tenant. Every command below is built and exercised daily against a live two-agent org. Not published yet.

What it does

npx @nanocollective/roster      # set up, or join, an org — in a browser
roster init --org acme          # or from a terminal: ops repo, org layer, merge base
roster hire cto                 # scaffold a staff member: repo, workflows, labels, peers
roster app cto                  # create their GitHub App, write its secrets
roster doctor                   # is any of this actually wired up
roster portal                   # read every brain, and the docs, locally
roster upgrade                  # take framework changes without losing your edits

Nothing changes anything without --apply. roster help <command> for the rest, or docs/commands.md.

The shape

Nano-Collective/roster        this repo. The CLI, the templates, the portal, the docs.
                              ✗ never a runtime dependency of a tenant

<tenant>/roster-ops           the org layer + the machinery, generated from templates/ops/
  org/business.md               what the business is. You write this.
  org/operating.md              the autonomy contract
  org/voice.md                  house style
  org/guardrails.md             the non-negotiables
  prompts/                      composable run-kind fragments
  compose.mjs                   vendored. Builds the prompt at run time.
  agents.mjs                    vendored. Which coding agent runs, and how.
  .github/workflows/session.yaml    the reusable workflow every staff repo calls

<tenant>/<brain>              one repo per staff member. The repo is the brain.
  CHARTER.md                    the personality. Hand written. Never generated.
  staff.yaml                    the machine-readable half of the charter
  memory/INDEX.md               one line per fact, read at every boot
  memory/notes/                 the argument behind a fact, read on demand
  .github/workflows/            three callers, about forty lines each

Why a tenant vendors the machinery: a private reusable workflow can only be called from inside its own org, and a morning run should not depend on npm, on a network call, or on an organisation the tenant does not control. So the framework writes templates out and never runs anything. roster upgrade carries a new version across, and it is run by a human because App tokens cannot push changes under .github/workflows/ anywhere.

See architecture.

Any coding agent

roster composes a prompt and hands it to an agent. A runner is three shell-level facts:

agent:
  id: codex

Presets for claude-code-action (default), claude, codex and nanocoder. Anything else works by writing install, run and token_env into org.yaml. See choosing a coding agent.

Composition

A runtime prompt is assembled from org policy, the staff member's charter, and the run kind:

prompts/<kind>.md
  {{> prompts/_paths.md}}        where the repos are in the runner
  {{> prompts/_identity.md}}     which bot you are, on which repo
  {{>? staff:prompts/work.md}}   optional per-role override
  {{> org/operating.md}}         the autonomy contract
  {{> org/guardrails.md}}
  {{> org/voice.md}}

{{> x}} is required, {{>? x}} renders empty when absent, and staff: resolves inside the staff member's own repo. That is the extension seam: a role extends the org without forking it. Change org/voice.md once and everyone inherits it on their next run.

See prompts.

Development

pnpm install
pnpm test             # 148 tests, node:test through tsx
pnpm test:all         # the full gate
pnpm dev doctor --offline

Run it from a workspace root: a directory holding the ops repo and every brain repo side by side, which is the same shape the CI runner checks out.

Contributing

See CONTRIBUTING.md. Contributions are welcome at any level of experience.

pnpm install
pnpm test:all      # format, lint, types, dead code, tests

Community

Licensed MIT, copyright Nano Collective.


Before touching anything that reaches a live org, read working on roster itself. The short version: never fix a generated file in a tenant, and check roster prompt output byte for byte before shipping a prompt change.