Custom CLI tools for agencies and product teams
Replace your team's graveyard of bash scripts with a single TypeScript CLI that ships as a standalone binary.
Based on buncli, my production template for Bun-based CLIs.
Ideal for
- Agencies that spin up new client projects and want every project scaffolded the same way
- Product teams whose deploy, release, or onboarding steps live in a README nobody follows
- Founders who need an internal tool for non-engineers (ops, support, finance) without building a full web app
- Teams that currently rely on bash scripts, Makefiles, or one-off Python utilities nobody maintains
What you get
- A TypeScript CLI with your commands, options, and interactive prompts
- Standalone binaries for macOS, Linux, and Windows (no runtime required on the target machine)
- GitHub Actions release workflow that publishes binaries on each tag
- Documented commands and a `--help` surface that reads like a product
- A test harness so future commands have a pattern to follow
- Handoff walkthrough and a written runbook for extending the CLI
What an engagement looks like
Agency project scaffolder
One command to scaffold a new client project from your standard stack: repo, CI, env files, design tokens, starter routes. Prompts for client name, stack variant, and deploy target.
Guided deploy workflow
Wrap your deploy steps (migrations, smoke checks, cache purges, notifications) into a single interactive command with pre-flight validation and an audit log of who ran what.
Ops lookup tool
A CLI for your support or ops team to look up customers, reset credentials, re-run failed jobs, and export audit snapshots without SQL access or a full admin UI.
How it works
- 01
Scope call (free)
A 30-minute call to map out the commands, users, and systems your CLI needs to touch. You leave with a written scope and fixed price.
- 02
Prototype
I ship a working CLI with 1-2 commands end-to-end so you can feel the shape of it before we expand.
- 03
Build + review
The remaining commands, binary builds, CI release workflow, and docs. Regular demos so there are no surprises.
- 04
Handoff
Walkthrough with your team, written runbook for adding new commands, and post-launch support included.
Proof
Common questions
Why a CLI instead of a web app?
CLIs run in seconds, live next to the work (terminals, CI, IDEs), and can be version-controlled, code-reviewed, and scripted. For internal workflows with a small audience, a CLI is faster to build, cheaper to host (there's no server), and easier to trust than a one-off admin UI.
What if we're a Node shop, not a Bun shop?
The CLI can target Node instead of Bun if you need it. Bun just makes the binary story dramatically simpler: a single executable your team can download and run without installing a runtime.
How do updates work after handoff?
Your repo, your CI, your binaries. The release workflow I set up means publishing a new version is a git tag. For ongoing work, I offer a monthly retainer, but most teams extend their CLI themselves using the patterns from the build.
Can you integrate with our existing APIs and auth?
Yes. The prototype phase is specifically for wiring up your real endpoints, auth (OAuth device flow, PATs, SSO-backed tokens, whatever you use), and any services the CLI needs to hit. The prompt patterns and error handling come from the template; the integration is tailored.
Start a project
Tell me about what you're building. I'll reply within one business day with questions and whether this is a good fit. Prefer to talk? Book a 30-minute scope call.

