impulse
a co-partner for the terminal
scroll

A first-class co-partner
for any task — in your terminal.

Research, plan, write, automate, build — impulse partners on whatever you're working on. Brutally minimal, and provider-flexible: bring any OpenAI- or Anthropic-compatible model.

$npm i -g @spenceriam/impulse@latest
First run walks you through setting up your profile, your communication preferences, and your provider. · read the docs on GitHub →
david — impulse — 175×43
Why

Why build impulse?

I have an opinionated view of what a terminal tool should be — and I couldn't find one that matched it. So I built my own: one that's exactly as simple or as complex as my own work needs it to be, and nothing more.

That's the whole idea. impulse isn't trying to be everything for everyone. It's a co-partner shaped around how I actually work, kept deliberately small, and shared openly for anyone who sees the terminal the same way.

What is it

A partner for any task — not just code.

impulse lives in your terminal and works alongside you on whatever you're doing: research a problem, plan an approach, draft and edit, run things, dispatch sub-agents. Opinionated and simple on purpose — no lock-in, no bloat.

Any task

Research, planning, writing, automation, code — whatever the work is, it partners on it.

Sub-agents

Hand off work to parallel sub-agents and watch their progress stream back inline.

Four modes

AGENT, EXPLORE, PLAN, DEBUG — press Tab to change how it works.

Your provider

Any OpenAI- or Anthropic-compatible endpoint. Automatic model discovery, persistent config.

How

Made for the place you already work.

Why the terminal

The terminal is quietly becoming a primary way people get things done — not just engineers. It's fast, focused, and free of the noise that fills most apps. It's also where I spend most of my day, so it's where impulse lives. No new window to learn, no context to leave behind.

How it works

Install it, run impulse, and the first launch walks you through a short setup — who you are, how you like to be spoken to, and which model to use. After that, just type what you need in plain language. impulse works out the steps, does the work, and shows you what it did. Change how it approaches a task with a single keypress.

Install & go.

One command. First run walks you through picking a provider and a model.

$npm i -g @spenceriam/impulse@latest
Bun 1.0+ 256-color terminal macOS · Linux · Windows
Who made this

Built by Spencer Francisco

Spencer is an AI-enabled developer and product manager who works at the intersection of engineering and product. He's drawn to opinionated, self-directed tools — software shaped around how he actually works rather than someone else's defaults. When the thing he needs doesn't quite exist yet, he builds it.

impulse is exactly that: a co-partner in the terminal, kept deliberately small. If you build something with it or want a provider added, reach out.

Acknowledgements

Thanks to Mario Zechner — for the pi agent that inspired the rework, and pi-tui, the terminal UI framework impulse is built on.