Help us shape the future of Go! Take the 2026 Go Developer Survey

tui-chat

command module
v0.0.0-...-987a39e Latest Latest
Warning

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

Go to latest
Published: May 2, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

README

TUI Chat Terminal

A retro-style terminal chat application written in Go, powered by Bubble Tea and Lip Gloss.

Inspired heavily by cool-retro-term

Features

  • Multi‑tab chat interface with a sidebar for navigation
  • Vim‑style Normal/Insert modes
  • In‑memory clipboard with yy (yank) and p (paste) operations
  • Optional OS‑clipboard seeding (via golang.design/x/clipboard) at startup
  • Retro green‑on‑black color scheme with lipgloss styling
  • Automatic scrolling of chat pane when content overflows
  • Blinking cursor and “AI thinking” animation
  • Cross‑platform (macOS, Linux, Windows) with no external binary dependencies

Requirements

  • Go 1.24 or later
  • A terminal supporting ANSI escape codes

Installation

  1. Clone the repo

    git clone https://github.com/Billy-Davies-2/tui-chat.git
    cd tui-chat
    
  2. Fetch dependencies

    go mod tidy
    
  3. Build

    go build -o tui-chat main.go
    

Usage

Run the built binary:

./tui-chat

Keybindings

Normal Mode
Key Action
i Enter Insert mode
q Quit
yy Yank (copy) last chat message
p / P Paste yanked text into input
gt Next tab
gT Previous tab
T Create new tab
dd Close current tab
j / k Navigate tabs (when sidebar open)
z Toggle sidebar
Insert Mode
Key Action
Esc Return to Normal mode
Enter Send current input as message
Backspace Delete last character
Any other Insert typed character

Roadmap

  • Flesh out chat client and AI endpoints.
  • mouse support
  • mouse support in chat terminal
  • more complex vim bindings.
  • parallax or some sort of cool backgrounds.

Contributing

Contributions, issues and feature requests are welcome! Feel free to fork the project and submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
clipboard
pkg/clipboard/clipboard.go
pkg/clipboard/clipboard.go

Jump to

Keyboard shortcuts

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