Discord energy. Terminal workflow. Built for developers.
TermText is a modern, real-time, terminal-native chat application built with Node.js and Socket.IO. It enables developers to create lightweight chat rooms, communicate instantly through public and private conversations, and collaborate directly from the command line with a clean, keyboard-first experience.
Currently running on v3.1.0, TermText is under active development, with multiple future versions and features already planned, including LAN discovery, file sharing, app UI support, and more.
- Instant bidirectional messaging powered by Socket.IO
- Lightweight and low-latency terminal-first experience
- Beautifully formatted timestamps and colourised output
- Create rooms with unique 6-character room codes
- Join existing rooms instantly
- Automatic room cleanup when all users disconnect
- Readable user identifiers (e.g.
K1,W2) - Real-time username updates
- Persistent local profile storage via
~/.termtext.json
- Seamless private DM mode between users
- Context-aware DM prompt system
- Clean transition between room chat and private chat
- Native audio notifications for incoming messages
- Cross-platform support:
afplayon macOS- PowerShell MediaPlayer on Windows
- console bell fallback on Linux
- Keyboard-first workflow
- Minimal and distraction-free interface
- Built entirely for terminal-native usage
socket.io— WebSocket server and realtime event systemsocket.io-client— CLI websocket clientchalk— Terminal styling and colorsdotenv— Environment configurationprettier— Code formatting
nodemon— Development auto-reloading
Install the package directly using npm:
npx termtext@latestRun the package using:
termtext| Command | Description |
|---|---|
/users |
Lists all users currently connected to the room |
/dm <userId> |
Starts a private DM session with a user |
/exit |
Exits DM mode and returns to room chat |
/name <newName> |
Updates your username in real-time |
/leave |
Leaves the room chat |
/dm K1/name Kartiktermtext/
│
├── server/
│ └── index.js
│
├── client/
│ ├── cli.js
│ └── notification.mp3
│
├── .env
├── package.json
└── README.mdTermText is under continuous development. Planned and upcoming features include:
- LAN discovery
- User muting
- Configurable notification sounds
- File and folder sharing
- Repository sharing
- Voice messages
- Desktop/UI client
...typing- mentions from other users
- more chalk usage in different scenarios
- Advanced moderation tools
/helpfor documentation
TermText is open to community feedback and contributions through:
- Bug reports
- Feature suggestions
- Performance discussions
- UX improvements
At the moment, pull requests are not being accepted.
If you'd like to contribute, please open an issue describing:
- the problem
- proposed improvement
- reproduction steps (if applicable)
This helps maintain architectural consistency as the project evolves rapidly.
TermText is not trying to replace mainstream messaging platforms.
The goal is to build a fast, modern, developer-focused communication experience that feels natural inside the terminal.
Simple. Realtime. Keyboard-first. For the developers working together.
Current Version: 3.1.0
MIT License