A terminal-based user interface for browsing Hacker News with Vim-style navigation and Claude AI integration for story summarization.
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
- 🚀 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 down
- k or ↑: Move up
- Enter: Open selected story in default browser
- C: Open comments for selected story
- o: Open options menu
- q: Quit application
- Esc: Close menus/summaries
- T: Switch to Top stories
- A: Switch to Ask HN
- S: Switch to Show HN
- J: Switch to Jobs
- h/l: Navigate between sections
- r: Refresh current section
- R: Refresh all sections
- Ctrl+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 down
- k or ↑: Move up
- Enter: Open selected story in default browser
- C: Open comments for selected story
- o: Open options menu
- q: Quit application
- Esc: Close menus/summaries
- T: Switch to Top stories
- A: Switch to Ask HN
- S: Switch to Show HN
- J: Switch to Jobs
- h/l: Navigate between sections
- r: Refresh current section
- R: Refresh all sections
- Ctrl+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.
.png)



