Skip to content

1980computer/uiprocess-tui

Repository files navigation

UIProcess TUI

Prebuilt layouts and terminal app templates for modern TUI development.

Easy Setup (Non-Technical)

There are two ways to “preview” layouts, depending on what you need:

Goal What to do Requires Go?
See the layout ideas (colors, panes, structure) in a normal window Double-click Browse Layout Gallery.command — your browser opens a static gallery (index.html). No
Use the real terminal app (keyboard, scrolling, real TUI) Install Go once, then double-click Start UIProcess.command and pick a numbered layout. Yes

Visual-only path (no Go):

  1. Open the project folder in Finder (often uiprocess-tui on your Desktop).
  2. Double-click Browse Layout Gallery.command. Your default web browser should open with static mockups for each layout. If nothing opens, double-click index.html instead.

Interactive path (real TUI, needs Go):

  1. Install Go (one-time): https://go.dev/dl
  2. In the same project folder, double-click Start UIProcess.command. Terminal opens and shows a text menu; choose a number (for example 1–5 for the original layouts, 8–10 for MarkdownStudio/WizardFlow/KanbanBoard, 11–15 for DataGrid/CommandPalette/Form/DiffCompare/Timeline, 16–18 for TreeExplorer/CrudWorkbench/JobMonitor, 19–23 for IncidentConsole/SchedulerCalendar/MultipaneConsole/TreeTable/PipelineBoard, 24–28 for TraceViewer/ServiceHealth/SearchResults/MergeConflict/DebugRepl, and 29–31 for NotificationCenter/TriPaneShell/GitGraph) and press Return.

If you use Start UIProcess.command without Go installed, the script offers to open the same static gallery in your browser instead of exiting with only an error.

Where is the file? (step by step)

  • Finder here means “the window where you browse your files,” not a special item inside Finder’s menu bar.
  • Click Desktop in the left sidebar of a Finder window, then double-click the uiprocess-tui folder (or whatever you named the project). In that main folder you will see Browse Layout Gallery.command, Start UIProcess.command, and other files and folders.
  • Shortcut if you know the folder path: in Finder, choose File → Open Folder… (or press Shift-Command-O), paste the full path to the project folder, press Return, then double-click the .command file you want.

If macOS shows a security warning the first time:

  • Control-click (or right-click) the .command file, choose Open, then click Open again in the dialog.

Fallback (Terminal):

cd /path/to/uiprocess-tui
bash scripts/start.sh

With Go installed, you get a menu to run each layout in the terminal (options 1–31, including smoke checks and the browser gallery). From Terminal you can also run bash scripts/start.sh — option 7 opens the static browser gallery without starting a TUI.

What You Get

  • layout-first API on top of Bubble Tea
  • 29 runnable layouts:
    • Chat
    • MasterDetail
    • Dashboard
    • LogsInspector
    • SidebarShell
    • MarkdownStudio
    • WizardFlow
    • KanbanBoard
    • DataGrid
    • CommandPalette
    • Form
    • DiffCompare
    • Timeline
    • TreeExplorer
    • CrudWorkbench
    • JobMonitor
    • IncidentConsole
    • SchedulerCalendar
    • MultipaneConsole
    • TreeTable
    • PipelineBoard
    • TraceViewer
    • ServiceHealth
    • SearchResults
    • MergeConflict
    • DebugRepl
    • NotificationCenter
    • TriPaneShell
    • GitGraph
  • LogsInspector and Dashboard cover log lines + filters and KPI metric cards; TraceViewer through DebugRepl add trace spans, a dependency health board, search hits, merge review, and a REPL transcript. NotificationCenter, TriPaneShell, and GitGraph add an alert inbox, a mail/CRM tri-pane, and a branch + ASCII graph view.
  • shared engine primitives (focus, routing, split, grid, state)
  • starter examples for each layout

Quick Start

go mod tidy
go run ./examples/chat

API Style

err := layout.Chat().
  WithTitle("Assistant").
  Run()

Other entrypoints:

  • layout.MasterDetail()
  • layout.Dashboard()
  • layout.LogsInspector()
  • layout.SidebarShell()
  • layout.MarkdownStudio()
  • layout.WizardFlow()
  • layout.KanbanBoard()
  • layout.DataGrid()
  • layout.CommandPalette()
  • layout.Form()
  • layout.GitGraph()
  • layout.DiffCompare()
  • layout.Timeline()
  • layout.TreeExplorer()
  • layout.CrudWorkbench()
  • layout.JobMonitor()
  • layout.IncidentConsole()
  • layout.SchedulerCalendar()
  • layout.MultipaneConsole()
  • layout.NotificationCenter()
  • layout.TreeTable()
  • layout.TriPaneShell()
  • layout.PipelineBoard()
  • layout.TraceViewer()
  • layout.ServiceHealth()
  • layout.SearchResults()
  • layout.MergeConflict()
  • layout.DebugRepl()

Project Structure

  • layout/ public fluent constructors
  • layouts/ per-layout implementations
  • engine/ shared engine building blocks
  • components/ primitive wrappers
  • themes/ shared theme tokens/styles
  • examples/ runnable layout examples
  • scripts/ local automation (smoke checks)
  • root index.html static browser gallery (layout look-alikes, no Go)

Run Examples

go run ./examples/chat
go run ./examples/masterdetail
go run ./examples/dashboard
go run ./examples/logsinspector
go run ./examples/sidebarshell
go run ./examples/markdownstudio
go run ./examples/wizardflow
go run ./examples/kanbanboard
go run ./examples/datagrid
go run ./examples/commandpalette
go run ./examples/form
go run ./examples/diffcompare
go run ./examples/timeline
go run ./examples/treeexplorer
go run ./examples/crudworkbench
go run ./examples/jobmonitor
go run ./examples/incidentconsole
go run ./examples/schedulercalendar
go run ./examples/multipaneconsole
go run ./examples/treetable
go run ./examples/pipelineboard
go run ./examples/traceviewer
go run ./examples/servicehealth
go run ./examples/searchresults
go run ./examples/mergeconflict
go run ./examples/debugrepl
go run ./examples/notificationcenter
go run ./examples/tripaneshell
go run ./examples/gitgraph

Quality Checks

bash scripts/smoke.sh

This runs unit tests and compiles example packages.

Next Up (V2)

  1. polish and stabilize v1 behaviors
  2. tag v0.1.0
  3. polish new layouts and add focused unit tests
  4. add uiprocess init <layout> scaffolding
  5. add release binaries for no-Go interactive previews

Website

Project home: https://uiprocess.com

About

Prebuilt layouts and terminal app templates for modern TUI development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors