tuios-mini

module
v0.10.43 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2026 License: MIT

README

tuios-mini: trimmed TUIOS core for golder

Go Reference Used by golder

TUIOS

Independent fork. getan/tuios-mini began as a trimmed derivative of TUIOS and is maintained separately for golder. It has since diverged from upstream: behavior, APIs, documentation, CI and distribution policy here are not guaranteed to match TUIOS. Upstream releases, package-manager installs, support channels and issue tracker do not apply to this repository. This fork is not affiliated with or endorsed by the upstream project.

tuios-mini keeps the parts of TUIOS that golder needs: terminal panes, the PTY and daemon plumbing, the JSON control surface, and agent-state reporting. It is a Go module consumed by golder and pinned to a commit; it is not a replacement distribution of the full TUIOS application.

TUIOS itself is a modern terminal multiplexer and window manager built with Go, with a vim-like modal interface, workspaces, BSP tiling, kitty graphics protocol support and a command palette. The remaining feature and design documentation below is inherited from upstream and may describe code this fork has removed.

Documentation

Upstream documentation is available at tuios.dev. Some of it is also present in the docs/ folder, inherited from upstream and not maintained as a description of this fork. Treat the code and the tests in this repository as authoritative.

  • Getting Started: Install and first session
  • Keybindings: Default keys and how to rebind them
  • BSP Tiling: Tiling with preselection and split control
  • Layout Modes: BSP, master-stack and scrolling layouts, aggregate view, multifocus
  • Configuration: Customize keybindings, themes, and behavior
  • Hooks: Run shell commands on window, session and agent events
  • Themes: Built-in themes and custom theme JSON
  • Glyph sets: The characters the chrome is drawn with
  • CLI Reference: All command-line options
  • Tape Scripting: Automate workflows
  • Sessions: Daemon mode, attach/detach, other machines, and what survives
  • Agents: Running coding agents in tuios: state, the Inbox, approvals, fleets, other machines, grants and MCP
  • Program Status: OSC 7501 from any program, tuios status, and the reports tuios sends to its own terminal
  • tmux Shim: Run tools that drive tmux, such as Claude Code agent teams
  • Control Protocol: JSON verb protocol for driving the daemon
  • Architecture: Technical design
Table of Contents

Using this repository

This fork is consumed by golder as a Go module pinned to a commit. It does not publish its own binaries, containers, Homebrew/AUR formula, or Nix package. Use upstream TUIOS if you want the complete, supported application and its installation instructions.

Building this repository from source needs Go 1.26.6 or newer:

git clone https://github.com/getan/tuios-mini.git
cd tuios-mini
go build ./...
go test ./...

The upstream compatibility entry points remain in the tree, but they are not a promise that this fork tracks upstream behavior. Downstream users should pin an exact commit or pseudo-version rather than follow a moving branch.

Features

TUIOS


Panes and the rail. Tiled panes, and every agent's state at a glance.
The tuios Inbox listing an approval marked risky, a question and an errored agent, with the reason the approval is risky.
The Inbox. Everything your agents wait on, in one list.

Review. Read an agent's changes and send notes back to it.
The tuios settings page searched for theme. The Theme row carries a dot because it differs from the default.
Settings. Every option on one page, applied at once.

Each picture is a capture that tuios made of itself. Click one to read its docs page.

Core

  • Multiple Terminal Panes: Create, resize, drag, and organize terminal sessions
  • 9 Workspaces: Independent workspace isolation with instant switching
  • Modal Interface: Vim-inspired Window Management and Terminal modes
  • Command Palette: Fuzzy-searchable action launcher (Ctrl+P)
  • Launcher: Fuzzy search everything on $PATH plus your installed desktop apps (Alt+Space), ranked by what you actually run. Enter starts it; Tab opens a shell with the command typed but not entered, so you can add arguments. App icons are drawn where the terminal supports kitty graphics.
  • Pane Zoom: Zoom any pane with z (WM mode) or Prefix+z. It takes 95% of the screen by default; set appearance.zoom_size = 100 for fullscreen. A fullscreen zoom hides the shared borders, and the dockbar shows a Z indicator.
  • Session Rail: A sidebar with sessions, terminals, files, git state and agents, on by default on the right (appearance.sidebar.enabled)
  • Settings Page: Change options in the app with Prefix+,
  • Popups: tuios popup -- fzf runs a command in a floating pane that closes when it exits

Agents

The guide is docs/AGENT_STATE.md.

  • Agent State: Panes running a coding agent show whether it is working, waiting for you, done or errored, as a shape in the title and a row on the rail. tuios integration install wires 19 harnesses (Claude Code, Codex, Gemini CLI, opencode and more) to report it, and tuios detects 24 agent CLIs by their process and screen
  • Program Status (OSC 7501): Any program can say what it is doing with the Program Status Protocol, or with tuios status working --app build --progress 40. A build, a deploy script or brew then shows on the rail and in the Inbox like an agent. tuios also reports its panes to a terminal that reads the protocol, such as Rex (docs)
  • Inbox: Prefix+i lists everything waiting for you in every session and on every machine: approvals, questions, mail, errors, finished turns. Prefix+o jumps to the oldest. Answer a prompt from there without going to the pane, and with [agents.approvals] answer Claude Code, opencode, Kilo and Qwen Code permission requests with one key
  • Questions and Messages: tuios ask-human puts a question with fixed answers in your Inbox. Agents mail each other with tuios send-agent-message, and tuios ask-agent asks one and waits for its answer. It never types into a pane waiting on a prompt, and replies from you are marked verified
  • Fleets: tuios fan starts one prompt in several agents, mixed harnesses allowed, each in its own git worktree. tuios start-agent starts one helper beside you, in its TUI or headless over ACP or the Codex app-server. Selectors such as group:fan/retry needs:you address a whole group
  • Resume: After a daemon restart, the Inbox offers to resume each agent conversation that was running
  • Pane Grants: Say what an agent's pane may do through tuios (read, write, fan, respond, admin), and give a helper less with --grants
  • MCP Server: tuios mcp serves the same surface as MCP tools, read-only and held to the agent's own session unless you say otherwise
  • tmux Shim: tuios tmux-shim runs tools that drive tmux, such as Claude Code agent teams, with their panes opened as tuios panes
  • Session Stash: tuios stash put keeps a file for the session, so another agent can still open it
  • Agent Skill: tuios --skill prints the short guide an agent in a pane reads to drive tuios, and tuios --skill TOPIC the rest, recipes included

Machines

  • Hosts: tuios hosts add names another machine, reached over ssh. tuios hosts tailnet lists the machines on a Tailscale tailnet
  • Remote Sessions: tuios attach --host build api draws a session on another machine in this client, and -s HOST:SESSION sends any command there
  • Hosted Panes: tuios new-window NAME --host build runs one pane's process on another machine, in a session here
  • Global Sessions: tuios new NAME --global holds panes from several machines (docs)
  • Agents on Other Machines: tuios fan --host build and tuios start-agent -s build:api run agents there, their Inbox items show here, and tuios worktree pull brings their work back. Each machine's [hosts] policy says what the others may do

Tiling

  • BSP Tiling: Binary Space Partitioning with spiral layout
  • Scrolling Layout: niri-style columns on an infinite horizontal strip (docs)
  • Master-Stack Layout: One master pane with the rest stacked beside it
  • Smart Auto-Split: Aspect-ratio-aware splitting (opt-in)
  • Shared Borders: tmux-style separator lines between panes (--shared-borders)
  • Preselection: Control where the next pane spawns
  • Equalize Splits: Reset all splits to balanced ratios

Scrollback & Copy Mode

  • Vim-Style Copy Mode: Navigate 10,000-line scrollback with hjkl, search down with / and up with ?, yank with y
  • Multi Copy Mode: Copy mode on every pane of the multifocus set at once. Search once, select with v/V in each pane, and yank all selections as plain text, markdown or JSON, to the clipboard or a file (docs)
  • Mouse Wheel Scrollback: The wheel scrolls history with no mode entered; typing or reaching the bottom returns to live output
  • Interactive Scrollbar: Click or drag the right border to jump to scroll position
  • Selection Auto-Scroll: Drag selection above/below pane to scroll
  • Scrollback Browser: OSC 133-aware command/output block navigation
  • Scroll Position Indicator: Shows offset/total on the bottom border

