acoyfellow/auto-thinking-pi — explained in plain English
Analysis updated 2026-05-18
Automatically set a higher reasoning effort for Pi when a prompt looks difficult.
Inspect the last 20 auto-thinking decisions with the /autothink status command.
Import the classify function directly to score prompt difficulty in other Bun code.
Tune the classifier's keyword and scoring rules to match your own team's prompt style.
| acoyfellow/auto-thinking-pi | bbdaii/three-pivot-controls | codee-sh/payload-training-app | |
|---|---|---|---|
| Stars | 10 | 10 | 10 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 3/5 | 2/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Bun and an existing Pi coding-agent installation, not published to npm, install by cloning.
This project is an extension for a coding agent called Pi. Its job is to look at each prompt a user types and decide, before Pi starts working on it, how much reasoning effort Pi should apply to that turn, ranging from off up to a high effort level. It makes this decision using a small set of local rules rather than by making an extra call to an AI model, so the classification itself is instant and free. The classifier looks at things like whether the prompt contains certain keywords that suggest a hard task, whether it contains words suggesting a trivial task, how many words are in the prompt, whether it includes code blocks, and whether it references specific files. Based on a scoring system built from these signals, it maps the prompt to a reasoning level such as off, low, medium, high, or extra high, and calls a function that tells Pi to use that level for the upcoming turn. It never changes or rewrites the user's actual prompt text. Inside Pi, a command called autothink lets a user turn the feature on or off and inspect the last twenty decisions it made, including the prompt snippet, the level chosen, and a short human-readable reason. The classifier code is also exported separately so it can be imported and used directly from other TypeScript code running under Bun or Pi. The project deliberately treats under-thinking, meaning applying too little effort to a genuinely hard prompt, as worse than over-thinking, so it includes a safety floor that pushes ambiguous prompts toward at least a medium effort level rather than risking a rushed, low effort answer. The README documents how to add your own test prompts to tune the classifier for a different workload, along with the exact scoring rules and thresholds used. This is only usable inside the Pi coding agent ecosystem. It requires the Bun JavaScript runtime, is not published to a package registry, and is installed by cloning the repository or loading it directly into Pi from a local path.
A Pi coding agent extension that uses local rules, not an AI call, to auto-set reasoning effort per prompt.
Mainly TypeScript. The stack also includes TypeScript, Bun, Biome.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.