From d1202b6832fcee84be4de16edd0938b5b0653b1f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 28 Nov 2025 08:10:07 +0100 Subject: [PATCH] Add initial changelog and clarify README --- CHANGELOG.md | 10 ++++++++++ README.md | 18 ++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..01beab1 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## 0.1.0 — 2025-11-28 +- Initial release of `bird`, a CLI for posting tweets and replies via the Twitter/X GraphQL API. +- Supports posting tweets, replying to existing tweets by ID or URL, and reading tweet details. +- Credential resolution priority: CLI flags, environment variables (`AUTH_TOKEN`, `CT0`, fallbacks `TWITTER_AUTH_TOKEN`, `TWITTER_CT0`), then macOS Chrome cookies. +- Includes credential check command and human-friendly output for tweet metadata. +- Bundled TypeScript sources, Vitest coverage, and Biome lint/format configuration. diff --git a/README.md b/README.md index 40554ea..c90dc48 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# bird +# bird 🐦 -A command-line tool for posting tweets and replies via Twitter/X's GraphQL API. +`bird` is a focused command-line tool for posting tweets, replying, and reading tweet details using Twitter/X's GraphQL API. It keeps setup minimal while supporting common workflows for automation or scripting. ## Installation @@ -12,6 +12,12 @@ pnpm run binary # Creates the 'bird' executable ## Usage +### Commands at a glance +- `bird tweet ""` — post a new tweet. +- `bird reply ""` — reply to a tweet using its ID or URL. +- `bird read [--json]` — fetch tweet content as text or JSON. +- `bird check` — show which credentials are available and where they were sourced from. + ### Post a tweet ```bash @@ -44,7 +50,7 @@ bird check ## Authentication -The tool resolves credentials in the following order of priority: +`bird` resolves credentials in the following order of priority: 1. **CLI arguments** (highest priority) ```bash @@ -90,6 +96,6 @@ pnpm run lint:fix ## Notes -- Chrome cookie extraction requires macOS (uses `sqlite3` and `security` CLI tools) -- The keychain access may block when running over SSH - use env vars instead -- Twitter may rotate GraphQL query IDs - update `src/lib/twitter-client.ts` if needed +- Chrome cookie extraction requires macOS (uses `sqlite3` and `security` CLI tools). +- The keychain access may block when running over SSH; use environment variables instead. +- Twitter/X may rotate GraphQL query IDs; update `src/lib/twitter-client.ts` if requests start failing.