MCPcopy Index your code
hub / github.com/bensadeh/circumflex

github.com/bensadeh/circumflex @4.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 4.4 ↗ · + Follow
962 symbols 3,594 edges 103 files 80 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

circumflex

circumflex is a command line tool for browsing Hacker News in your terminal

Main view

Main features

  • 🛋 Everything in one place — read both the comment section and articles in Reader Mode
  • 🌈 Syntax highlighting — syntax-aware formatting for comments and headlines
  • ⚡️ Vim-style navigation — scroll through, jump between and collapse threads with familiar keybindings

You might also like:

  • 🤹 Native terminal colors — you bring your own color scheme, circumflex does the rest
  • 💎 Nerd Fonts — full support for Nerd Fonts as icons
  • ❤️ Add to favorites — save interesting submissions for later

Installing

The binary name for circumflex is clx.

# Homebrew
brew install circumflex

# Nix
nix-shell -p circumflex

# AUR
yay -S circumflex

# Go
go install github.com/bensadeh/circumflex/cmd/clx@latest

# From source
go run ./cmd/clx

Features

Categories

Switch between categories with Tab. The header shows top, best, ask, show and favorites by default. Pick which ones appear (and in what order) with the --categories flag:

clx --categories top,new,best

Available categories are top, best, new, ask, show and favorites.

Comment section

Press Enter to view the comment section.

The comment section has two modes: read mode and navigate mode.

In read mode, you can scroll using the usual vim bindings. You can also jump between top-level comments (n/N), and you can expand and collapse threads by quote level (h/l) or all at once (Enter).

In navigate mode, you can individually select comments and collapse specific threads. This is useful in longer threads with many replies.

comment section

circumflex is read-only and does not support logging in, voting or commenting.

Reader Mode

Press Space to read the linked article in Reader Mode. Just like in the comment section, you can jump between headers using n/N, and you can scroll using the usual vim bindings.

reader mode

Favorites

Press f to add the highlighted submission to your favorites. Remove it with x.

You can also add a submission by ID from the command line:

clx add [id]

Favorites are stored in ~/.config/circumflex/favorites.json and pretty-printed to be human-readable and VCS-friendly.

History

Visited submissions are marked as read, and comments added since your last visit are highlighted.

History is stored in ~/.cache/circumflex/history.json. Disable tracking with -d/--disable-history, or clear it with:

clx clear

Theme

circumflex uses your terminal's color scheme by default. To customize, write out the default config and edit it:

clx default-theme

The theme lives at ~/.config/circumflex/theme.toml and accepts named colors, hex codes, and ANSI 256 values.

Keymaps

Main view keybindings — press i in any view for the full list, including comment and reader mode.

Key Action
Enter View comments
Space Reader Mode
Tab Next category
r Refresh stories
o Open story in browser
c Open comments in browser
f Add to favorites
x Remove from favorites
u Toggle read
q Quit

Usage

Run clx help or man clx for a full list of available commands and flags.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 655
Method 221
Struct 77
TypeAlias 7
Interface 2

Languages

Go100%

Modules by API surface

style/style.go66 symbols
view/list/list_test.go59 symbols
view/comments/comments.go44 symbols
view/comments/comments_test.go35 symbols
syntax/syntax.go31 symbols
view/reader/reader.go27 symbols
categories/categories_test.go27 symbols
article/article_test.go26 symbols
hn/services/firebase/firebase_test.go24 symbols
categories/categories.go23 symbols
view/comments/flatten_test.go22 symbols
article/renderer.go22 symbols

For agents

$ claude mcp add circumflex \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page