Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
Rust 100%
README.md
Thought CLI #
A terminal UI for real-time streaming and posting to the ATProto network using stream.thought.blip records.
Currently, this functions basically like IRC. I recommend entering the full TUI experience with
./target/release/thought stream
Features #
- Real-time TUI: Live terminal interface showing all blips flowing through the network
- Interactive posting: Post your thoughts directly from the TUI
- Jetstream integration: Connect to the ATProto firehose for real-time updates
- Secure credentials: Store your Bluesky credentials safely on your system
- Handle resolution: Automatically resolve DIDs to readable handles
- Duplicate filtering: Smart filtering to avoid showing your own posts twice
Quick Start #
1. Install #
cargo build --release
2. Login #
./target/release/thought login
Enter your Bluesky handle/email and app password when prompted.
3. Stream Your Thoughts #
./target/release/thought stream
This launches the full TUI experience where you can see all blips in real-time and post your own.
Commands #
thought #
The main CLI tool with multiple modes:
# Login to Bluesky
thought login
# Post a single blip
thought "Your thought here"
# Enter simple REPL mode
thought interactive
# Enter full TUI mode with live feed
thought stream
# Logout and clear credentials
thought logout
TUI Interface #
The terminal UI shows:
- Messages area: Scrollable feed of all blips with timestamps
- Status bar: Connection status and message count
- Input field: Type your thoughts and press Enter to post
TUI Controls #
- Type + Enter: Post a blip
- ↑/↓: Scroll through message history
- PageUp/PageDown: Fast scroll
- Esc or Ctrl+C: Exit TUI
Installation #
Prerequisites #
- Rust 1.70+
- A Bluesky account with an app password
From Source #
git clone git@tangled.sh:cameron.pfiffer.org/think
cd think
cargo build --release
The binary will be available at:
target/release/thought
App Password Setup #
- Go to Bluesky Settings
- Generate a new app password
- Use this password (not your main password) when running
thought login
Configuration #
Credentials are securely stored in your system's configuration directory:
- macOS:
~/Library/Application Support/com.thoughtstream.think/ - Linux:
~/.config/thoughtstream/think/ - Windows:
%APPDATA%\thoughtstream\think\
Architecture #
- ATProto Integration: Uses the ATProto API for authentication and posting
- Jetstream Connection: WebSocket connection to the real-time firehose
- Custom Records: Posts using the
stream.thought.bliprecord type - TUI Framework: Built with ratatui for a responsive terminal interface
Examples #
Post a quick thought #
thought "Just built something cool!"
Start a streaming session #
thought stream
# See all blips in real-time, post your own thoughts
Interactive REPL #
thought interactive
# Enter multiple thoughts line by line
Development #
Building #
cargo build
Running Tests #
cargo test
Linting #
cargo clippy
Contributing #
This is part of the larger stream.thought ecosystem for decentralized social communication on ATProto.
License #
MIT License - see LICENSE file for details.