v0.4.0
A new discover command walks the X graph from a tweet or user breadth first, following authors, quotes, replies, mentions, and the rest of the edge vocabulary.
Every other read answers one question about one object. This release adds
discover, which chains them: it starts at a tweet or a user and follows that
object's links outward, hop by hop, streaming every node it reaches.
discover: walk the graph
x discover 1234567890 # what is this tweet linked to?
x discover nasa # what is this account linked to?
A seed is any tweet or user reference: a tweet id or status URL, or a handle or profile URL. Pass several to start the walk from more than one place. The first row is the seed at depth 0; each later row is tagged with the edge it arrived by.
Tiers carry into the walk
The default content preset follows a post's author, the tweet it quotes or
retweets, its reply parent, the accounts it mentions, and a user's pinned tweet.
Every one of those rides Tier 0, so the default walk needs no token.
The richer edges read the GraphQL surface: replies, liker, retweeter,
quotedby, following, followers, likes. They need --guest or your own
session. When you ask for an edge you have no tier for, discover drops it with
a one-line note on stderr and keeps going on what it can reach, rather than
failing the whole walk.
x discover <ref> --follow thread # author, reply, replies, quote
x discover <user> --follow network --guest # following and followers
x discover <ref> --follow all --guest
x discover <ref> --follow author,quote,mention
The presets are content, thread, engagement, network, timeline, and
all.
Bounds, output, and the store
--depth (default 1), --fanout (default 25; 0 for unlimited), and -n
(default 500) keep a walk finite. discover streams one row per node through the
same formatter as every read, so it shapes and pipes the same way, and --store
writes every node and edge into the local store as the walk streams.
x crawl is the same walk pointed at the store instead of stdout, so discover
is the live-answer complement to the dataset builder. See the
Graph discovery guide for the full tour.
Upgrade
go install github.com/tamnd/x-cli/cmd/x@latest
Prebuilt archives for Linux, macOS, and Windows on amd64 and arm64, plus deb,
rpm, and apk packages, a container image, and checksums, are on the
release page. The binary is
pure Go, builds with CGO_ENABLED=0, and has no runtime dependencies. This
release adds the discover command; existing commands are unchanged.
License
x is derived from nitter and is licensed under the GNU AGPL-3.0.