New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@brianlovin/hn-cli

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@brianlovin/hn-cli

Interactive terminal UI for browsing Hacker News

latest
Source
npmnpm
Version
0.4.18
Version published
Maintainers
1
Created
Source

HN CLI

A terminal UI for browsing Hacker News, modeled after the HN reader on my personal website.

Screen Shot 2026-01-26 at 08 34 02@2x

Installation

# 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

From source

git clone https://github.com/brianlovin/hn-cli.git
cd hn-cli
bun install
bun run start

Usage

Navigation

KeyAction
j / kNavigate between stories
spaceJump to next root comment
oOpen story URL in browser
rRefresh stories
cChat with AI about the story
tAI-generated tl;dr
sOpen settings

Mouse Support

  • Click on stories in the sidebar to select them
  • Click story title/URL to open in browser

AI Features

TL;DR Summaries

Press t on any story to generate an AI-powered summary. The AI reads the article and all comments, then provides:

  • A concise summary of the article
  • Key takeaways from the discussion

Summaries are cached locally, so you can revisit them without regenerating.

Screen Shot 2026-01-26 at 08 35 01@2x

Chat

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.

Screen Shot 2026-01-26 at 08 34 20@2x

Bring Your Own API Key

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.

Settings

Press s at any time to open the settings panel.

Screen Shot 2026-01-26 at 08 34 34@2x

AI Provider

  • Switch between Anthropic and OpenAI
  • Change the model (Claude Opus/Sonnet/Haiku, GPT-5 Nano/GPT-5 Mini/GPT-5.2)
  • Add or clear API keys

Story Filtering

These settings control which stories appear in your feed:

SettingDefaultDescription
Max Stories24Maximum number of stories to display
Time Window24hOnly show stories from the last N hours
Min Points50Minimum points required
Min Comments20Minimum comments required

Comment Display

SettingDefaultDescription
Root Comments12Maximum root-level comments shown per story
Child Comments8Maximum replies shown per comment
Nesting Depth3Maximum levels of nested replies

Settings are stored locally at ~/.config/hn-cli/config.json.

Design decisions

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.

Development

Running locally

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

Testing the 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

Testing

bun run test         # Run tests
bun run typecheck    # Check types

Debug modes

bun run debug                      # Test long comment wrapping
bun run debug story-list           # Test story list view
bun run debug highlighted-comment  # Test comment highlighting

Architecture

  • src/index.ts - Entry point
  • src/app.ts - Main app class with UI and keyboard handling
  • src/api.ts - API client for fetching from HNPWA API
  • src/config.ts - Configuration and API key management
  • src/settings.ts - Configurable filter settings with validation
  • src/types.ts - TypeScript types for HN data structures
  • src/test/ - Test suite

Telemetry

This 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.

What's collected

  • App launches (with version number)
  • Feature usage counts (TLDR, chat, refresh)
  • Navigation patterns (stories selected, comments viewed)
  • Keyboard shortcut usage

What's NOT collected

  • Story content, titles, or URLs
  • Chat messages or AI responses
  • API keys or credentials
  • IP addresses or location data

Disabling telemetry

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.

Credits

Built with OpenTUI

Keywords

hacker-news

FAQs

Package last updated on 28 Jan 2026

Did you know?

Socket

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.

Install

Related posts