A terminal-based user interface for browsing Hacker News with Vim-style navigation and Claude AI integration for story summarization.
Install Rust by going here and following the instructions: https://www.rust-lang.org/tools/install
Install and run immediately with Cargo:
git clone https://github.com/program247365/hackertuah.git
cd hackertuah
cargo run --release
Or install globally from the latest source:
cargo install --git https://github.com/program247365/hackertuah
Now you can call it on your commandline:
hackertuah
- 🚀 Browse top Hacker News stories in your terminal
- ⌨️ Vim-style navigation (j/k, arrows, etc.)
- 🤖 Claude AI integration for story summarization
- 🌐 Open stories directly in your default browser
- 💚 Classic green-on-black terminal aesthetic
- 🎯 Minimalist, distraction-free interface
- 🔍 Instant search/filter: Press
/
or use the command palette to filter stories as you type - 🧑💻 Command Palette: Press
Ctrl+K
to access all commands, including search, section switching, and more - 📝 Options menu for each story (summarize, open, close)
- 🏷️ Section switching: Top, Ask, Show, Jobs
- 🛠️ Easy install & run with Cargo
Press Ctrl+K
to open the command palette:
- 🔎 Search for commands as you type
- ⚡ Quickly switch sections (Top, Ask, Show, Jobs)
- 🔄 Refresh current or all sections
- 🔍 Activate search mode (type 'search' and press Enter)
- 🌐 Open in browser, 💬 Open comments, 🤖 Summarize
- ❌ Quit the app
- ⬆️⬇️ Navigate with Up/Down arrows,
Esc
to close
- Press
/
to start searching, or open the command palette and type 'search' - Type to filter stories by title in real-time
- Use Up/Down arrows to navigate filtered results
- Press Enter to open the selected story, or Esc to cancel
- Works across all sections (Top, Ask, Show, Jobs)
j
or↓
: Move downk
or↑
: Move upEnter
: Open selected story in default browserC
: Open comments for selected storyo
: Open options menuq
: Quit applicationEsc
: Close menus/summariesT
: Switch to Top storiesA
: Switch to Ask HNS
: Switch to Show HNJ
: Switch to Jobsh
/l
: Navigate between sectionsr
: Refresh current sectionR
: Refresh all sectionsCtrl+K
: Open command palette (search and execute commands)/
: Start search (type to filter stories)
cargo install --git https://github.com/program247365/hackertuah
- Rust and Cargo (Latest stable version)
- A Claude API key from Anthropic
- Clone the repository:
git clone https://github.com/program247365/hackertuah
cd hackernews-tui
- Add your Claude API key to your environment:
export CLAUDE_API_KEY=your_key_here
- Build and run:
cargo build --release
cargo run
j
or↓
: Move downk
or↑
: Move upEnter
: Open selected story in default browserC
: Open comments for selected storyo
: Open options menuq
: Quit applicationEsc
: Close menus/summariesT
: Switch to Top storiesA
: Switch to Ask HNS
: Switch to Show HNJ
: Switch to Jobsh
/l
: Navigate between sectionsr
: Refresh current sectionR
: Refresh all sectionsCtrl+K
: Open command palette (search and execute commands)/
: Start search (type to filter stories)
Press Ctrl+K
to open the command palette, which provides:
- Searchable list of all available commands
- Real-time filtering as you type
- Command descriptions
- Execute commands with Enter
- Navigate with Up/Down arrows
- Close with Esc
Available commands now include:
- Open in Browser
- Open Comments
- Summarize
- Search (activate search/filter mode)
- Switch to Top/Ask/Show/Jobs
- Refresh/Refresh All
- Quit
Press o
to open the options menu, which provides:
- Summarize this post (uses Claude AI)
- Open in browser
- Close menu
Each story displays:
- Title
- Score
- Author
- Direct link to article or discussion
[dependencies]
ratatui = "0.21.0"
crossterm = "0.26.0"
tokio = { version = "1.0", features = ["full"] }
reqwest = { version = "0.11", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
open = "3.2"
src/
├── main.rs # Main application logic
├── types.rs # Data structures and type definitions
├── ui.rs # UI rendering and layout
└── hn_api.rs # Hacker News API integration
- Fetches top 30 stories from Hacker News API
- Real-time score and comment updates
- Direct access to article URLs and discussion pages
- Summarizes long articles and discussions
- Provides concise, intelligent summaries of complex topics
- Accessible through the options menu with
o
- Built with ratatui for smooth rendering
- Classic green-on-black color scheme
- Efficient memory usage and fast rendering
- Responsive layout that adapts to terminal size
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.