Graphics & Protocols

  • Kitty Graphics Protocol: Full image rendering with flicker-free video playback. mpv --vo=kitty works (both shm and base64), and youterm works.
  • Sixel Graphics: Sixel image passthrough (experimental, no pixel-level clipping yet)
  • Kitty Keyboard Protocol: Progressive enhancement (CSI u) with push/pop/query support. Fish 4.x compatible; Shift+printable bypasses the protocol and sends text directly.
  • Synchronized Output: Mode 2026 prevents screen tearing
  • Shared Memory Support: t=s passthrough for mpv --vo-kitty-use-shm
  • Animation Frames: A guest's a=f frame edits are forwarded to the host, so a program that patches its own image costs a rectangle instead of a whole bitmap. TUIOS also patches guests that only retransmit. Panes are told whether the host carries frame edits through TUIOS_KITTY_ANIMATION, because the host's reply is not relayed back into the pane and a guest cannot find out for itself.
  • Terminal Queries: OSC 4 palette, OSC 10-12 colors, CSI 14/16/18t sizing, DA1/DA2
  • Experimental: Kitty text sizing protocol (OSC 66). Basic passthrough works but has known issues with scrollback and window repositioning
  • Kitty Animation Protocol: Frame transmission, composition, and control (a=f, a=a, a=c), with damage-patch streaming for animated guests

Session Management

  • Daemon Mode: Persistent sessions with detach/reattach (like tmux)
  • Session Resurrection: Sessions come back after a daemon restart or reboot with their structure and working directories (docs)
  • Session Switcher: In-app session list (Prefix+S)
  • Layout Templates: Save/load window arrangements with working directories and startup commands
  • Layout CLI: tuios layout list, tuios layout delete, tuios layout export

Automation

  • Tape Scripting: DSL for recording and replaying terminal workflows
  • Tape Recording: Record live sessions (Prefix+T r)
  • Headless Execution: tuios tape exec runs a tape against a running daemon session
  • Layout Export: Convert layouts to tape scripts for sharing

Discovery & Navigation

  • Which-Key Popup: Hold the prefix key to see the chords available (appearance.whichkey_enabled, docs)
  • App Launcher: Alt+Space runs anything on $PATH, frecency-ranked, with desktop-entry names and icons
  • Keybind Manager: Prefix+k in-app, or tuios keybinds doctor and tuios keybinds explain <key> from the shell
  • Aggregate View: Searchable list of every window across every workspace, with previews (docs)
  • Multifocus: Broadcast typing to several panes at once, Ctrl+Shift+click to select (docs)

More

  • Showkeys Overlay: Display pressed keys for presentations
  • Spotlight: Light one area of the screen and dim the rest, for demos and recordings ([spotlight] config table)
  • Screenshots: tuios screenshot renders a pane to PNG, SVG, ANSI, HTML or text
  • Dock Components: Your own commands drawn in the dock, updated on events, from a running command, or by polling (examples)
  • Customizable Keybindings: TOML configuration with Kitty protocol support
  • Hooks: Run shell commands on ten events, including window, workspace, attach and agent state changes (docs)
  • Mouse Support: Wheel scrollback, drag-to-select with copy on release, double-click word and triple-click line, window drag, resize, scrollbar
  • SSH Server Mode: Remote terminal multiplexing
  • Web Terminal Mode: Browser-based access (separate tuios-web binary)
  • Themes: Bundled themes plus custom themes from JSON, with chrome designed for truecolor, 256 and 16 colours and for light themes (docs)
  • Host Colours: tuios asks your terminal for its colours, passes them to programs that ask, and follows its light and dark switch
  • Backgrounds: appearance.background paints empty cells with the theme's background or a colour of your own, per surface if you like
  • Motion: appearance.motion is none, basic or full (fades, the working shimmer, confetti)
  • Glyph Sets: Choose the characters the chrome is drawn with (docs)

Quick Start

tuios                    # Launch TUIOS
tuios --show-keys        # Launch with key overlay for learning
tuios --standalone       # Launch without the daemon, for this run only

tuios attaches to a daemon-backed session, so the session outlives the terminal window it started in. New panes are tiled. See SESSIONS.md to turn either off.

Essential Keys

