Skip to content

feat(cli): add vibeprompt CLI and interactive TUI (closes #19) - #71

Merged
dotsystemsdevs merged 2 commits into
dotsystemsdevs:masterfrom
LyraCS:feat/cli
Oct 7, 2026
Merged

dotsystemsdevs merged 2 commits into
dotsystemsdevs:masterfrom
LyraCS:feat/cli

Conversation

@LyraCS

@LyraCS LyraCS commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

What

Adds a cli/ package to vibeprompt: a terminal tool to browse, search, show, copy, and view prompts without leaving the terminal. Closes #19.

Commands

vibeprompt                       # alias for browse
vibeprompt browse                # list all categories with prompt counts
vibeprompt browse "Agent Setup"  # list prompts in a category
vibeprompt search "tdd"          # full-text search across all prompts
vibeprompt show <slug|title>     # print a prompt to stdout
vibeprompt copy <slug|title>     # copy a prompt to the clipboard
vibeprompt workflow              # show the 9-step playbook
vibeprompt tui                   # interactive split-pane terminal UI

The TUI (built with Ink, React-in-terminal) has split panes: prompts on the left, detail on the right. Arrow keys move, Enter opens a prompt, s searches, c cycles categories, Esc backs out or quits.

How it works

  • Reads prompts directly from prompt-library/ (the fully-offline option raised in the issue). Finds the folder by walking up from cwd, or via VIBEPROMPT_ROOT.
  • Slugs match the web app format (agent-setup-agents-md-generator).
  • Built with tsup, bundled ESM, ships a vibeprompt bin.

Notes / open questions from the issue

  • Name: kept vibeprompt. Aliases b, s, w added; happy to add vibe as a shorter alias.
  • Offline vs live: implemented fully offline (bundle reads the local prompt-library/). Swapping to live fetch later means changing loadLibrary() only.
  • PageLens scan: not wired. It lives in the web app (/scan, 40+ rules). Left as a stub pointing to the site; wiring it means either shipping the audit logic in Node or hitting a public endpoint, both need a decision.
  • brew install: out of scope here; needs a separate homebrew tap repo after publishing.

Tests

npm test in cli/ runs the node test runner against the built CLI (browse/search/show/workflow) and renders the TUI via ink-testing-library. 5 tests pass.

Typecheck

npm run typecheck in cli/ passes. The CLI is excluded from the root Next.js tsconfig and eslint so the web app build is unaffected.

Generated with AI assistance (Claude/opencode); reviewed by a human before opening.

@vercel

vercel Bot commented Sep 8, 2026

Copy link
Copy Markdown

@LyraCS is attempting to deploy a commit to the Dotsystems 9999 Team on Vercel.

A member of the Team first needs to authorize it.

@LyraCS
LyraCS marked this pull request as ready for review September 8, 2026 12:59
@dotsystemsdevs
dotsystemsdevs merged commit 8d2dbbc into dotsystemsdevs:master Oct 7, 2026
1 check failed
@dotsystemsdevs

Copy link
Copy Markdown
Owner

Thanks @LyraCS, merged! Heads up: the project is being renamed to Pineflow and moving under Stackpine, so the CLI name may change later. Really appreciate this 🙌

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: CLI + TUI for browsing prompts and running PageLens from the terminal

2 participants