↑ subaud · local-first · MIT  

Small workshop tools for your terminal

tackle

The home for small workshop tools you run in your own terminal.

tackle is your gear — a small set of workshop TUIs that live in your terminal, not in a browser tab. It's one Go monorepo where each tool is an independent binary you install on its own. First out of the box: proj, the agent-aware tmux session picker; scratch, the per-directory scratchpad; and creel, masked capture of a secret into a local .env. A .tools family member in spirit — the gear you reach for, distinct from the single-purpose products.

what it's for

Your gear lives in the terminal.

The rest of the .tools family are single-purpose products — a coordination bus, a review tool, a setup engine. tackle is the other kind of thing: the small, sharp tools you keep on the bench and reach for all day. The name is the double meaning — your tackle is the gear you work with, and it's what you do to a task. Everything here runs on your machine, keeps its state on your disk, and never phones home.

one monorepo

A single Go repository, github.com/schuettc/tackle, with one tool per cmd/ directory. Shared house style, shared plumbing, but each tool ships as its own independent binary — you install only the ones you want.

terminal-native

These are TUIs, built with Bubble Tea. They open where you already are — inside tmux, in a shell — do one job, and get out of the way. No daemon to babysit, no browser, no account.

agent-aware

tackle's tools know you're running coding agents. proj reads which agent is live in each session and surfaces muster attention right in the picker, so the way in to a work session already tells you what's waiting there.

local-first, MIT

Like the rest of the family: your machine, your disk, no telemetry. Open source under the MIT license, with the source and every binary path on GitHub.

the tools

What's on the bench.

Three tools ship today, each installable on its own. More will join the monorepo over time — the shape is deliberately open, a shelf you add to.

proj →

the agent-aware session picker

The way in to a work session. proj lists your live tmux sessions with the agent running in each, its state, and any muster attention flag — with a preview pane, per-project tmux servers, and a configurable sidebar. Pick a session, attach, get to work.

scratch →

the session-scoped scratchpad

The notes pane of every workspace. scratch opens a scratchpad scoped to your session — a place to jot the thing you'll need in ten minutes without leaving the terminal or polluting the repo. It autosaves, and an agent can append to the same pad from the command line.

creel →

masked secret capture into a local .env

The safe way to hand a running agent an API key. creel prompts for the value in a masked field and writes it straight into a local .env file, so the secret goes from your keyboard to the file and the agent that opened creel receives only a status token saying the key was written. Run it yourself, or let a harness pass the name and destination and drive it.

install

Install a tool, run it.

One command downloads the tools, verifies each checksum, and puts them on your PATH (~/.local/bin). It runs on macOS and Linux, Apple silicon and x86-64. Name tools to install only those; with none it installs all of them.

# all of proj, scratch, creel
$ curl -fsSL https://tackle.tools/install.sh | sh

# or just the ones you want
$ curl -fsSL https://tackle.tools/install.sh | sh -s proj scratch

# then run one
$ proj

Run the same command again to upgrade to the latest release; check what you have with proj version. Prefer to build from source? Each tool is its own binary — go install github.com/schuettc/tackle/cmd/proj@latest (and likewise scratch, creel).