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 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
+