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

@microsoft/events-cli

v0.2.0

Published

CLI for searching Microsoft flagship event sessions (Build, Ignite).

Readme

Microsoft Events CLI preview

msevents is a terminal CLI for searching Microsoft flagship event session catalogs (Build, Ignite, AI Tour).

It fetches public session catalogs, builds a local search index, and returns filtered results — useful for agents, scripts, or quick lookups from the terminal.

Requirements

This project requires Node.js 22 or later.

node --version

Installation

Option A: Run instantly with npx (no install)

npx @microsoft/events-cli sessions --query "Microsoft Foundry"

Option B: Install globally

npm install -g @microsoft/events-cli
msevents sessions --query "Microsoft Foundry"

Commands

msevents sessions --query "agent orchestration"
msevents sessions --tech "Microsoft Foundry"
msevents sessions --tech "Azure Cosmos DB" --type lab
msevents sessions --speaker "Scott Hanselman"
msevents sessions --tech "Microsoft Foundry" --speaker "Yina Arenas"
msevents sessions --event build-2025 --query "Foundry"
msevents session BRK155
msevents refresh
msevents refresh --event build-2026
msevents status

Available commands:

  • sessions searches sessions across all cached events.
    • --query <text> keyword search across all fields (boosts title)
    • --tech <name> search by technology (matches product, tags, topic, languages)
    • --speaker <name> search by speaker name
    • --type <type> filter by session type (breakout, lab, demo, keynote)
    • --event <id> filter to a specific event (e.g., build-2026, ignite-2025)
    • --limit <n> max results (default: 10)
  • session <code> looks up a specific session by code. Searches all cached events; disambiguates if the code appears in multiple events.
    • --event <id> scope to a specific event
  • refresh checks for session catalog updates and updates the local cache.
    • --event <id> check a specific event only
    • --force bypass conditional revalidation and re-fetch unconditionally
  • status shows what's cached and how fresh it is.

The sessions and session commands output human-readable text by default. Pass --json to get structured JSON, which is useful for piping to agents or other tools:

msevents sessions --query "Foundry" --json | jq '.[].title'
msevents session BRK155 --json

Supported events

| Event | Event ID | Status | |-------|----------|--------| | Build 2026 | build-2026 | Live | | Ignite 2025 | ignite-2025 | Live | | Build 2025 | build-2025 | Live |

Use --event <id> to filter to a single event. Without it, commands search across everything cached.

Behavior

  • Auto-refresh: search and lookup commands are cache-first. Missing caches are fetched automatically, and existing caches are revalidated only when their next check is due.
  • Revalidation: due caches use conditional GET (ETag/Last-Modified). A 304 response avoids downloading the catalog body; network failures fall back to stale cache.
  • Network-friendly checks: recent checks are skipped, stable catalogs are checked less often, and failed checks use backoff with jitter to avoid request spikes.
  • Disambiguation: if a session code exists in multiple events, the CLI shows options.
  • Results: 10 by default, --limit to override.

Development

To build and test from source:

cd cli
npm install
npm run build
npm test
node dist/index.js --help