Hackertuah
A CLI for Hacker News
Install / Use
/learn @program247365/HackertuahREADME
Hacker News TUI
A terminal-based user interface for browsing Hacker News with Vim-style navigation and Claude AI integration for story summarization.

Quickstart
Install Rust
Install Rust by going here and following the instructions: https://www.rust-lang.org/tools/install
Install Hackertauh
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
Features
- 🚀 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+Kto 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
Command Palette 🧑💻
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,
Escto close
Search 🔍
- 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)
Keyboard Controls
jor↓: Move downkor↑: 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)
Installation
Cargo
cargo install --git https://github.com/program247365/hackertuah
Prerequisites
- Rust and Cargo (Latest stable version)
- A Claude API key from Anthropic
Setup
- 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
Usage
Keyboard Controls
jor↓: Move downkor↑: 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)
Command Palette
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
Options Menu
Press o to open the options menu, which provides:
- Summarize this post (uses Claude AI)
- Open in browser
- Close menu
Story Information
Each story displays:
- Title
- Score
- Author
- Direct link to article or discussion
Dependencies
[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"
Project Structure
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
Features in Detail
Hacker News Integration
- Fetches top 30 stories from Hacker News API
- Real-time score and comment updates
- Direct access to article URLs and discussion pages
Claude AI Integration
- Summarizes long articles and discussions
- Provides concise, intelligent summaries of complex topics
- Accessible through the options menu with
o
Terminal UI
- 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
Contributing
- 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
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Skills
himalaya
346.8kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
346.8kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
