groupchat 0.1.3 → 0.1.4
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 +28 -154
- package/package.json +12 -8
package/README.md
CHANGED
|
@@ -1,181 +1,55 @@
|
|
|
1
|
-
# Groupchat
|
|
1
|
+
# Groupchat — Terminal Chat with Embedded AI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Groupchat is a real-time messaging app for developers, built natively in your terminal. Chat with your team and run AI agents like Claude—without leaving your workflow.
|
|
4
4
|
|
|
5
|
-
##
|
|
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)
|
|
5
|
+
## Install
|
|
28
6
|
|
|
29
7
|
```bash
|
|
30
8
|
npm install -g groupchat
|
|
31
9
|
```
|
|
32
10
|
|
|
33
|
-
|
|
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
|
|
11
|
+
## Start
|
|
57
12
|
|
|
58
13
|
```bash
|
|
59
14
|
groupchat
|
|
60
15
|
```
|
|
61
16
|
|
|
62
|
-
|
|
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:
|
|
17
|
+
On first launch, you'll be prompted to log in via your browser. After that, you're in.
|
|
83
18
|
|
|
84
|
-
|
|
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
|
|
19
|
+
## Features
|
|
153
20
|
|
|
154
|
-
|
|
21
|
+
- **Real-time messaging** — instant delivery across channels
|
|
22
|
+
- **Embedded AI agents** — run Claude directly in any conversation
|
|
23
|
+
- **Live presence** — see who's online and typing
|
|
24
|
+
- **Keyboard-driven** — no mouse required
|
|
25
|
+
- **Secure auth** — OAuth login with keychain credential storage
|
|
155
26
|
|
|
156
|
-
|
|
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
|
|
27
|
+
## Keyboard Shortcuts
|
|
161
28
|
|
|
162
|
-
|
|
29
|
+
| Action | Key |
|
|
30
|
+
|--------|-----|
|
|
31
|
+
| View channels | `Ctrl+Q` |
|
|
32
|
+
| Toggle user list | `Ctrl+E` |
|
|
33
|
+
| Send message | `Enter` |
|
|
34
|
+
| Scroll history | `Page Up / Down` |
|
|
35
|
+
| Logout | `Ctrl+O` |
|
|
36
|
+
| Exit | `Ctrl+C` |
|
|
163
37
|
|
|
164
|
-
|
|
38
|
+
## Using Claude
|
|
165
39
|
|
|
166
|
-
|
|
40
|
+
In any channel, you can invoke Claude as an embedded agent. Claude runs inline with full tool use—read files, run commands, and get answers without switching apps.
|
|
167
41
|
|
|
168
|
-
|
|
42
|
+
## Development
|
|
169
43
|
|
|
170
44
|
```bash
|
|
171
45
|
cd tui
|
|
172
46
|
npm install
|
|
173
|
-
npm run dev
|
|
174
|
-
npm run
|
|
175
|
-
npm run build
|
|
47
|
+
npm run dev # watch mode
|
|
48
|
+
npm run dev:debug # watch mode + debug log at .logs/tui-debug.log
|
|
49
|
+
npm run build # production build
|
|
50
|
+
npm run typecheck # type check
|
|
176
51
|
```
|
|
177
52
|
|
|
178
53
|
## License
|
|
179
54
|
|
|
180
|
-
MIT
|
|
181
|
-
|
|
55
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "groupchat",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "CLI chat client for Groupchat (OpenTUI)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"groupchat": "bin/groupchat"
|
|
@@ -11,19 +11,23 @@
|
|
|
11
11
|
],
|
|
12
12
|
"scripts": {
|
|
13
13
|
"dev": "bun --watch run src/index.tsx",
|
|
14
|
-
"dev:
|
|
14
|
+
"dev:debug": "GROUPCHAT_DEBUG=1 bun run src/index.tsx",
|
|
15
|
+
"dev:debug:watch": "GROUPCHAT_DEBUG=1 bun --watch run src/index.tsx",
|
|
16
|
+
"dev:debug:console": "GROUPCHAT_DEBUG=1 SHOW_CONSOLE=true bun --watch run src/index.tsx",
|
|
15
17
|
"build": "bun run build.ts",
|
|
16
18
|
"start": "bun run dist/index.js",
|
|
17
|
-
"
|
|
19
|
+
"test": "bun test test --preload @opentui/solid/preload",
|
|
20
|
+
"test:watch": "bun test test --watch --preload @opentui/solid/preload",
|
|
21
|
+
"test:update-snapshots": "bun test test --update-snapshots --preload @opentui/solid/preload",
|
|
18
22
|
"typecheck": "tsc --noEmit",
|
|
19
23
|
"prepublishOnly": "bun run typecheck && bun run build"
|
|
20
24
|
},
|
|
21
25
|
"optionalDependencies": {
|
|
22
|
-
"@groupchat-cli/darwin-arm64": "0.1.
|
|
23
|
-
"@groupchat-cli/darwin-x64": "0.1.
|
|
24
|
-
"@groupchat-cli/linux-arm64": "0.1.
|
|
25
|
-
"@groupchat-cli/linux-x64": "0.1.
|
|
26
|
-
"@groupchat-cli/win32-x64": "0.1.
|
|
26
|
+
"@groupchat-cli/darwin-arm64": "0.1.4",
|
|
27
|
+
"@groupchat-cli/darwin-x64": "0.1.4",
|
|
28
|
+
"@groupchat-cli/linux-arm64": "0.1.4",
|
|
29
|
+
"@groupchat-cli/linux-x64": "0.1.4",
|
|
30
|
+
"@groupchat-cli/win32-x64": "0.1.4"
|
|
27
31
|
},
|
|
28
32
|
"dependencies": {},
|
|
29
33
|
"devDependencies": {
|