Skip to content
x

v0.2.1

Output now flows through the shared renderer, so every command, the HTTP server, and the MCP server format records the same way.

A rendering release. Every command now prints through one shared renderer instead of a formatter x kept to itself. The output you already know is unchanged; what changes is that there is a single source of truth behind it.

One renderer everywhere

x reuses the framework's renderer for all output. The standalone binary, the serve HTTP endpoint, and the mcp server now format records through the exact same code, so a tweet looks the same whether you read it on the command line, over HTTP, or through a tool call. The renderer keeps the behavior you rely on:

  • Auto format. With no -o, x prints a table to your terminal and switches to JSONL when you pipe it, so x timeline nasa is readable by eye and x timeline nasa | jq is readable by machine.
  • Every format. -o table|json|jsonl|csv|tsv|url|raw, --fields to project and reorder columns, and --template for a Go text/template per row, with IDs kept as strings so snowflake precision survives jq and counters never render in scientific notation.
  • Tidy tables. Long values stay on a single row, including the free-text cells of x db query, so a stored tweet body never breaks the table layout. The full untruncated value still rides in -o json and --template.

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. There are no breaking changes from v0.2.0.

License

x is derived from nitter and is licensed under the GNU AGPL-3.0.