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

pi-session-name

v0.1.2

Published

pi extension that auto-generates a concise session title from the first user prompt and shows agent running/idle status in the terminal title.

Readme

pi-session-name

npm version license

A pi extension that auto-generates a concise, meaningful session title from the first user prompt.


What it does

  • Captures the first user input in a session and freezes it as the title source
  • Generates a short title in the user's language using the active pi model
  • Retries up to 3 times, always with only the original first input
  • Never overwrites an already-set session name
  • Updates the terminal title in real time:
    • · <session name> - <cwd> — while the agent is running
    • ✳ <session name> - <cwd> — while idle

Behavior details

The extension listens for input, agent_start, and agent_end events:

  1. On the first input event, if the session already has a name → does nothing.
  2. Otherwise, stores the first user input in memory and starts title generation.
  3. Tries up to 3 times to generate a title from only that first input.
  4. All subsequent user messages are ignored — a failed first request will not cause the extension to switch to a later prompt.
  5. On agent_start / agent_end, the title prefix toggles between · (busy) and (idle).

Failure modes: if no model is selected, no API key is available, or all 3 attempts fail, the session simply stays unnamed — no error, no noise.

Install

From npm (global)

pi install npm:pi-session-name

From a local checkout

pi install /absolute/path/to/pi-session-name

Try without installing

pi -e /absolute/path/to/pi-session-name

Use -l with pi install to install into the current project's .pi/settings.json instead of your global settings.

Development

# Clone
git clone https://github.com/ttttmr/pi-session-name.git
cd pi-session-name

# Install dependencies
npm install

# Run tests
npm test

# Test locally in pi
pi -e .

Publish

npm publish

License

MIT