
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@brianlovin/hn-cli
Advanced tools
A terminal UI for browsing Hacker News, modeled after the HN reader on my personal website.
# Run directly (no install needed)
bunx @brianlovin/hn-cli
# or with npx
npx @brianlovin/hn-cli
# Or install globally
bun install -g @brianlovin/hn-cli
hn
# Or with npm
npm install -g @brianlovin/hn-cli
hn
git clone https://github.com/brianlovin/hn-cli.git
cd hn-cli
bun install
bun run start
| Key | Action |
|---|---|
j / k | Navigate between stories |
space | Jump to next root comment |
o | Open story URL in browser |
r | Refresh stories |
c | Chat with AI about the story |
t | AI-generated tl;dr |
s | Open settings |
Press t on any story to generate an AI-powered summary. The AI reads the article and all comments, then provides:
Summaries are cached locally, so you can revisit them without regenerating.
Press c to start a conversation with an AI about the story. The AI has full context of the article and all comments, so you can ask follow-up questions, get clarification, or dive deeper into specific topics.
The chat feature requires an API key from either Anthropic or OpenAI. On first use, you'll be prompted to choose a provider and enter your key.
Option 1: Environment variables
# For Anthropic
export ANTHROPIC_API_KEY=sk-ant-...
# For OpenAI
export OPENAI_API_KEY=sk-...
Option 2: In-app setup
Press s to open settings and you'll be guided through the setup. Your key is stored locally at ~/.config/hn-cli/config.json.
Press s at any time to open the settings panel.
These settings control which stories appear in your feed:
| Setting | Default | Description |
|---|---|---|
| Max Stories | 24 | Maximum number of stories to display |
| Time Window | 24h | Only show stories from the last N hours |
| Min Points | 50 | Minimum points required |
| Min Comments | 20 | Minimum comments required |
| Setting | Default | Description |
|---|---|---|
| Root Comments | 12 | Maximum root-level comments shown per story |
| Child Comments | 8 | Maximum replies shown per comment |
| Nesting Depth | 3 | Maximum levels of nested replies |
Settings are stored locally at ~/.config/hn-cli/config.json.
The default settings match my HN reader on my personal website. I made these choices so that it's easier for me to keep up with the most interesting stories throughout the day without getting sucked too deep into long comment threads or the flood of new submissions.
bun install # Install dependencies
bun run start # Run the app
bun run dev # Run with hot reload
bun run dev:update # Run with simulated update notification
To test the update notification UI without publishing a new version:
bun run dev:update
You can also customize the simulated versions:
HN_SIMULATE_VERSION=0.2.0 HN_SIMULATE_LATEST=0.5.0 bun run start
bun run test # Run tests
bun run typecheck # Check types
bun run debug # Test long comment wrapping
bun run debug story-list # Test story list view
bun run debug highlighted-comment # Test comment highlighting
src/index.ts - Entry pointsrc/app.ts - Main app class with UI and keyboard handlingsrc/api.ts - API client for fetching from HNPWA APIsrc/config.ts - Configuration and API key managementsrc/settings.ts - Configurable filter settings with validationsrc/types.ts - TypeScript types for HN data structuressrc/test/ - Test suiteThis CLI collects anonymous usage data to help understand how people use it and what features to improve. No personal information or content is ever collected.
Option 1: Settings menu
Press s to open settings, then toggle "Telemetry" off.
Option 2: Launch flag
hn --disable-telemetry
This permanently disables telemetry. Your preference is stored locally at ~/.config/hn-cli/config.json.
Built with OpenTUI
FAQs
Interactive terminal UI for browsing Hacker News
We found that @brianlovin/hn-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.