Read, search, and navigate IETF RFCs from your terminal.
From JSR:
deno install -g -A --name rfc jsr:@dgellow/rfc/cli
From source:
git clone https://github.com/dgellow/rfc && cd rfc
deno task install
rfc Interactive TUI
rfc <number> Read in $PAGER
rfc search <query> Search RFCs
rfc info <number> Show metadata
rfc sync Download all RFCs via rsync
rfc sync --index Refresh the index only
rfc list List cached RFCs
rfc path <number> Print local file path
Free text and structured queries, powered by SQLite FTS5:
rfc search HTTP/2
rfc search author:fielding
rfc search status:standard wg:httpbis
rfc search year:2022 TLS
CLI output is colored by default. Respects $NO_COLOR. Use --no-color to
disable.
rfc with no arguments opens an interactive browser.
-
/to search,j/kto navigate,Enterto open -
Tabto filter by status,sto cycle sort order -
ifor metadata panel,?for full keybindings - In-document search, cross-reference navigation, history
Supports vim (default) and emacs keybindings. Set RFC_KEYMAP=emacs.
import { ensureIndex, getRfc, search } from "jsr:@dgellow/rfc";
const db = await ensureIndex();
const { results } = search(db, "HTTP semantics", { orderBy: "relevance" });RFCs are cached locally in ~/.cache/rfc/ (Linux) or ~/Library/Caches/rfc/
(macOS). The index is fetched from rfc-editor.org
on first run and refreshed daily. Individual RFCs are fetched on demand and
cached permanently.
- Deno
- @dgellow/weew — TUI
- @libs/xml — XML parsing
- @db/sqlite — SQLite + FTS5