Agent-Native CLI · Report
opencli · paulgraham

Paul Graham, as a queryable CLI.

An agent-native command-line interface over paulgraham.com — list, read, and full-text-search 25 years of essays. This report documents the tool and what its cached corpus reveals.

01 · What it is

Five commands over a static essay archive

paulgraham.com is a keyless, static site. The CLI turns it into structured, agent-clean data — no browser, no API key, no scraping fragility on the caller's side.

CommandDoesScope
essaysList all essays, newest firstindex page
read <slug>Full clean text of one essay (paragraphs preserved)one page
search <q>Find essays by keyword — title onlyindex page
syncCrawl every essay into a local cachewhole corpus
topic <q>Full-text search of essay bodies, ranked + snippetscached corpus
Why opencli, not Printing Press? The Printing Press library (@mvanhorn/printing-press-library) only installs CLIs from its catalog — it has no authoring command, and paulgraham.com isn't in the catalog. opencli is the right tool for authoring a new site adapter.
02 · The corpus

What sync captured

One polite crawl (bounded concurrency, per-essay failure tolerance) mirrors the full archive locally so topic queries run instantly and offline.

231
essays cached
565K
total words
2,446
avg words / essay
0
fetch failures
Median essay is 1,527 words — well below the 2,446 average, because a handful of long pieces pull the mean up. Span: 2001–2026 (169 essays carry a parseable date).
Longest essays
What I Worked On
13,810
The Other Road Ahead
12,084
How to Do Great Work
11,822
How to Raise Money
10,679
How to Start a Startup
9,778

Shortest cached: Why Twitter is a Big Deal (147w), Charisma / Power (121w), Lisp for Web-Based Applications (58w).

03 · Publishing cadence

Essays per year

A steady builder: a 2007–2009 startup-advice peak, a quieter mid-2010s, and a strong 2020–2021 resurgence.

2001
6
2002
2
2003
7
2004
9
2005
11
2006
9
2007
12
2008
13
2009
13
2010
3
2011
2
2012
5
2013
1
2014
5
2015
10
2016
4
2017
3
2019
6
2020
12
2021
13
2022
6
2023
3
2024
7
2025
4
2026
3
04 · Theme analysis

What PG writes about

Essays containing each term (full-text, via topic), with the single essay that uses it most.

TermEssaysDensest essayHits
startup143How to Fund a Startup108
ideas140How to Get Startup Ideas74
money119How to Raise Money94
founders108How to Fund a Startup55
writing106The Best Essay35
users82The Other Road Ahead74
growth47Startup = Growth60
wealth39How to Make Wealth70
taste31How Art Can Be Good23
empathy3Hackers and Painters11
The empathy surprise. "Empathy" — the moral pivot of How to Earn a Billion Dollars ("the key is not exploitation but empathy") — appears in just 3 of 231 essays. It's a rare word for PG, which makes its load-bearing use in the billion essay stand out. This is exactly the kind of finding search (titles only) could never surface — it needs full-text topic.
05 · Using it

Typical sessions

# one-time: build the local corpus
$ opencli paulgraham sync
  essays: 231 · words: 565030 · failed: 0

# find essays ABOUT a concept (body text, ranked)
$ opencli paulgraham topic "compound growth"
  Superlinear Returns        hits 28
  Do Things that Don't Scale hits 9
  How to Do Great Work       hits 7

# read one, clean, as markdown — feed to an LLM
$ opencli paulgraham read earn -f md

# export the whole index to a spreadsheet
$ opencli paulgraham essays --limit 0 -f csv > pg.csv
06 · How it's built

Architecture & the hard-won bits