groupchat 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +181 -0
- package/dist/App-LF2NVQZQ.js +1717 -0
- package/dist/chunk-ZYY5PLDM.js +244 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +266 -0
- package/package.json +60 -0
package/README.md
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Groupchat - Real-time Chat, Natively in Your Terminal
|
|
2
|
+
|
|
3
|
+
Welcome to Groupchat, a terminal-native chat application built for developers. Chat with your team without ever leaving your terminal.
|
|
4
|
+
|
|
5
|
+
## What is Groupchat?
|
|
6
|
+
|
|
7
|
+
Groupchat is a real-time chat application that runs entirely in your terminal. It's designed for developers and teams who want to stay connected without breaking their command-line workflow. Whether you're coding, debugging, or managing infrastructure, you can chat with colleagues instantly—all from your terminal.
|
|
8
|
+
|
|
9
|
+
**Key benefits:**
|
|
10
|
+
- 💻 **Native terminal experience** - No browser tabs needed
|
|
11
|
+
- ⚡ **Real-time messaging** - Instant message delivery with live presence
|
|
12
|
+
- 🎯 **Developer-friendly** - Built for people who live in the terminal
|
|
13
|
+
- 🔐 **Secure** - OAuth-based authentication with system keychain storage
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- **💬 Real-time Messaging** - See messages instantly as they arrive with smooth typing indicators
|
|
18
|
+
- **🌐 Multiple Channels** - Join public channels or create private rooms to organize conversations
|
|
19
|
+
- **👥 Live Presence** - See who's online, away, or offline with real-time status updates
|
|
20
|
+
- **🔐 Secure Authentication** - Browser-based login with credentials safely stored in your system keychain
|
|
21
|
+
- **⌨️ Keyboard-Driven Navigation** - Full keyboard control—no mouse required
|
|
22
|
+
- **🎨 Clean, Organized Interface** - Beautiful TUI with message history, user lists, and status indicators
|
|
23
|
+
- **📱 Responsive Design** - Adapts to your terminal size for optimal viewing
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
### From npm (when published)
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g groupchat
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Then verify installation:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
groupchat --help
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Getting Started
|
|
40
|
+
|
|
41
|
+
### First Time Setup
|
|
42
|
+
|
|
43
|
+
1. **Start Groupchat**
|
|
44
|
+
```bash
|
|
45
|
+
groupchat
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
2. **Login (if needed)**
|
|
49
|
+
If you're not already logged in, the app will prompt you to authenticate. Your browser will automatically open. Once approved, return to your terminal to start chatting.
|
|
50
|
+
|
|
51
|
+
3. **You're in!**
|
|
52
|
+
The main chat interface loads automatically. Start sending messages and connecting with your team.
|
|
53
|
+
|
|
54
|
+
## How to Use
|
|
55
|
+
|
|
56
|
+
### Starting Groupchat
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
groupchat
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
That's it! The app handles everything else—authentication, logging out, switching channels, and sending messages all happen within the interface.
|
|
63
|
+
|
|
64
|
+
### Navigation & Controls
|
|
65
|
+
|
|
66
|
+
**In the Chat Interface:**
|
|
67
|
+
|
|
68
|
+
| Action | Shortcut |
|
|
69
|
+
|--------|----------|
|
|
70
|
+
| **View all channels** | `Ctrl+Q` |
|
|
71
|
+
| **Toggle user list** | `Ctrl+E` |
|
|
72
|
+
| **Logout** | `Ctrl+O` |
|
|
73
|
+
| **Exit chat** | `Ctrl+C` |
|
|
74
|
+
| **Send message** | `Enter` |
|
|
75
|
+
| **Clear input** | `Ctrl+U` |
|
|
76
|
+
| **Navigate channels** | Arrow Keys (Up/Down) |
|
|
77
|
+
| **Select channel** | `Enter` |
|
|
78
|
+
| **Scroll message history** | `Page Up` / `Page Down` |
|
|
79
|
+
|
|
80
|
+
### The Chat Experience
|
|
81
|
+
|
|
82
|
+
When you start Groupchat, you'll see:
|
|
83
|
+
|
|
84
|
+
**Header Section (Top)**
|
|
85
|
+
- Your username and connection status
|
|
86
|
+
- Logout shortcut reminder
|
|
87
|
+
|
|
88
|
+
**Message Area (Center)**
|
|
89
|
+
- Full chat history with timestamps
|
|
90
|
+
- Color-coded usernames for easy identification
|
|
91
|
+
- Typing indicators when others are composing
|
|
92
|
+
- Unread message counts
|
|
93
|
+
|
|
94
|
+
**Input Box (Bottom)**
|
|
95
|
+
- Type your messages here
|
|
96
|
+
- Shows connection status
|
|
97
|
+
- Displays helpful hints
|
|
98
|
+
|
|
99
|
+
**User List (Right)**
|
|
100
|
+
- Toggle with `Ctrl+E`
|
|
101
|
+
- Shows online/offline status
|
|
102
|
+
- Displays user roles and activity
|
|
103
|
+
|
|
104
|
+
**Status Bar (Bottom)**
|
|
105
|
+
- Keyboard shortcuts at a glance
|
|
106
|
+
- Connection information
|
|
107
|
+
|
|
108
|
+
## Channels
|
|
109
|
+
|
|
110
|
+
### Public Channels
|
|
111
|
+
Open to everyone in your workspace. Join any public channel to start conversations with the team.
|
|
112
|
+
|
|
113
|
+
### Private Channels
|
|
114
|
+
Invite-only rooms for team discussions. You'll see a lock icon (🔒) next to private channel names.
|
|
115
|
+
|
|
116
|
+
### Channel Features
|
|
117
|
+
- **Unread indicators** - See at a glance which channels have new messages
|
|
118
|
+
- **Real-time updates** - Messages appear instantly as they're sent
|
|
119
|
+
- **Search-friendly names** - Channel names help you find relevant conversations
|
|
120
|
+
- **Seamless switching** - Jump between channels instantly without losing context
|
|
121
|
+
|
|
122
|
+
## Configuration
|
|
123
|
+
|
|
124
|
+
Groupchat works out of the box with default settings.
|
|
125
|
+
|
|
126
|
+
## Troubleshooting
|
|
127
|
+
|
|
128
|
+
### "I'm not logged in. How do I login?"
|
|
129
|
+
Just run `groupchat` and it will prompt you to authenticate. Your browser will open automatically.
|
|
130
|
+
|
|
131
|
+
### "I can't find a channel I need"
|
|
132
|
+
Press `Ctrl+Q` to view all available channels. You can browse to find what you're looking for.
|
|
133
|
+
|
|
134
|
+
### "My credentials aren't saved"
|
|
135
|
+
Groupchat stores credentials in your system keychain for security. Make sure your system keychain is accessible and unlocked.
|
|
136
|
+
|
|
137
|
+
### "The terminal looks broken"
|
|
138
|
+
Groupchat requires a modern terminal emulator. Try resizing your terminal window or running `groupchat` again.
|
|
139
|
+
|
|
140
|
+
### "I want to logout"
|
|
141
|
+
Press `Ctrl+O` in the chat interface to logout and exit.
|
|
142
|
+
|
|
143
|
+
## The Groupchat Experience
|
|
144
|
+
|
|
145
|
+
Groupchat transforms how you communicate while coding. Instead of alt-tabbing to a browser or chat window, your conversations are right there in the terminal—exactly where your workflows happen.
|
|
146
|
+
|
|
147
|
+
**Why terminal-native chat?**
|
|
148
|
+
- Stay focused on your work
|
|
149
|
+
- No context switching between apps
|
|
150
|
+
- Fast, efficient communication
|
|
151
|
+
- Keep your hands on the keyboard
|
|
152
|
+
- Perfect for pair programming and remote teams
|
|
153
|
+
|
|
154
|
+
## For Developers
|
|
155
|
+
|
|
156
|
+
### Technology Stack
|
|
157
|
+
- **React for Terminals** - Ink provides a React-based TUI framework
|
|
158
|
+
- **WebSocket** - Real-time bidirectional communication
|
|
159
|
+
- **TypeScript** - Type-safe implementation
|
|
160
|
+
- **Node.js** - Cross-platform CLI runtime
|
|
161
|
+
|
|
162
|
+
### Contributing
|
|
163
|
+
|
|
164
|
+
Interested in improving Groupchat? We welcome contributions! Check out the main repository:
|
|
165
|
+
|
|
166
|
+
[https://github.com/svapnil/groupchat-main](https://github.com/svapnil/groupchat-main)
|
|
167
|
+
|
|
168
|
+
### Development Setup
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
cd tui
|
|
172
|
+
npm install
|
|
173
|
+
npm run dev # Watch mode with hot reload
|
|
174
|
+
npm run typecheck # Check TypeScript types
|
|
175
|
+
npm run build # Build for production
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## License
|
|
179
|
+
|
|
180
|
+
MIT - See LICENSE file in the repository
|
|
181
|
+
|