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

windback

v1.0.6

Published

AI agent session viewer and unified session workspace

Readme

Windback

Unified AI session store and MCP server for Claude Code, Cursor, GitHub Copilot, and Windsurf — all on a single device.

Every conversation you have with any AI agent gets captured and stored in one place at ~/.windback/workspace/. Each session gets a memorable name like dark-ocean or swift-falcon. Any agent with MCP access can load any past session by name and continue from where it left off.


What it does

  • Scans all AI agent sessions on your machine (Claude Code, Cursor, Copilot, Windsurf)
  • Stores them in a single local store at ~/.windback/workspace/
  • Assigns each session a memorable name (e.g. dark-ocean, swift-falcon)
  • Exposes a local MCP server so any agent can read, search, and load sessions
  • Stores learnings that agents can sample at the start of future sessions

Quick Start

No install needed. Run any command directly with npx:

npx windback sessions
npx windback mcp
npx windback auto

Or install globally once and use windback anywhere:

npm install -g windback

Then run:

windback sessions
windback mcp
windback auto

Commands

windback sessions

Browse all AI agent sessions in a terminal UI.

windback sessions

Navigate with arrow keys or j/k. Open any session to read its full conversation.

Keys inside a session:

| Key | Action | |-----|--------| | s | Save session to the unified workspace store | | l | Save a learning from this session | | e | Export as Markdown to ~/Documents/windback-exports/ | | E | Export as a system prompt (paste into any agent to continue) | | r | Refresh messages from disk | | esc / h | Go back | | q | Quit |

When you press s, the session is saved with a name like "dark-ocean" shown in the status bar. Use that name to load the session from any agent.


windback mcp

Start the MCP server. Add this to your agent's MCP config so it can access the unified session store.

windback mcp

MCP config (Claude Code, Cursor, Windsurf, etc.):

Using npx (no install required):

{
  "mcpServers": {
    "windback": {
      "command": "npx",
      "args": ["-y", "windback", "mcp"]
    }
  }
}

Or if installed globally (npm install -g windback):

{
  "mcpServers": {
    "windback": {
      "command": "windback",
      "args": ["mcp"]
    }
  }
}

windback auto

Watch all agent session directories and auto-sync them to the store in the background.

windback auto

Uses fs.watch with a 2-second debounce, and falls back to polling every 30 seconds. Run this as a background process if you want sessions kept continuously up to date without pressing s manually.


MCP Tools

Once the MCP server is running, any connected agent can call these tools:

Sessions

| Tool | Description | |------|-------------| | list_sessions | List all stored sessions. Pass agent to filter (claude, cursor, copilot, windsurf). Returns workspace-matching sessions first. | | read_session | Load full message history. Accepts a session ID or name (e.g. "dark-ocean"). | | save_session | Save or upsert a session with its messages. | | delete_session | Remove a session by ID. | | search_sessions | Full-text search across workspace path, agent name, session name, and message content. |

Learnings

| Tool | Description | |------|-------------| | save_learning | Store a piece of knowledge — a pattern, preference, or insight. Pass agentKey, content, optional tags, and optional workspace. | | sample_learnings | Get a sample of stored learnings to inject into your context at session start. Workspace-specific learnings come first. Call this at the beginning of each session. | | list_learnings | List learnings filtered by agent, workspace, or tags. | | search_learnings | Full-text search across learning content and tags. | | delete_learning | Remove a learning by ID. |


Loading a past session in another agent

When a session is saved, it gets a name like dark-ocean. To continue that session in any agent:

# Tell the agent:
Use the windback MCP tool to load the session named "dark-ocean" and continue from where we left off.

The agent calls read_session("dark-ocean"), gets the full message history, and can resume immediately.


Session store location

All data is stored locally on your device at:

~/.windback/workspace/
  index.json          # session metadata + names
  learnings.json      # stored learnings
  sessions/
    <id>.json         # full message history per session

Nothing is sent to any server. Everything stays on your machine.


Supported agents

| Agent | Sessions source | |-------|----------------| | Claude Code | ~/.claude/projects/**/*.jsonl | | Cursor | %APPDATA%\Cursor\User\workspaceStorage\ | | GitHub Copilot (VS Code) | %APPDATA%\Code\User\workspaceStorage\ | | Windsurf | %APPDATA%\Windsurf\User\workspaceStorage\ |

On macOS, replace %APPDATA% with ~/Library/Application Support/. On Linux, ~/.config/.

To add a new agent, edit src/lib/data.ts and add an entry to the AGENTS array.



License

MIT