Key Action
Ctrl+P Command palette: search and run any action
Alt+Space Launcher: search and start a program (Enter runs it, Tab types it out)
n New pane (Window Management mode)
i / Enter Enter Terminal mode
Prefix+Esc or Alt+Esc Back to Window Management mode (a bare Esc goes to the shell)
Prefix+d Detach in a daemon session, otherwise back to Window Management mode
z (WM) or Prefix+z Toggle pane zoom
Prefix+Space Toggle BSP tiling
Prefix+[ Enter copy mode (vim scrollback)
Prefix+S Session switcher
Prefix+L then l/s Load/Save layout template
Prefix+? Help overlay
Prefix+q Quit

The prefix key is Ctrl+B by default (configurable).

Daemon Mode

tuios new mysession          # Create persistent session
tuios attach mysession       # Reattach
tuios ls                     # List sessions
tuios kill-session mysession # Kill session

Layout Templates

# In-app: Ctrl+B, L, l to load / Ctrl+B, L, s to save
# Or via command palette: Ctrl+P → "Save layout" / "Load layout"

# CLI:
tuios layout list            # List saved layouts
tuios layout delete mysetup  # Delete a layout
tuios layout export mysetup  # Export as tape script

Configuration

tuios config edit            # Edit config in $EDITOR
tuios keybinds list          # View the common keybindings

See the configuration reference (or run tuios list-options) for all options including show_clock, show_cpu, show_ram, shared_borders, window_button_style, window_button_position, custom themes, and keybinding customization.

Architecture

TUIOS follows the Model-View-Update pattern on Bubble Tea v2. For details, see Architecture Guide.

Key design decisions:

  • Event-driven rendering: PTY reader goroutines signal bubbletea via a buffered channel. No fixed-rate ticking for terminal content.
  • Kitty graphics passthrough: Image IDs are reused across frames for flicker-free video. Output is batched with the render cycle and wrapped in mode 2026 sync.
  • BSP tiling: Binary space partitioning tree with configurable schemes (spiral, smart split). Shared borders mode overlaps window rects and draws separator lines as a separate layer.
  • Copy mode: Full vim navigation over scrollback. Wheel scrolling and mouse selection borrow the same machinery through an implicit session that presents as nothing at all, plus scrollbar interaction and selection auto-scroll (timer-based continuous drag scrolling).

Core Components:

  • Window Manager (internal/app/os.go): Central state, workspaces, overlays
  • Terminal Emulation (vt/): ANSI parser with scrollback, kitty/sixel graphics, kitty keyboard protocol, OSC 133
  • Rendering (internal/app/render.go): Layer composition, viewport culling, graphics batching
  • Input (internal/input/): Modal routing, 100+ configurable keybindings, mouse handling
  • Kitty Passthrough (internal/app/kitty_passthrough.go): Flicker-free image forwarding with ID reuse and sync output

Performance

  • Event-driven rendering: Zero CPU at idle. Renders only when PTY data arrives or interaction occurs.
  • Kitty graphics: Flicker-free via image ID reuse. Tearing-free via mode 2026 sync + render cycle batching.
  • Fast unfocused render: Unfocused panes use emulator's built-in Render() instead of cell-by-cell, unless appearance.dim_unfocused needs each cell.
  • Style caching: LRU cache with sequence-based change detection (40-60% allocation reduction).
  • Viewport culling: Off-screen and minimized panes skip rendering.
  • Memory pooling: Pooled strings, buffers, and styles.

Development

git clone https://github.com/getan/tuios-mini.git
cd tuios-mini
go build -o tuios ./cmd/tuios
./tuios
go test ./...              # Run tests
go vet ./...               # Vet
golangci-lint run          # Lint with the checks CI runs (.golangci.yml)
govulncheck ./...          # Known vulnerabilities in what the build reaches

License

This fork is distributed under the MIT License. The original TUIOS copyright (c) 2025 Gaurav Gosain is retained in LICENSE, together with the copyright for modifications made by this fork. See LICENSE for the full text.

Acknowledgments

  • TUIOS by Gaurav Gosain, the MIT-licensed project from which this fork derives
  • The Charm team for Bubble Tea, Lipgloss, and the Go terminal ecosystem
  • CharmTone by Charmbracelet, Inc. (Apache License 2.0) for the colours of the charmtone themes
  • The vim, tmux, and i3 communities for interface design inspiration
  • Ghostty, Kitty, and WezTerm for excellent terminal emulators with graphics support

Directories

Path Synopsis
cmd
tuios command
Package main implements TUIOS, the Terminal UI Operating System.
Package main implements TUIOS, the Terminal UI Operating System.
tuios-fuzz command
Command tuios-fuzz runs the property fuzzer against tuios, optionally drawing the run while it happens.
Command tuios-fuzz runs the property fuzzer against tuios, optionally drawing the run while it happens.
tuios-mini command
Command tuios-mini runs the embeddable tuios core as a foreground daemon.
Command tuios-mini runs the embeddable tuios core as a foreground daemon.
tuios-web command
Package main implements tuios-web, a web-based terminal server for TUIOS.
Package main implements tuios-web, a web-based terminal server for TUIOS.
internal
agentproto
Package agentproto runs a coding agent headless, over a structured protocol, and shows it in a tuios pane.
Package agentproto runs a coding agent headless, over a structured protocol, and shows it in a tuios pane.
app
Package app provides the core TUIOS application logic and window management.
Package app provides the core TUIOS application logic and window management.
atomicfile
Package atomicfile replaces a file in one step, so a crash leaves the old file or the new one whole and never half of one.
Package atomicfile replaces a file in one step, so a crash leaves the old file or the new one whole and never half of one.
capture
Package capture is the glue between a screenshot request and the shot renderer: it turns the [screenshot] config section, a theme id and a glyph set id into the concrete palette and frame that shot.Render wants, and it names and writes the file.
Package capture is the glue between a screenshot request and the shot renderer: it turns the [screenshot] config section, a theme id and a glyph set id into the concrete palette and frame that shot.Render wants, and it names and writes the file.
cellsize
Package cellsize is the size of one terminal cell in pixels that tuios assumes when the host terminal has not said.
Package cellsize is the size of one terminal cell in pixels that tuios assumes when the host terminal has not said.
childproc
Package childproc starts the helper programs the daemon runs, such as git, ssh, gh and hook commands, so that none of them opens a window.
Package childproc starts the helper programs the daemon runs, such as git, ssh, gh and hook commands, so that none of them opens a window.
cliflags
Package cliflags holds the interface flags every binary that renders the TUI registers: `tuios` and its TUI commands, `tuios ssh`, and `tuios-web`.
Package cliflags holds the interface flags every binary that renders the TUI registers: `tuios` and its TUI commands, `tuios ssh`, and `tuios-web`.
composer
Package composer is the editor a person writes to an agent in: a draft of many lines with soft wrap, cursor and word motions, and undo and redo.
Package composer is the editor a person writes to an agent in: a draft of many lines with soft wrap, cursor and word motions, and undo and redo.
config
Package config provides configuration constants, keybinding management, and user settings.
Package config provides configuration constants, keybinding management, and user settings.
debuglog
Package debuglog opens the diagnostic logs that TUIOS_DEBUG_INTERNAL=1 turns on.
Package debuglog opens the diagnostic logs that TUIOS_DEBUG_INTERNAL=1 turns on.
diffview
Package diffview draws the lines of a diff: syntax highlighting by file type, line numbers in a gutter, added and removed lines on tinted grounds, the changed part of a changed line marked, and a side by side layout.
Package diffview draws the lines of a diff: syntax highlighting by file type, line numbers in a gutter, added and removed lines on tinted grounds, the changed part of a changed line marked, and a side by side layout.
diffview/lexers
Package lexers holds the syntax definitions the review highlights with, and the registry that serves them.
Package lexers holds the syntax definitions the review highlights with, and the registry that serves them.
dirwatch
Package dirwatch tells a caller when the names in one directory change.
Package dirwatch tells a caller when the names in one directory change.
document
Package document opens, edits and saves one text file without ever writing bytes it did not read.
Package document opens, edits and saves one text file without ever writing bytes it did not read.
explore
Package explore is the small full-screen browser behind tuios's opt-in explorers: tuios keybinds browse, tuios config browse and tuios help -i.
Package explore is the small full-screen browser behind tuios's opt-in explorers: tuios keybinds browse, tuios config browse and tuios help -i.
fang
Package fang provides styling for cobra commands.
Package fang provides styling for cobra commands.
federation
Package federation carries the link layer between one tuios daemon and the daemons of other machines the user has named in config.
Package federation carries the link layer between one tuios daemon and the daemons of other machines the user has named in config.
fuzz
Package fuzz is the target-agnostic half of tuios's property fuzzer: an action alphabet, a seeded generator that biases toward the shapes that have actually broken this codebase, a driver loop, and a shrinker.
Package fuzz is the target-agnostic half of tuios's property fuzzer: an action alphabet, a seeded generator that biases toward the shapes that have actually broken this codebase, a driver loop, and a shrinker.
fuzz/apptarget
Package apptarget drives a real app.OS through its real bubbletea Update as a fuzz.Target, using nothing but package app's exported surface.
Package apptarget drives a real app.OS through its real bubbletea Update as a fuzz.Target, using nothing but package app's exported surface.
fuzz/vis
Package vis draws a fuzzing run while it happens.
Package vis draws a fuzzing run while it happens.
ghpr
Package ghpr reads and opens GitHub pull requests through the gh CLI.
Package ghpr reads and opens GitHub pull requests through the gh CLI.
gitstate
Package gitstate reads the git facts a sidebar can usefully carry in a narrow column: which branch a directory is on, and how far that branch has drifted from its upstream.
Package gitstate reads the git facts a sidebar can usefully carry in a narrow column: which branch a directory is on, and how far that branch has drifted from its upstream.
gitstatus
Package gitstatus reads one repository's changed paths for the rail.
Package gitstatus reads one repository's changed paths for the rail.
guestenv
Package guestenv derives environment values tuios exports to the processes it spawns in its windows.
Package guestenv derives environment values tuios exports to the processes it spawns in its windows.
harness
Package harness holds the registry of coding-agent CLIs tuios knows how to recognise, as data rather than code.
Package harness holds the registry of coding-agent CLIs tuios knows how to recognise, as data rather than code.
harness/herdrconv command
Command herdrconv converts a herdr agent-detection manifest (github.com/herdrdev/herdr, src/detect/manifests/*.toml, Apache-2.0) into a tuios harness manifest draft.
Command herdrconv converts a herdr agent-detection manifest (github.com/herdrdev/herdr, src/detect/manifests/*.toml, Apache-2.0) into a tuios harness manifest draft.
herdrcli
Package herdrcli is herdr's command line, answered by tuios.
Package herdrcli is herdr's command line, answered by tuios.
herdrplugin
Package herdrplugin reads herdr plugins and runs their commands for tuios.
Package herdrplugin reads herdr plugins and runs their commands for tuios.
hints
Package hints finds the things on a terminal screen a person is likely to want to copy (URLs, paths, hashes, addresses and so on) and names each one with a short label to type.
Package hints finds the things on a terminal screen a person is likely to want to copy (URLs, paths, hashes, addresses and so on) and names each one with a short label to type.
hooks
Package hooks implements a shell-command hooks system for tuios.
Package hooks implements a shell-command hooks system for tuios.
input
Package input routes keyboard and mouse input for TUIOS: the dispatch between Window Management and Terminal modes, the prefix commands, the encoding of keys for the focused pane's PTY, mouse handling, copy mode and paste.
Package input routes keyboard and mouse input for TUIOS: the dispatch between Window Management and Terminal modes, the prefix commands, the encoding of keys for the focused pane's PTY, mouse handling, copy mode and paste.
integration
Package integration connects coding-agent harnesses to tuios agent state.
Package integration connects coding-agent harnesses to tuios agent state.
invisible
Package invisible finds the characters that draw nothing but change how text reads: format characters, variation selectors and line separators.
Package invisible finds the characters that draw nothing but change how text reads: format characters, variation selectors and line separators.
layout
Package layout provides window tiling and layout management for the terminal.
Package layout provides window tiling and layout management for the terminal.
lazyre
Package lazyre compiles a regular expression the first time it is used.
Package lazyre compiles a regular expression the first time it is used.
linediff
Package linediff computes the line edit script between two texts by longest common subsequence.
Package linediff computes the line edit script between two texts by longest common subsequence.
lint
Package lint holds source checks that run with go test.
Package lint holds source checks that run with go test.
listnav
Package listnav is the one rule every vertical list in the TUI moves by.
Package listnav is the one rule every vertical list in the TUI moves by.
memtrim
Package memtrim hands back to the operating system the memory a burst of work left behind: panes closing, or a flood of output that has ended.
Package memtrim hands back to the operating system the memory a burst of work left behind: panes closing, or a flood of output that has ended.
netutil
Package netutil holds the small network helpers the servers share.
Package netutil holds the small network helpers the servers share.
overlay
Package overlay provides composable, framework-agnostic building blocks for borderless floating overlay panels rendered with charm.land/lipgloss/v2.
Package overlay provides composable, framework-agnostic building blocks for borderless floating overlay panels rendered with charm.land/lipgloss/v2.
pastebuf
Package pastebuf keeps paste buffers: the text of recent yanks, newest first, after tmux's paste buffers.
Package pastebuf keeps paste buffers: the text of recent yanks, newest first, after tmux's paste buffers.
pathroot
Package pathroot answers whether a path is inside a folder.
Package pathroot answers whether a path is inside a folder.
perf
Package perf holds the shared measurement vocabulary for tuios's latency work: a sample set and the quantiles worth reading off it.
Package perf holds the shared measurement vocabulary for tuios's latency work: a sample set and the quantiles worth reading off it.
plural
Package plural writes a count with its noun in the right number, so the output says "1 session" and "2 sessions" instead of "1 session(s)".
Package plural writes a count with its noun in the right number, so the output says "1 session" and "2 sessions" instead of "1 session(s)".
pool
Package pool provides object pooling for reusable components to reduce memory allocations.
Package pool provides object pooling for reusable components to reduce memory allocations.
procinfo
Package procinfo reads what the kernel says about a process: the pid of the process on the other end of a unix socket, a start time that pins that pid to one process, its parent, its /proc/<pid>/stat fields, and one variable of the environment it was started with.
Package procinfo reads what the kernel says about a process: the pid of the process on the other end of a unix socket, a start time that pins that pid to one process, its parent, its /proc/<pid>/stat fields, and one variable of the environment it was started with.
ptyspawn
Package ptyspawn is the one door every PTY-backed process in tuios goes through.
Package ptyspawn is the one door every PTY-backed process in tuios goes through.
pushnotify
Package pushnotify sends an Inbox notification to a phone, through ntfy, Pushover or a webhook of the person's own.
Package pushnotify sends an Inbox notification to a phone, through ntfy, Pushover or a webhook of the person's own.
refreshrate
Package refreshrate finds the refresh rate of the displays on this machine, which is what appearance.max_fps = "auto" draws at.
Package refreshrate finds the refresh rate of the displays on this machine, which is what appearance.max_fps = "auto" draws at.
release
Package release finds published tuios releases and turns one into a verified binary on disk.
Package release finds published tuios releases and turns one into a verified binary on disk.
review
Package review reads what an agent changed in a git worktree and carries the notes a person leaves on it back to the agent.
Package review reads what an agent changed in a git worktree and carries the notes a person leaves on it back to the agent.
risk
Package risk marks a tool call an agent asks to have approved as risky: a command that deletes recursively, force pushes, pipes a download to a shell, writes outside the worktree, and the like.
Package risk marks a tool call an agent asks to have approved as risky: a command that deletes recursively, force pushes, pipes a download to a shell, writes outside the worktree, and the like.
scrollback
Package scrollback provides a scrollback browser that parses terminal history into structured command-output blocks.
Package scrollback provides a scrollback browser that parses terminal history into structured command-output blocks.
served
Package served builds the model for one session a server hands to a remote client: the SSH server in internal/server and the web server in cmd/tuios-web.
Package served builds the model for one session a server hands to a remote client: the SSH server in internal/server and the web server in cmd/tuios-web.
server
Package server provides SSH server functionality for TUIOS.
Package server provides SSH server functionality for TUIOS.
serverscope
Package serverscope names the daemon a tuios process belongs to.
Package serverscope names the daemon a tuios process belongs to.
session
Package session provides persistent session management for TUIOS.
Package session provides persistent session management for TUIOS.
sessiontree
Package sessiontree is the shared data model behind every session-management surface: the sidebar, the picker, and the command-palette session/window entries.
Package sessiontree is the shared data model behind every session-management surface: the sidebar, the picker, and the command-palette session/window entries.
shimlink
Package shimlink makes the link that runs tuios as another program: a link named tmux or herdr, in a bin directory a pane puts on its PATH, that points at the tuios binary.
Package shimlink makes the link that runs tuios as another program: a link named tmux or herdr, in a bin directory a pane puts on its PATH, that points at the tuios binary.
sockpath
Package sockpath names the folder the daemon keeps its socket in, and the longest path a Unix socket may have.
Package sockpath names the folder the daemon keeps its socket in, and the longest path a Unix socket may have.
sortx
Package sortx sorts a slice through one shared, non-generic copy of the sort code, to keep the binary small.
Package sortx sorts a slice through one shared, non-generic copy of the sort code, to keep the binary small.
sound
Package sound plays the two short cues an agent alert can make audible.
Package sound plays the two short cues an agent alert can make audible.
stopevent
Package stopevent is how tuios kill-server asks a daemon on Windows to stop.
Package stopevent is how tuios kill-server asks a daemon on Windows to stop.
tape
Package tape provides functionality for parsing, storing, and executing automation scripts in .tape format.
Package tape provides functionality for parsing, storing, and executing automation scripts in .tape format.
tape/trust
Package trust implements the security foundation for .tuios.tape autorun: a per-machine trust store that records, for each project tape, its canonical path and the SHA-256 of its exact content, together with whether the user has trusted or denied it.
Package trust implements the security foundation for .tuios.tape autorun: a per-machine trust store that records, for each project tape, its canonical path and the SHA-256 of its exact content, together with whether the user has trusted or denied it.
terminal
Package terminal provides terminal window management and PTY abstraction.
Package terminal provides terminal window management and PTY abstraction.
testutil
Package testutil provides testing utilities for TUIOS, including a fake shell that produces predictable output and sends/receives ANSI sequences.
Package testutil provides testing utilities for TUIOS, including a fake shell that produces predictable output and sends/receives ANSI sequences.
theme
Package theme provides color themes and styling for the TUIOS terminal.
Package theme provides color themes and styling for the TUIOS terminal.
transcript
Package transcript reads an agent's own record of its turn from the file the agent writes as it runs, and reports nothing else.
Package transcript reads an agent's own record of its turn from the file the agent writes as it runs, and reports nothing else.
transcriptview
Package transcriptview decodes an agent's transcript into a conversation a person can read: prompts, answers, thinking, tool calls with their results, diffs of edits, plans and todo lists.
Package transcriptview decodes an agent's transcript into a conversation a person can read: prompts, answers, thinking, tool calls with their results, diffs of edits, plans and todo lists.
ui
Package ui provides UI component animations and visual effects.
Package ui provides UI component animations and visual effects.
units
Package units writes sizes and durations the same way wherever tuios shows them.
Package units writes sizes and durations the same way wherever tuios shows them.
winpath
Package winpath turns the POSIX paths that MSYS2 and Cygwin shells report into the Windows paths the rest of tuios reads.
Package winpath turns the POSIX paths that MSYS2 and Cygwin shells report into the Windows paths the rest of tuios reads.
wire
Package wire is the binary protocol two TUIOS peers speak on a socket: the message-type numbering, the frame layout, the gob payload codec and the bounds that keep a frame from hurting the process that reads it.
Package wire is the binary protocol two TUIOS peers speak on a socket: the message-type numbering, the frame layout, the gob payload codec and the bounds that keep a frame from hurting the process that reads it.
worktree
Package worktree is what tuios knows about git worktrees: how to tell that a directory is one, how to make one, and how to take one away without losing work that was never committed.
Package worktree is what tuios knows about git worktrees: how to tell that a directory is one, how to make one, and how to take one away without losing work that was never committed.
Package mini embeds the tuios daemon core golder needs.
Package mini embeds the tuios daemon core golder needs.
control
Package control is the JSON-line client for a tuios-mini daemon.
Package control is the JSON-line client for a tuios-mini daemon.
pkg
applist
Package applist enumerates the programs a launcher can run.
Package applist enumerates the programs a launcher can run.
fuzzy
Package fuzzy scores fuzzy string matches and reports where they landed.
Package fuzzy scores fuzzy string matches and reports where they landed.
tuios
Package tuios provides a reusable terminal window manager that can be embedded in other Bubble Tea applications or used as a standalone TUI.
Package tuios provides a reusable terminal window manager that can be embedded in other Bubble Tea applications or used as a standalone TUI.
Package skills holds the agent skill files tuios ships, embedded so the copy a binary prints is the copy that was built into it.
Package skills holds the agent skill files tuios ships, embedded so the copy a binary prints is the copy that was built into it.
Package workspace runs the retained TUIOS client against a daemon socket the caller owns.
Package workspace runs the retained TUIOS client against a daemon socket the caller owns.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL