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

@hjanuschka/pi-entire

v1.0.0

Published

Pi coding agent extension for Entire.io session tracking

Readme

Pi-Entire Extension

Integrates pi coding agent with Entire.io for automatic AI session capture and tracking.

What is Entire?

Entire hooks into your git workflow to capture AI agent sessions on every push. Sessions are indexed alongside commits, creating a searchable record of how code was written in your repo.

Features

  • Automatic Session Tracking: Tracks prompts, files modified, and checkpoints during pi sessions
  • Checkpoint Counting: Shows checkpoint count in the status bar
  • Session Metadata: Writes session metadata to .entire/metadata/ for Entire to consume
  • Status Command: /entire status shows current session info
  • LLM Tool: entire_status tool lets the LLM check session status

Installation

1. Install Entire CLI

curl -fsSL https://entire.io/install.sh | bash

Or via Homebrew:

brew tap entireio/tap
brew install entireio/tap/entire

2. Enable Entire in Your Repository

cd your-project
entire enable

3. Install the Pi Extension

Add to your ~/.pi/agent/settings.json:

{
  "packages": [
    "npm:@hjanuschka/pi-entire"
  ]
}

Or for project-local installation, add to .pi/settings.json:

{
  "packages": [
    "npm:@hjanuschka/pi-entire"
  ]
}

Then restart pi or use /reload to load the extension.

Usage

Status Bar

When Entire is active, you'll see a status indicator in pi's footer:

📦 Entire: 5 checkpoints

Commands

| Command | Description | |---------|-------------| | /entire status | Show current session status | | /entire rewind | Rewind to a previous checkpoint | | /entire help | Show available commands |

LLM Tool

The extension registers an entire_status tool that the LLM can use to check session status:

Use entire_status to check if session tracking is active

How It Works

Session Lifecycle

  1. Session Start: When pi starts, the extension checks if Entire is enabled and creates a new session ID
  2. Turn Tracking: After each agent turn, checkpoints are tracked and the status bar is updated
  3. Metadata Writing: Session metadata (prompts, files modified) is written to .entire/metadata/<session-id>/
  4. Session End: Final metadata is written when the session ends

Integration with Entire Strategies

| Strategy | Behavior | |----------|----------| | manual-commit (default) | Checkpoints are created when you make a git commit | | auto-commit | Checkpoints are created automatically after each agent response |

The extension tracks session state regardless of strategy - the actual checkpoint persistence is handled by Entire's git hooks.

Configuration

No additional configuration required. The extension automatically:

  • Detects if Entire CLI is installed
  • Checks if Entire is enabled in the current repository
  • Tracks session state in memory

Comparison: Pi vs Claude Code / Gemini CLI

Entire was originally built for Claude Code and Gemini CLI. Here's how the pi integration compares:

| Feature | Claude Code / Gemini | Pi | |---------|---------------------|-----| | Checkpoint Saving | Via agent hooks | Via turn_end events | | Session Metadata | Agent-provided | Extension-generated | | Rewind Support | Full support | Full support | | Strategy Support | Both strategies | Both strategies |

Architecture

┌─────────────────────────────────────────────┐
│                Pi Coding Agent               │
│                                             │
│  ┌─────────────────────────────────────┐   │
│  │         Pi-Entire Extension          │   │
│  │                                      │   │
│  │  • session_start → check status     │   │
│  │  • turn_end → track checkpoint      │   │
│  │  • agent_end → write metadata       │   │
│  │  • /entire command                  │   │
│  │  • entire_status tool               │   │
│  └─────────────────────────────────────┘   │
│                    │                        │
└────────────────────┼────────────────────────┘
                     │
                     ▼
          ┌──────────────────┐
          │   Entire CLI     │
          │                  │
          │  • Git hooks     │
          │  • Checkpoints   │
          │  • Rewind        │
          └──────────────────┘
                     │
                     ▼
          ┌──────────────────┐
          │  entire/         │
          │  checkpoints/v1  │
          │  (metadata)      │
          └──────────────────┘

Troubleshooting

"Entire CLI not installed"

Install Entire:

curl -fsSL https://entire.io/install.sh | bash

Then add to PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

"Entire is not enabled"

Enable Entire in your repository:

cd your-project
entire enable

Extension not loading

Check that the package is in your settings.json:

cat ~/.pi/agent/settings.json
# Should include: "packages": ["npm:@hjanuschka/pi-entire"]

Use /reload in pi to reload extensions, or restart pi.

Development

Testing the extension locally

# Load directly for development
pi -e ./index.ts

# Check extension is loaded
/entire status

Publishing to npm

npm publish --access public

Contributing

Contributions welcome! Please open issues and PRs at the Entire CLI repo: https://github.com/entireio/cli

License

MIT License - see LICENSE for details.

Links