hackerchat é um cliente de chat pro terminal. ele fala com qualquer servidor hackerchat via WebSocket, então dá pra entrar numa sala e começar a digitar sem sair do shell.
não tem conta pra criar nem nada pra configurar. roda no terminal com ink e colore os nomes com chalk. é abrir e digitar.
as mensagens trafegam por uma conexão websocket. você vê quem está na sala e quando alguém entra ou sai, ao vivo.
a interface é react, renderizada direto no terminal com ink. sem navegador, sem electron.
cada usuário ganha uma cor estável a partir do nome. mensagens, atividade e presença coloridas no shell.
conecta direto no servidor público de teste. é só passar --username e --room.
aponte --hostUri pro seu servidor, seja no localhost ou numa vps.
cliente e servidor com codebase enxuta e legível. typescript, dependências mínimas.
o servidor público fica de pé pra você testar o cliente na hora, antes de subir o seu.
requisito mínimo do cliente. nada mais precisa ser instalado.
um npx executa o binário sem instalar globalmente. da primeira vez pede confirmação.
flags --username e --room são obrigatórias. a room é criada se ainda não existir.
digita e dá enter. pgup/pgdn pra rolar. double-press ESC pra sair.
# 1. run via npx (no install) npx @matheussartori/hackerchat-client --username alice --room general # 2. point at your own server npx @matheussartori/hackerchat-client \ --username alice --room general \ --hostUri ws://localhost:9898 # 3. install globally npm i -g @matheussartori/hackerchat-client hackerchat --username alice --room general
o backend é um repositório à parte, o hackerchat-server. clone, rode e aponte o cliente com a flag --hostUri.
git clone https://github.com/matheussartori/hackerchat-server.git cd hackerchat-server npm install npm run dev # Listening: ws://0.0.0.0:9898
# local npx @matheussartori/hackerchat-client \ --username alice --room general \ --hostUri ws://localhost:9898 # remote npx @matheussartori/hackerchat-client \ --username alice --room general \ --hostUri ws://your-domain.com
tudo configurável via flags da CLI. os atalhos funcionam dentro da TUI depois de conectado.
um cliente de terminal (ink + react), o servidor de websockets, o binário no npm e um sdk em js/ts pra ligar o chat a qualquer ui.
matheussartori / hackerchat-terminal-client
TUI feito com ink: header, sidebar de online + activity, messages, input bar. conexão ws automática.
matheussartori / hackerchat-server
hub de websockets que roteia frames entre salas. presença em memória, agnóstico de cliente.
@matheussartori / hackerchat-client
binário publicado no npm. rode com npx ou instale global. node ≥ 24, dependências mínimas.
@matheussartori / hackerchat-js-sdk
sdk js/ts pra conectar qualquer ui ao hackerchat-server. cliente agnóstico de framework + bindings opcionais pra react.
conecte a qualquer servidor hackerchat via websocket e converse em tempo real, sem instalar nada. funciona com o @matheussartori/hackerchat-js-sdk.