Tail Digg's news cycle from the terminal — read-only, with the full pipeline event stream, GitHub feeds, and rank-history nobody else surfaces.
Digg is a curated AI-news leaderboard powered by tracked accounts on X and a parallel GitHub feed (stars / new / activity / recent). The web UI shows you today's snapshot. This CLI tails the pipeline events, keeps a local rank-history that survives daily overwrites, exposes Digg's own replacement rationale and gravity components, and surfaces the four GitHub feeds as structured data.
Authentication
No auth required. The CLI uses only public surfaces — the /ai page (HTML+RSC scrape) and /api/trending/status (public JSON). It does not use Clerk session cookies or any authenticated endpoint, by design: this is a read-only research tool, and Digg's parent platform was shut down over AI-agent abuse. The CLI is read-only and identifies itself with a clear User-Agent so Digg ops can rate-limit it cleanly.
Quick Start
# Pull the current /ai feed and /api/trending/status events into the local store
digg-pp-cli sync
# Read today's top 10 clusters as structured JSON
digg-pp-cli top --limit 10 --json
# See which stories climbed the rankings in the last hour with explicit rank deltas
digg-pp-cli events --since 1h --type fast_climb
# What got knocked out of the rankings overnight and Digg's own rationale for each
digg-pp-cli replaced --since 24h
# Top influencers tracked by Digg, ranked by Digg's score
digg-pp-cli authors top --by influence --limit 25
# Top AI repos by starring activity from Digg-tracked accounts
digg-pp-cli github stars --limit 10 --json
# Smart-money convergence — repos starred by >= 2 distinct AI-builder accounts
digg-pp-cli github stars --min-starrers 2 --json
# Live GitHub activity feed: who starred / committed / opened issues, in real time
digg-pp-cli github recent --limit 20 --json
# Curated emerging AI companies from the /ai/x/rankings/companies snapshot
digg-pp-cli rankings emerging --json
# Companies climbing fastest in follower count since the last snapshot
digg-pp-cli rankings movers --direction up --json
# Full company ranking (initial-HTML slice)
digg-pp-cli rankings list --limit 20 --json
Unique Features
These capabilities aren't available in any other tool for this API.
Topic search and per-post citations
-
search — Topic search across Digg's full window. Live by default — hits /api/search/stories, the same server-side search that backs the di.gg/ai Cmd+K modal — with FTS5 fallback to the local store on network error or --data-source local.
Returns ranked clusters with engagement metadata (postCount, uniqueAuthors, firstPostAge); the load-bearing recipe for last30days-style research workflows.
digg-pp-cli search "<topic>" --since 30d --agent --select clusterUrlId,title,rank,postCount,uniqueAuthors,firstPostAge
--since Nh|Nd|Nw|Nm — filter to clusters first posted within the window (live mode parses Digg's own firstPostAge; local mode reads digg_clusters.first_post_at).
-
posts — X posts attached to one cluster, with author rank, body when rendered, media URLs, repost-context, and minted xUrl for one-click citation.
The citations recipe: surface the highest-credibility AI 1000 voices on a story, sortable by rank, type, or time.
digg-pp-cli posts <clusterUrlId> --by rank --limit 5 --agent --select author.username,author.rank,post_type,xUrl,body
Author lookup and roster browse
-
authors get — Look up any X handle in Digg's full author universe (1000 + off-1000) via /api/search/users. For off-1000 handles, the response includes subject_peer_follow_count, the rank-1000 anchor's peer_follow_count, and a signed peer_follow_gap — the gap to the 1000 measured in AI-1000 peer follows (NOT raw X follower count).
The credibility lookup: an agent can decide whether to quote a handle by reading one structured record.
digg-pp-cli authors get <handle> --agent
Trimmed off-1000 example for mvanhorn:
{
"username": "mvanhorn",
"current_rank": null,
"subject_peer_follow_count": 19,
"nearest_in_1000": {"rank": 1000, "username": "...", "peer_follow_count": 90},
"peer_follow_gap": 71
}
peer_follow_gap is the gap to rank-1000's followed_by_count (peer follows from inside the AI 1000). Do not read it as a raw X follower delta.
-
authors list — Full ranked AI 1000 from /ai/1000, persisted with rich fields (rank, category, bio, vibeDistribution, GitHub URL).
Identify rising voices in a category, find authors who just joined the 1000, see who's falling fast — sortable, filterable, scriptable.
# Biggest movers since the last snapshot
digg-pp-cli authors list --by rankChange --limit 20 --agent
# Newly listed (first appearance in the 1000)
digg-pp-cli authors list --only-new --agent
Sort with --by rank|rankChange|category|followers; filter with --category "<name>", --only-new, --only-fallers.
Live pipeline observability
-
events — Tail Digg's ingestion pipeline in real time — see clusters as they're detected, stories fast-climbing the leaderboard with explicit rank deltas, X posts being processed, batch breakdowns.
When an agent needs 'tell me when story X just climbed N ranks' or 'what new clusters did Digg detect in the last hour', this is the only way.
digg-pp-cli events --since 1h --type fast_climb --json --select clusterId,label,delta,currentRank,previousRank
-
watch — Poll /ai, diff against last snapshot, alert when any cluster moves N+ ranks.
Read-only operational watcher; never writes anything back to Digg.
digg-pp-cli watch --alert 'rank.delta>=10'
-
pipeline status — One-screen view of /api/trending/status: isFetching, nextFetchAt, storiesToday, clustersToday, last 5 events.
Lets ops and power users see when a fresh batch is about to land and what's been ingested in the last hour.
digg-pp-cli pipeline status --watch
Local state that compounds
-
replaced — Show stories that were knocked out of the rankings since the last sync, with Digg's own published replacement rationale.
Best-of-feed shifts faster than people remember. This makes 'what did Digg drop and why' queryable.
digg-pp-cli replaced --since 24h --json
-
crossref — Show this cluster's Hacker News and Techmeme mirrors when Digg has detected the story is being discussed there.
Removes the manual 'is HN talking about this too' step from any cross-aggregator research workflow.
digg-pp-cli crossref iq7usf9e
-
authors top — Top accounts Digg tracks, ranked by Digg's influence score, story count, or reach.
Investors and AI scouts care which accounts move the news cycle. Now queryable, sortable, scriptable.
digg-pp-cli authors top --by influence --limit 50 --json
-
history — Full trajectory of one cluster's currentRank, peakRank, and delta over local snapshot history.
'Entered at #18, peaked at #4 over 6h, dropped to #22 by 24h' is impossible to learn from the live site.
digg-pp-cli history iq7usf9e --json
-
author — Every cluster a given X account contributed to, with post type (original, retweet, quote, reply).
'Show me every story this account surfaced this week' is the investor-scout query.
digg-pp-cli author Scobleizer --since 7d --json
Transparency
-
evidence — Print the full ranking transparency record for one cluster — scoreComponents, evidence array, numeratorLabel, percentAboveAverage.
When a user asks 'why is THIS the top story', the answer is structured data; agents can compose with it.
digg-pp-cli evidence iq7usf9e --json
-
sentiment — Read per-time-window positivity ratios (pos6h, pos12h, pos24h, posLast) for a cluster.
Tells an agent whether the conversation around a story is still net-positive or has soured; useful before quoting a story.
digg-pp-cli sentiment iq7usf9e --window 6h --json
Usage
Run digg-pp-cli --help for the full command reference and flag list.
Commands
feed
Top-level story feed (HTML page; CLI parses the embedded RSC stream)
digg-pp-cli feed raw - Fetch the raw /ai HTML page. The CLI's sync command parses this; most users should run sync then top instead of calling this directly.
digg-pp-cli feed story_raw - Fetch the raw /ai/{clusterUrlId} story detail page (HTML). The CLI's story command parses this; users should not need to call this directly.
github
GitHub feeds Digg surfaces alongside the X-account leaderboard. Four flavors, each parsed from the embedded RSC stream.
digg-pp-cli github stars - Top AI repos ranked by starring activity from Digg-tracked accounts. Returns repo name, language, stargazers_count, recent starrer list, breakout_score, novel_score, ai_related_score, and the model's one-sentence classification. Flag: --min-starrers N filters to repos starred by >= N distinct accounts (smart-money convergence).
digg-pp-cli github new - Recently first-seen repos with the Digg-tracked creator/starrer who first put them on Digg's radar (event_id, event_created_at, repo_full_name, creator).
digg-pp-cli github activity - Top GitHub contributor leaderboard: per-author rank, contribution count, and distinct repos.
digg-pp-cli github recent - Live activity feed: per-event entries with the GitHub URL and the user who acted.
Rankings views
Sub-views of the /ai/x/rankings/companies page, each parsed from a distinct section of the same RSC stream. Every command shares a schema-drift gate via --max-skip-ratio (default 0.10).
digg-pp-cli rankings emerging - Curated list of small AI companies (the "EMERGING STARTUPS — CURATED THIS SNAPSHOT" section). ~10 rows per snapshot. Each row carries isEmergingStartup (the AI judge's verdict) plus the curator's emergingReasoning text.
digg-pp-cli rankings movers - Companies whose follower count shifted most since the last snapshot. --direction up|down|both (default both, with direction tagged per row). ~10 rows per side.
digg-pp-cli rankings list - Full company ranking (the "Companies followed by the AI 2K" section). Server-paginated; returns the initial-HTML slice. --limit caps.
search
Topic search across the full Digg window
digg-pp-cli search "<query>" - Live by default (/api/search/stories); FTS5 fallback to the local store. Flags: --since Nh|Nd|Nw|Nm, --data-source live|local|auto, --limit.
authors
Inspect Digg's tracked AI-news accounts (the /ai/1000 roster).
digg-pp-cli authors get <handle> - Look up any X handle (1000 + off-1000); off-1000 records include subject_peer_follow_count, the rank-1000 nearest_in_1000 anchor, and peer_follow_gap. Flag: --limit (fuzzy fallback).
digg-pp-cli authors list - Full ranked roster from /ai/1000, persisted with rich fields. Flags: --by rank|rankChange|category|followers, --category, --only-new, --only-fallers, --limit.
digg-pp-cli authors top - Top contributors by influence, post count, or reach.
posts
X posts attached to one cluster
digg-pp-cli posts <clusterUrlId> - Origins, replies, quotes, retweets with author rank, body when rendered, media URLs, minted xUrl. Flags: --by rank|type|time, --type tweet|reply|quote|retweet, --limit, --no-cache.
story
Full cluster detail. The envelope now includes posts and postsMeta fields populated by the U5 RSC parser.
trending
Public ingestion-pipeline status and event stream
digg-pp-cli trending status - Read the current pipeline status: storiesToday, clustersToday, isFetching, nextFetchAt, and the recent event stream (cluster_detected, fast_climb, post_understanding, batch_started, batch_breakdown, posts_stored, embedding_progress).
Output Formats
# Human-readable table (default in terminal, JSON when piped)
digg-pp-cli feed raw
# JSON for scripting and agents
digg-pp-cli feed raw --json
# Filter to specific fields
digg-pp-cli feed raw --json --select id,name,status
# Dry run — show the request without sending
digg-pp-cli feed raw --dry-run
# Agent mode — JSON + compact + no prompts in one flag
digg-pp-cli feed raw --agent
Agent Usage
This CLI is designed for AI agent consumption:
- Non-interactive - never prompts, every input is a flag
- Pipeable -
--json output to stdout, errors to stderr
- Filterable -
--select id,name returns only fields you need
- Previewable -
--dry-run shows the request without sending
- Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
- Offline-friendly - sync/search commands can use the local SQLite store when available
- Agent-safe by default - no colors or formatting unless
--human-friendly is set
Exit codes: 0 success, 2 usage error, 3 not found, 5 API error, 7 rate limited, 10 config error.
Health Check
digg-pp-cli doctor
Verifies configuration and connectivity to the API.
Configuration
Config file: ~/.config/digg-pp-cli/config.toml
Troubleshooting
Not found errors (exit code 3)
- Check the resource ID is correct
- Run the
list command to see available items
API-specific
- All commands return empty after install — Run
digg-pp-cli sync first — the local store is empty until the first sync.
events shows no fast_climb / cluster_detected events — The pipeline batches every ~10 minutes. Wait for nextFetchAt from digg-pp-cli pipeline status or filter by a different --type.
- HTTP 429 on sync — Adaptive limiter backs off automatically. If it persists, lower the polling rate with
--interval 120s on watch commands.
- Story command returns 'cluster not found' — Use
clusterUrlId (the 8-char alphanumeric short ID), not the UUID-style clusterId. digg-pp-cli top --json --select clusterUrlId lists them.
HTTP Transport
This CLI uses Chrome-compatible HTTP transport for browser-facing endpoints. It does not require a resident browser process for normal API calls.
Sources & Inspiration
This CLI was built by studying these projects and resources:
Generated by CLI Printing Press