@tastekim/chat-cli
v2.0.2
Published
๐ฌConnect with developers worldwide through an interactive terminal chat experience while you code!๐ป
Maintainers
Readme
๐ฌ Chat CLI
A Chat CLI that lets you communicate with developers from all over the world while you're at work, naturally and unobtrusively.
ํฐ๋ฏธ๋๋ก ์ ๋ฌด์ค์๋ ๋์น ์๋ณด๊ณ ์์ฐ์ค๋ฝ๊ฒ ์ธ์ ๋ชจ๋ ๊ฐ๋ฐ์์ ์ํตํ ์ ์๋ ์ฑํ CLI
๐ Quick Start โข โจ Features โข ๐ Documentation โข โ Support
๐ Overview | ๊ฐ์
Chat CLI is a modern, terminal-based chat application that brings real-time communication directly to your command line. Built with TypeScript and powered by WebSocket technology, it offers a seamless and intuitive chat experience without leaving your terminal.
Chat CLI๋ ์ค์๊ฐ ์ปค๋ฎค๋์ผ์ด์ ์ ๋ช ๋ น์ค๋ก ์ง์ ๊ฐ์ ธ์ค๋ ํ๋์ ์ธ ํฐ๋ฏธ๋ ๊ธฐ๋ฐ ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. TypeScript๋ก ๊ตฌ์ถ๋๊ณ WebSocket ๊ธฐ์ ๋ก ๊ตฌ๋๋๋ฉฐ, ํฐ๋ฏธ๋์ ๋ฒ์ด๋์ง ์๊ณ ๋ ์ํํ๊ณ ์ง๊ด์ ์ธ ์ฑํ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
๐ Quick Start | ๋น ๋ฅธ ์์
Installation | ์ค์น
# Install globally | ์ ์ญ ์ค์น
npm install -g @tastekim/chat-cli
# Run immediately | ์ฆ์ ์คํ
chat-cliBasic Usage | ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
# Start chatting | ์ฑํ
์์
chat-cli
# Help | ๋์๋ง
chat-cli --helpโจ Features | ๊ธฐ๋ฅ
๐ฏ Core Features | ํต์ฌ ๊ธฐ๋ฅ
- ๐ฌ Real-time messaging | ์ค์๊ฐ ๋ฉ์์ง
- ๐ผ๏ธ Image sharing support | ์ด๋ฏธ์ง ๊ณต์ ์ง์
- ๐ Multiple chat rooms | ๋ค์ค ์ฑํ ๋ฐฉ
- ๐ Custom room creation | ์ปค์คํ ๋ฐฉ ์์ฑ
- ๐ฅ Multi-user support | ๋ค์ค ์ฌ์ฉ์ ์ง์
- ๐ Auto-reconnection | ์๋ ์ฌ์ฐ๊ฒฐ
๐จ User Experience | ์ฌ์ฉ์ ๊ฒฝํ
- ๐ฅ๏ธ Beautiful terminal UI with rounded borders | ๋ฅ๊ทผ ํ ๋๋ฆฌ๋ก ์๋ฆ๋ค์ด ํฐ๋ฏธ๋ UI
- โจ๏ธ Intuitive keyboard shortcuts | ์ง๊ด์ ์ธ ํค๋ณด๋ ๋จ์ถํค
- ๐ฏ Responsive layout | ๋ฐ์ํ ๋ ์ด์์
- ๐ Dynamic room switching | ๋์ ๋ฐฉ ์ ํ
๐ ๏ธ Developer Features | ๊ฐ๋ฐ์ ๊ธฐ๋ฅ
- ๐ WebSocket protocol | WebSocket ํ๋กํ ์ฝ
- ๐ Rich command-line interface | ํ๋ถํ ๋ช ๋ น์ค ์ธํฐํ์ด์ค
- ๐ท๏ธ TypeScript support | ํ์ ์คํฌ๋ฆฝํธ ์ง์
- ๐ฆ Modern ES modules | ํ๋์ ์ธ ES ๋ชจ๋
๐ Documentation | ๋ฌธ์
Keyboard Shortcuts | ํค๋ณด๋ ๋จ์ถํค
| Shortcut | Action | ์ค๋ช
|
|----------|--------|------|
| Ctrl + C | Exit | ์ข
๋ฃ |
| Enter | Send message | ๋ฉ์์ง ์ ์ก |
| Tab | Toggle rooms/Commands | ๋ฐฉ ๋ชฉ๋ก ํ ๊ธ/๋ช
๋ น์ด |
| Backspace | Delete character | ๋ฌธ์ ์ญ์ |
| Escape | Exit | ์ข
๋ฃ |
Chat Commands | ์ฑํ ๋ช ๋ น์ด
| Command | Action | ์ค๋ช
|
|---------|--------|------|
| /help | Show help | ๋์๋ง ํ์ |
| /create-room | Create new room | ์ ๋ฐฉ ์์ฑ |
| /join <room> | Join room | ๋ฐฉ ์ฐธ์ฌ |
| /leave | Leave current room | ํ์ฌ ๋ฐฉ ๋๊ฐ๊ธฐ |
| /users | List users | ์ฌ์ฉ์ ๋ชฉ๋ก |
| /rooms | List rooms | ๋ฐฉ ๋ชฉ๋ก |
| /clear | Clear chat | ์ฑํ
๊ธฐ๋ก ์ง์ฐ๊ธฐ |
| /quit | Exit app | ์ฑ ์ข
๋ฃ |
| /1, /2, /3... | Switch to room | ๋ฐฉ ๋ฒํธ๋ก ์ ํ |
Room Management | ๋ฐฉ ๊ด๋ฆฌ
Chat CLI provides a modern, dynamic room management system:
Chat CLI๋ ํ๋์ ์ด๊ณ ๋์ ์ธ ๋ฐฉ ๊ด๋ฆฌ ์์คํ ์ ์ ๊ณตํฉ๋๋ค:
Starting with Lobby | ๋ก๋น์์ ์์
- ๐ Lobby - Default starting room | ๊ธฐ๋ณธ ์์ ๋ฐฉ
- ๐ฅ Multi-user support - See real-time user count | ์ค์๊ฐ ์ฌ์ฉ์ ์ ํ์ธ
- ๐ Auto-reconnection - Seamless connection management | ์ํํ ์ฐ๊ฒฐ ๊ด๋ฆฌ
Room Features | ๋ฐฉ ๊ธฐ๋ฅ
- ๐ Public rooms - Open to everyone | ๋ชจ๋ ์ฌ๋์๊ฒ ์ด๋ฆฐ ๊ณต๊ฐ ๋ฐฉ
- ๐ Private rooms - Password protected | ๋น๋ฐ๋ฒํธ ๋ณดํธ ๋น๊ณต๊ฐ ๋ฐฉ
- ๐ฅ Real-time user count - See who's online | ์ค์๊ฐ ์จ๋ผ์ธ ์ฌ์ฉ์ ์
- ๐ Dynamic room switching - Switch between joined rooms | ์ฐธ์ฌํ ๋ฐฉ ๊ฐ ๋์ ์ ํ
- ๐ฌ Unread indicators - Green dot for new messages | ์ ๋ฉ์์ง ์๋ฆผ (๋ น์ ์ )
Creating Rooms | ๋ฐฉ ์์ฑ
- Use
/create-roomcommand |/create-room๋ช ๋ น์ด ์ฌ์ฉ - Enter room name (1-15 characters) | ๋ฐฉ ์ด๋ฆ ์ ๋ ฅ (1-15์)
- Choose public or private | ๊ณต๊ฐ ๋๋ ๋น๊ณต๊ฐ ์ ํ
- Set password if private | ๋น๊ณต๊ฐ์ธ ๊ฒฝ์ฐ ๋น๋ฐ๋ฒํธ ์ค์
Joining Rooms | ๋ฐฉ ์ฐธ์ฌ
- Use
/join <room-name>command |/join <๋ฐฉ์ด๋ฆ>๋ช ๋ น์ด ์ฌ์ฉ - Enter password if required | ํ์์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ
- Switch between rooms using
/1,/2,/3... |/1,/2,/3... ์ผ๋ก ๋ฐฉ ์ ํ
Interface Layout | ์ธํฐํ์ด์ค ๋ ์ด์์
Chat CLI features a responsive, three-panel layout:
Chat CLI๋ ๋ฐ์ํ 3ํจ๋ ๋ ์ด์์์ ์ ๊ณตํฉ๋๋ค:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ต Chat CLI - Room โ
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโค
โ ๐ Rooms โ ๐ฌ Chat โ ๐ฅ Users โ
โ โ โ โ
โ 1. # Lobby โ [Message bubbles with โ ๐ค You โ
โ (5) โข โ rounded borders] โ ๐ฅ Other โ
โ โ โ โ
โ 2. # Room2 โ ๐ญ typing indicator... โ โ
โ (2) โ โ โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค
โ โ ๐ฌ Type a message... โ โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโResponsive Design | ๋ฐ์ํ ๋์์ธ
- Wide terminals (80+ cols): Full 3-panel layout | ๋์ ํฐ๋ฏธ๋: ์ ์ฒด 3ํจ๋
- Medium terminals (60-79 cols): 2-panel layout | ์ค๊ฐ ํฐ๋ฏธ๋: 2ํจ๋
- Small terminals (<60 cols): Single chat panel | ์์ ํฐ๋ฏธ๋: ๋จ์ผ ์ฑํ ํจ๋
Configuration | ์ค์
User data is automatically managed:
์ฌ์ฉ์ ๋ฐ์ดํฐ๋ ์๋์ผ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค:
~/.chat-cli/
โโโ config.json # User preferences | ์ฌ์ฉ์ ์ค์
โโโ user.json # User information | ์ฌ์ฉ์ ์ ๋ณด๐ง Requirements | ์๊ตฌ์ฌํญ
- Node.js 22.14.0 or higher | 22.14.0 ์ด์
- Terminal with color support and Unicode | ์ปฌ๋ฌ ๋ฐ ์ ๋์ฝ๋ ์ง์ ํฐ๋ฏธ๋
- Network connection for real-time features | ์ค์๊ฐ ๊ธฐ๋ฅ์ ์ํ ๋คํธ์ํฌ ์ฐ๊ฒฐ
- Minimum terminal size: 60x15 characters | ์ต์ ํฐ๋ฏธ๋ ํฌ๊ธฐ: 60x15 ๋ฌธ์
๐จ Design Features | ๋์์ธ ํน์ง
Modern UI Elements | ํ๋์ ์ธ UI ์์
- ๐จ Color-coded elements - Intuitive color system | ์ง๊ด์ ์ธ ์์ ์์คํ
- ๐ฑ Responsive layout - Adapts to terminal size | ํฐ๋ฏธ๋ ํฌ๊ธฐ์ ๋ง์ถฐ ์ ์
- ๐ฌ Message bubbles - Chat-app style message display | ์ฑํ ์ฑ ์คํ์ผ ๋ฉ์์ง ํ์
- ๐ต Status indicators - Visual connection and activity status | ์๊ฐ์ ์ฐ๊ฒฐ ๋ฐ ํ๋ ์ํ ํ์
Typography & Icons | ํ์ดํฌ๊ทธ๋ํผ ๋ฐ ์์ด์ฝ
- ๐ Consistent typography - Clear, readable text | ์ผ๊ด๋ ํ์ดํฌ๊ทธ๋ํผ
- ๐ฏ Contextual icons - Meaningful visual cues | ์๋ฏธ ์๋ ์๊ฐ์ ๋จ์
- ๐ Gradient title - Beautiful app branding | ์๋ฆ๋ค์ด ์ฑ ๋ธ๋๋ฉ
๐ค Contributing | ๊ธฐ์ฌํ๊ธฐ
We welcome contributions! Please feel free to submit a Pull Request.
๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค! ์ธ์ ๋ ์ง Pull Request๋ฅผ ์ ์ถํด ์ฃผ์ธ์.
- Fork the repository | ์ ์ฅ์ ํฌํฌ
- Create your feature branch | ๊ธฐ๋ฅ ๋ธ๋์น ์์ฑ
- Commit your changes | ๋ณ๊ฒฝ์ฌํญ ์ปค๋ฐ
- Push to the branch | ๋ธ๋์น์ ํธ์
- Open a Pull Request | Pull Request ์ด๊ธฐ
๐ License | ๋ผ์ด์ ์ค
This project is licensed under the MIT License - see the LICENSE file for details.
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค ํ์ ๋ฐฐํฌ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.
๐ Version History | ๋ฒ์ ๊ธฐ๋ก
Latest Updates (v1.4.8+) | ์ต์ ์ ๋ฐ์ดํธ
- ๐จ UI/UX Improvements | UI/UX ๊ฐ์
- Rounded borders for all UI components | ๋ชจ๋ UI ์ปดํฌ๋ํธ์ ๋ฅ๊ทผ ํ ๋๋ฆฌ
- Enhanced visual consistency | ํฅ์๋ ์๊ฐ์ ์ผ๊ด์ฑ
- Better responsive design | ๊ฐ์ ๋ ๋ฐ์ํ ๋์์ธ
- โก Performance Enhancements | ์ฑ๋ฅ ํฅ์
- Optimized input handling | ์ต์ ํ๋ ์ ๋ ฅ ์ฒ๋ฆฌ
- Improved WebSocket management | ๊ฐ์ ๋ WebSocket ๊ด๋ฆฌ
- Better memory usage | ํฅ์๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
- ๐ง Technical Improvements | ๊ธฐ์ ์ ๊ฐ์
- Simplified input processing | ๋จ์ํ๋ ์ ๋ ฅ ์ฒ๋ฆฌ
- Enhanced error handling | ํฅ์๋ ์ค๋ฅ ์ฒ๋ฆฌ
- Better code organization | ๊ฐ์ ๋ ์ฝ๋ ๊ตฌ์กฐ
โ Support | ํ์
If you find this project helpful, consider buying me a coffee! Your support helps keep this project alive and enables continuous improvements.
์ด ํ๋ก์ ํธ๊ฐ ๋์์ด ๋์ จ๋ค๋ฉด ์ปคํผ ํ ์ ์ฌ์ฃผ์ธ์! ์ฌ๋ฌ๋ถ์ ํ์์ ์ด ํ๋ก์ ํธ๋ฅผ ์ง์์ํค๊ณ ์ง์์ ์ธ ๊ฐ์ ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
Your generous support is greatly appreciated! | ์ฌ๋ฌ๋ถ์ ๋๊ทธ๋ฌ์ด ํ์์ ๊น์ด ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
Made with โค๏ธ by tastekim
Chat CLI - Bringing conversations to your terminal | Chat CLI - ๋ํ๋ฅผ ํฐ๋ฏธ๋๋ก
