shelltalk-cli
v1.0.8
Published
Terminal-based messaging app for developers
Maintainers
Readme
ShellTalk CLI
Terminal-based messaging app for developers. Talk to your friends directly from the terminal!
Install
```bash npm install -g shelltalk-cli ```
Setup Environment
Create a `.env` file or set the following environment variables: ```bash SUPABASE_URL=your_supabase_url SUPABASE_ANON_KEY=your_supabase_anon_key SHELLTALK_ENCRYPTION_KEY=your_32_character_secret_encryption_key ```
User Flow
1. Login
```bash shelltalk login ``` Follow the link to login via Supabase OTP. Note: ShellTalk uses Supabase Auth for OTP login. For production email delivery, configure Supabase Custom SMTP with Brevo/Resend/SendGrid.
2. Setup Profile
```bash shelltalk setup ``` Set your username, display name, and phone number. Your phone number is encrypted in the database.
3. Start Hacking / Chatting
```bash shelltalk ```
Commands Inside ShellTalk
- `ls` - List your accepted friends.
- `add @username` - Send a friend request. (Receiver must accept before chatting)
- `add phoneNumber` - Send a friend request by phone.
- `requests` - Show all incoming pending friend requests.
- `pending` - Show outgoing pending friend requests.
- `accept @username` - Accept an incoming friend request.
- `reject @username` - Reject an incoming friend request.
- `block @username` - Block a user from messaging or requesting you.
- `unblock @username` - Unblock a user.
- `cd @username` - Enter a chat with a friend.
- `cd ..` - Exit current chat.
- `me` - Show your current profile info.
- `clear` - Clear the terminal.
- `help` - Show help.
- `logout` - Log out of your account.
- `exit` - Exit ShellTalk.
Privacy & Security
- Friend Requests: You must accept a friend request before anyone can message you.
- Encryption: Phone numbers and message bodies are encrypted before saving to the database using AES-256-GCM. Never store plain text messages.
- Public Info: Usernames are strictly public identity.
- Read Receipts: Messages turn green when read by the other users.
- `✓` sent
- `✓✓` delivered
- `✓✓` (green) read
- Read means the user actively opened the chat with `cd @username`, not just app running in background.
- Copy-Paste Supported: You can paste multiple commands like `add @user\nrequests` directly into the terminal!
