farcaster-tui
v0.2.1
Published
A terminal-based Farcaster client
Maintainers
Readme
farcaster-tui
A terminal-based Farcaster client. Read and write to the Farcaster network directly from your terminal using Hub HTTP APIs.
Features
- Browse your home feed (casts from accounts you follow)
- View user profiles and cast history
- Read threads and replies
- Search users by username or FID
- View notifications (mentions)
- Compose and publish casts
- Like, recast, reply, follow/unfollow
- Multiple signer support with encrypted key storage
- Configurable hub URL (default: hub.merv.fun)
- Vim-style navigation
- No data caching — always fresh from the hub
Install
npm (requires Bun)
bun install -g farcaster-tui
farcaster-tuiOr run without installing:
bunx farcaster-tuiAUR (Arch Linux)
yay -S farcaster-tuiFrom source
git clone https://github.com/backmeupplz/farcaster-tui.git
cd farcaster-tui
bun install
bun src/index.tsxKeybindings
| Key | Action |
|-----|--------|
| j / k / arrows | Navigate up/down |
| Enter | Open thread / select |
| q / Esc | Go back / quit |
| 1 | Feed |
| 2 | Notifications |
| 3 | Search |
| 4 | Your profile |
| n | New cast |
| r | Reply to selected cast |
| o | Open author's profile |
| R | Refresh |
| g / G | Jump to top/bottom |
| s | Signer manager |
| ? | Settings |
Setup
Reading (no signer needed)
Set your FID in settings (? key) to see your home feed. Without a FID, you'll see sample casts.
Writing (signer required)
To publish casts, like, recast, or follow, you need an Ed25519 signer key registered to your Farcaster account.
- Press
sto open the signer manager - Press
ito import a signer - Paste your Ed25519 private key (hex)
- Enter your FID
- Set an encryption password
Your signer key is encrypted with AES-256-GCM and stored in ~/.config/farcaster-tui/signers.json.
How to get a signer key
Create a signer using Warpcast or any Farcaster client that supports signer management. The private key is a 64-character hex string (32 bytes Ed25519).
Configuration
Config is stored in ~/.config/farcaster-tui/config.json:
{
"hubUrl": "https://hub.merv.fun",
"fid": 12345
}Hub URL
The default hub is https://hub.merv.fun. You can change it in settings or by editing the config file. Some public hubs:
https://hub.merv.funhttps://hub.pinata.cloudhttps://nemes.farcaster.xyz:2281
Development
git clone https://github.com/backmeupplz/farcaster-tui.git
cd farcaster-tui
bun installRun in dev mode with hot reload (restarts on any file change):
bun devRun once without watch:
bun startType check:
bun run typecheckBuild a standalone binary:
bun run build
./farcaster-tuiTech Stack
- Bun — runtime
- Ink — React for CLIs
- @farcaster/hub-nodejs — Farcaster message builders and signers
- Snapchain Hub HTTP API — data layer
License
MIT
