discourse-tui

Crates.iodiscourse-tui
lib.rsdiscourse-tui
version20260125.0.1
created_at2026-01-25 18:30:22.659831+00
updated_at2026-01-25 18:30:22.659831+00
descriptionTerminal UI for browsing Discourse forums
homepage
repositoryhttps://github.com/ducks/discourse-tui
max_upload_size
id2069259
size538,494
(ducks)

documentation

README

discourse-tui

A terminal user interface for browsing Discourse forums.

Screenshots

Forum Picker

Forum Picker

Add Forum

Add Forum

Main Screen

Main Screen

Topic View

Topic View

Features

  • Browse multiple Discourse instances
  • View topics and posts with raw markdown display
  • Infinite scroll pagination (auto-loads posts when scrolling)
  • Reply to topics and quote posts with vim-style modal composer
  • Category filtering with real API queries
  • Full post view for long content
  • Vim-style keybindings (j/k navigation)
  • Config file storage for API credentials

Installation

From source

git clone https://github.com/ducks/discourse-tui
cd discourse-tui
cargo build --release
./target/release/discourse-tui

From releases

Download the latest binary for your platform from the releases page.

Usage

On first run, you'll be prompted to add a forum. You can add multiple forums and switch between them.

Keybindings

Forum Picker (Screen 5)

  • j/k or arrow keys: Navigate forums
  • a: Add new forum
  • d: Delete selected forum
  • Enter: Select forum
  • 1: Switch to main screen (if forum selected)
  • q: Quit

Main Screen (Screen 1)

  • j/k or arrow keys: Navigate topics/sidebar
  • n/p: Next/previous page of topics
  • Tab: Switch between sidebar and topics
  • Enter: Open selected topic or apply filter
  • 5: Switch to forum picker
  • Esc: Return to forum picker
  • q: Quit

Topic View

  • j/k or arrow keys: Navigate posts (auto-loads more when scrolling near edges)
  • r: Reply to topic
  • q (on a post): Quote selected post in reply
  • Space or Enter: View full post
  • Esc: Return to main screen
  • q: Quit

Composer (Reply/Quote)

  • i: Enter insert mode to type your message
  • Esc: Exit insert mode (or close composer from normal mode)
  • Enter: Submit post (from normal mode)
  • Starts in normal mode (vim-style modal editing)

Post View

  • j/k or arrow keys: Scroll post
  • Esc: Return to topic view
  • q: Quit

Configuration

Forums are stored in ~/.config/discourse-tui/config.toml:

[current]
selected = "meta"

[[forums]]
id = "meta"
name = "Discourse Meta"
url = "https://meta.discourse.org"
api_key = "your-api-key"  # optional
username = "your-username"  # optional

Getting API Keys

To browse private forums or post content, you'll need an API key:

  1. Go to your forum's user preferences
  2. Navigate to the API section
  3. Generate a new user API key
  4. Add it to the config along with your username

Anonymous browsing works for public forums without API credentials.

Dependencies

Built with:

License

MIT

Commit count: 52

cargo fmt