groupchat 0.1.2 → 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.
Files changed (2) hide show
  1. package/README.md +28 -154
  2. package/package.json +12 -8
package/README.md CHANGED
@@ -1,181 +1,55 @@
1
- # Groupchat - Real-time Chat, Natively in Your Terminal
1
+ # Groupchat Terminal Chat with Embedded AI
2
2
 
3
- Welcome to Groupchat, a terminal-native chat application built for developers. Chat with your team without ever leaving your terminal.
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
- ## 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)
5
+ ## Install
28
6
 
29
7
  ```bash
30
8
  npm install -g groupchat
31
9
  ```
32
10
 
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
11
+ ## Start
57
12
 
58
13
  ```bash
59
14
  groupchat
60
15
  ```
61
16
 
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:
17
+ On first launch, you'll be prompted to log in via your browser. After that, you're in.
83
18
 
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
19
+ ## Features
153
20
 
154
- ## For Developers
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
- ### 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
27
+ ## Keyboard Shortcuts
161
28
 
162
- ### Contributing
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
- Interested in improving Groupchat? We welcome contributions! Check out the main repository:
38
+ ## Using Claude
165
39
 
166
- [https://github.com/svapnil/groupchat-main](https://github.com/svapnil/groupchat-main)
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
- ### Development Setup
42
+ ## Development
169
43
 
170
44
  ```bash
171
45
  cd tui
172
46
  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
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 - See LICENSE file in the repository
181
-
55
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "groupchat",
3
- "version": "0.1.2",
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:node": "tsx --watch src/index.tsx",
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
- "start_prod:node": "bun run build && bun run dist/index.js",
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.2",
23
- "@groupchat-cli/darwin-x64": "0.1.2",
24
- "@groupchat-cli/linux-arm64": "0.1.2",
25
- "@groupchat-cli/linux-x64": "0.1.2",
26
- "@groupchat-cli/win32-x64": "0.1.2"
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": {