3 releases
| new 0.1.2 | Feb 7, 2026 |
|---|---|
| 0.1.1 | Jan 25, 2026 |
| 0.1.0 | Jan 24, 2026 |
#1799 in Command line utilities
210KB
5.5K
SLoC
feedtui
A configurable terminal dashboard for browsing news, stocks, sports, and more - with a virtual pet companion!
Features
- Hacker News - Browse top, new, and best stories
- Stock Ticker - Track your portfolio in real-time
- RSS Feeds - Subscribe to your favorite news sources
- Sports Scores - Follow NBA, NFL, EPL, and more
- Tui - Your virtual companion creature that levels up as you use the terminal!
Installation
Option 1: Install via pip (Recommended)
No Rust toolchain required! Install directly from PyPI:
pip install feedtui
Or with pipx for isolated installation:
pipx install feedtui
Option 2: From crates.io (Rust)
cargo install feedtui
Option 3: Quick Install Script
git clone https://github.com/muk2/feedtui
cd feedtui
./install.sh
Option 4: Using Make
git clone https://github.com/muk2/feedtui
cd feedtui
make install
Option 5: Manual Install
git clone https://github.com/muk2/feedtui
cd feedtui
cargo install --path .
All Rust-based methods install the feedtui binary to ~/.cargo/bin/. Make sure this directory is in your PATH.
Getting Started
Interactive Configuration Wizard
The easiest way to get started is to run the configuration wizard:
feedtui init
This will guide you through setting up your dashboard with an interactive prompt.
Manual Configuration
Alternatively, create a .feedtui folder in your home directory and add a config.toml file:
mkdir -p ~/.feedtui
cp config.example.toml ~/.feedtui/config.toml
Edit the config to customize your dashboard layout and feeds.
Usage
Run the dashboard
feedtui
Command-line options
# Use a custom config file
feedtui --config /path/to/config.toml
# Override refresh interval
feedtui --refresh 30
# View configuration status
feedtui config
# Reconfigure with wizard
feedtui init --force
# Show installation help
feedtui install
# Show version
feedtui --version
# Show help
feedtui --help
Meet Tui!
Tui (pronounced "chew-ee") is your virtual companion creature that lives in your terminal. The more you use feedtui, the more Tui grows!
Features
- 10 Different Species - Choose from Blob, Bird, Cat, Dragon, Fox, Owl, Penguin, Robot, Spirit, or Octopus
- Leveling System - Earn XP just by using the terminal
- Skill Tree - Unlock skills with points earned from leveling up
- Outfits - Customize Tui with unlockable outfits like Hacker, Wizard, Ninja, Astronaut, and more
- Moods - Tui reacts to how often you visit
- Persistent Progress - Your creature's progress is saved automatically
Keybindings
| Key | Action |
|---|---|
t |
Toggle Tui menu |
Tab / Shift+Tab |
Switch between menu tabs / widgets |
j / k or arrows |
Navigate lists |
Enter |
Select/purchase items in menu |
r |
Refresh feeds |
q |
Quit |
Skill Tree
Unlock skills by spending points:
- Greeting (Free) - Tui greets you on startup
- News Digest (10 pts) - Highlights important news
- Stock Alert (15 pts) - Alerts on significant movements
- Quick Learner (15 pts) - +10% XP gain
- Speed Read (20 pts) - Faster feed refresh
- Fast Learner (30 pts) - +25% XP gain
- Cosmic Insight (50 pts) - Trending topic insights
- Fire Breath (40 pts) - Cosmetic fire animation
- Omniscience (100 pts) - Maximum XP boost
Outfit Unlocks
Outfits unlock as you level up:
| Level | Outfit |
|---|---|
| 1 | Default |
| 5 | Hacker |
| 10 | Wizard |
| 15 | Ninja |
| 20 | Astronaut |
| 25 | Robot |
| 30 | Dragon |
| 50 | Legendary |
Example Config
[general]
refresh_interval_secs = 60
theme = "dark"
# Tui - Your companion creature!
[[widgets]]
type = "creature"
title = "Tui"
show_on_startup = true
position = { row = 0, col = 0 }
# Hacker News
[[widgets]]
type = "hackernews"
title = "Hacker News"
story_count = 10
story_type = "top"
position = { row = 0, col = 1 }
# Stocks
[[widgets]]
type = "stocks"
title = "Portfolio"
symbols = ["AAPL", "GOOGL", "MSFT"]
position = { row = 1, col = 0 }
Python API
If you installed via pip, you can also use feedtui as a Python library:
import feedtui
# Run the TUI
feedtui.run()
# Run with custom config
feedtui.run(config_path="/path/to/config.toml")
# Run with custom refresh interval
feedtui.run(refresh_interval=30)
# Initialize a new config file
config_path = feedtui.init_config()
print(f"Config created at: {config_path}")
# Get config path
print(feedtui.get_config_path())
# Get version
print(feedtui.version())
Development
Running from source (without installing)
# Debug mode
cargo run
# Release mode
cargo run --release
# Or use make
make dev # debug mode
make run # release mode
Common development tasks
# Format code
cargo fmt
# or
make fmt
# Run linter
cargo clippy
# or
make clippy
# Run tests
cargo test
# or
make test
# Clean build artifacts
cargo clean
# or
make clean
License
MIT
Dependencies
~23–44MB
~699K SLoC