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-thinking-level

v0.2.1

Published

A tiny pi package that adds a /thinking command to set and persist pi's default thinking level.

Downloads

366

Readme

pi-thinking-level

A small pi package that adds a /thinking command to set the current thinking level and persist it as your default.

Why this exists

pi already makes it easy to change thinking level interactively with Shift+Tab.

This package exists for a slightly different use case: giving you an explicit command for setting a specific level and saving it as your default in one step.

That makes it useful if you want a workflow that is:

  • More deliberate — choose high or medium directly instead of cycling
  • More persistent — update your current session and your future default together
  • More scriptable/documentable — easy to mention in notes, team docs, screenshots, and demos
  • More self-explanatory/thinking high is clearer than “press Shift+Tab until it looks right”

What it does

  • Adds a /thinking command
  • Updates the current session's thinking level immediately
  • Writes defaultThinkingLevel to ~/.pi/agent/settings.json
  • Supports the built-in pi thinking levels:
    • off
    • minimal
    • low
    • medium
    • high
    • xhigh

Command

/thinking status
/thinking off
/thinking minimal
/thinking low
/thinking medium
/thinking high
/thinking xhigh

If you run /thinking with no arguments, it shows the current level.

Installation

From npm

pi install npm:pi-thinking-level

From GitHub

pi install git:github.com/mdsitton/pi-thinking-level

From a local path

pi install /absolute/path/to/pi-thinking-level

Or use it for a single run:

pi -e /absolute/path/to/pi-thinking-level

After installation, run:

/reload

Usage examples

/thinking status
/thinking medium
/thinking high

Example flow:

  1. Run /thinking high
  2. pi switches the current session to high
  3. The extension saves "defaultThinkingLevel": "high" to your pi settings
  4. Future sessions start with that default unless you change it again

Notes

  • This package only adds one command and has no third-party runtime dependencies.
  • If pi cannot write settings.json, it still updates the current session and shows a warning.
  • If settings.json contains invalid JSON or a non-object top-level value, the extension will warn instead of overwriting it blindly.

Package structure

pi-thinking-level/
├── src/
│   └── index.ts
├── package.json
├── README.md
└── LICENSE

The package uses the pi package manifest in package.json:

{
  "pi": {
    "extensions": ["./src/index.ts"]
  }
}

Development

Test the extension entrypoint directly with:

pi -e ./src/index.ts

Or test the package root with:

pi -e .

Or place the folder in:

~/.pi/agent/extensions/pi-thinking-level

Then hot reload with:

/reload

License

MIT