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

agendo

v0.1.0

Published

Terminal UI to launch/resume Claude and Copilot agent sessions for Azure DevOps work items

Readme

agendo

agendo — a little console for launching and wrangling your Claude (and Copilot) agent sessions. (agenda + do; also the Latin root of agent.)

agendo

agendo manages your Claude and Copilot agent sessions as tabs in one tmux session, organized around your Azure DevOps work items or GitHub issues. It automatically finds every session you've ever started and matches each to the PRs and issues it belongs to — by branch name, PR/issue number, and the like — so you see what's assigned or open, with each item's PR and CI status, then jump into (or attach to) the agent already working on it, or spin up a fresh one in its own worktree, all from one keyboard-driven list. Wrangling those tmux sessions is the whole point, so it runs as a single tmux session by default.

Run

Requires:

  • bun — agendo runs on bun.
  • tmux — agendo manages your agents as tabs in one tmux session.
  • a backend CLI, auto-detected on your PATH:
    • az (with az login) for Azure DevOps, and/or
    • gh (with gh auth login) for GitHub.
bunx agendo            # or: bun x agendo  (npx agendo works too, if bun is installed)
bunx agendo --no-tmux  # run the menu inline, without a tmux session

For Azure DevOps, set your org / project / team / tenant in ~/.agendo/config.json first (see Config). GitHub needs no config.

Features

Azure DevOps & GitHub backends

Both are auto-detected from the CLIs on your PATH; switch between them — and see each one's live auth status — from the settings page (,). Azure DevOps lists the work items in your team's current sprint with their linked PRs; GitHub lists issues scoped to the repos discovered across your local sessions.

One tmux session, one tab per agent

agendo lives in a single canonical agendo tmux session: the menu is tab 1, and every agent you open or resume becomes another tab in the same session. Re-running agendo attaches to it rather than spawning a second, so there's only ever one. (--no-tmux runs it outside tmux, where each agent is a detached session you attach to.)

Browser-style session restore

It remembers the agent tabs you had open and lazily restores them next launch — each reappears in the tab strip but stays unloaded until you switch to it and press a key, so startup never spawns a fleet of agents.

Orchestrator agents that spin up their own worktrees

Every Claude agendo starts is given a small system prompt pointing at agendo launch/list/status/send. So an agent can spin off new sessions — each in its own fresh worktree — for separate pieces of work that deserve their own PR, then monitor and steer them through the same commands. One orchestrator session can fan a large task out across many worktrees and coordinate them, instead of hand-rolling tmux and git worktree. The sessions it starts inherit the same ability.

Fresh sessions in isolated worktrees

Pick "start a fresh session", choose the agent and repo, and agendo creates a git worktree off the repo's default branch and launches the agent there — so new work never disturbs your current checkout.

Cross-agent continue (Claude ↔ Copilot)

Hover a session and press c to continue it in the other agent: agendo converts the transcript to that agent's on-disk format and resumes it, so a conversation can move between Claude and Copilot without losing context.

Config

Azure DevOps connection details live in ~/.agendo/config.jsonorg, project, team, tenant. There are no baked-in defaults and nothing is auto-discovered, so set them for your own setup (see src/config.ts for the shape); the token is fetched via az, no PAT needed. GitHub needs no config — it scopes to the github.com repos found across your local sessions. Your selected backend is remembered in ~/.agendo/state.json.

Testing

Browser-rendered integration tests live in e2e/: they spawn the TUI in a PTY, render it in a real headless browser via wterm, and drive it with Playwright against a fully mocked environment — Azure DevOps, on-disk sessions, tmux, and git are all faked, so nothing real is touched.

bun run test:e2e:setup   # one-time: download Chromium
bun run test:e2e