▄▄▄▄ ▄▄▄ ▄▄▄▄ ▄▄▄▄ ▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄
██▀▀▀ ██▀██ ██▄█▄ ██▀██ ██ ██▄▄ ███▄▄ ███▄▄
▀████ ▀███▀ ██ ██ ████▀ ██▄▄▄ ██▄▄▄ ▄▄██▀ ▄▄██▀
A Discord-inspired chat application that runs in your terminal.
Cordless is a real-time chat application built with TypeScript. It features a terminal-based UI (TUI) powered by React/Ink and a command-line client. Communication is handled via Socket.io, and data is stored locally using SQLite.
Cordless was inspired by Discord. It's a simpler, single-server version with multiple channels, built primarily as a learning project to explore real-time communication, terminal UIs, and TypeScript.
tuibranch contains the Ink/React terminal UI (TUI) version of Cordless. For the original command-line client, see themainbranch. Though this is not being maintained anymore.
Prerequisites: Node.js >= 20
git clone https://github.com/crazysamurai/cordless
cd cordless
npm install
echo "ADMIN_USERNAME=yourname" > .env
npm run build
# Terminal 1: start the server
npm run start:server
# Terminal 2: start the TUI
npm run start:tui| Script | Description |
|---|---|
npm run build |
Compile TypeScript to dist/ |
npm run server |
Start server (dev, with tsx) |
npm run start:server |
Start server (production) |
npm run client |
Start CLI client (dev) |
npm run start:client |
Start CLI client (production) |
npm run cord |
Start TUI (dev) |
npm run start:tui |
Start TUI (production) |
Admin: Set ADMIN_USERNAME in .env to designate a user who can create and delete channels. Only admin users have these permissions.
Contributions are welcome! Feel free to open issues or submit pull requests.
