Skip to content

Instantly share code, notes, and snippets.

@breadchris
Created July 21, 2025 21:19
Show Gist options
  • Save breadchris/1e21eba677c9ed2274ce09db1dd52655 to your computer and use it in GitHub Desktop.
Save breadchris/1e21eba677c9ed2274ce09db1dd52655 to your computer and use it in GitHub Desktop.
start → view → tweak → ship

The most successful CLIs follow a core principle:

Minimize surface area. Maximize momentum.

Protoflow’s purpose is simple but powerful: Help builders stay in flow while turning tasks into working, testable prototypes.

Let’s start from use cases, distill the mental model, and then define a minimal CLI that truly serves its purpose.

🔁 Distilled Workflow (Mental Model) Here’s what users are actually trying to do:

Kick off a feature idea – I know what I want: “add user login.”

Get a working version – I want to see it run, not just code.

Iterate with teammates – I want feedback fast.

Merge it cleanly – If it works, ship it. If it doesn’t, trash it.

That’s it.

They don’t want to manage sessions, branches, previews, or config files. They want to create, view, iterate, finish, or delete.

So…

🔧 Proposed Minimal CLI bash Copy Edit protoflow [args] Only five user-facing commands:

Command Purpose start Create a new task-based prototype (branch + session) view Show current tasks, previews, or open a prototype in browser tweak Refine a task with an AI-directed prompt ship Merge the task branch into main and mark it complete drop Delete the task, branch, and environment

Bonus:

init (first-time setup, GitHub link, auth keys, etc)

config (edit protoflow/worklet config)

version / help

🧠 What This Unlocks

  1. protoflow start "Add login form" Creates a pf42 task + branch marty/add-login-form

Sets up a worklet container

Generates and boots a prototype

Returns a live preview URL

  1. protoflow view Shows:

bash Copy Edit ACTIVE TASKS pf42 Add login form https://marty-add-login-form.pf.run pf43 Add logout logic [not running]

Use protoflow view pf42 to open preview 3. protoflow tweak pf42 "Add forgot password button" AI reviews context + code

Applies changes

Updates preview

Logs changes to context history

  1. protoflow ship pf42 Merges branch cleanly into main

Pushes to origin

Marks task complete

Optionally cleans up preview/env

  1. protoflow drop pf43 Deletes local worktree

Removes preview + context

Cleans up container + branch

🪄 Why This Works Intuitive: Every command aligns with a developer’s natural phrasing: “start”, “view”, “tweak”, “ship”, “drop”

Focused: Only one core object: task. You don’t need to think about sessions or branches unless you want to.

Invisible plumbing: Worklet, Docker, AI agents, Git branching—all encapsulated under task lifecycle.

Context-aware: Protoflow uses your current Git repo, user, and local state to reduce cognitive load.

🔚 Final Thought Protoflow’s superpower is momentum—capturing intent and delivering a running prototype before the user loses interest. The CLI should reflect that: frictionless, expressive, and minimal.

Stick to 5 verbs: start → view → tweak → ship or drop.

That’s all a developer really wants.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment