hackerchat é um cliente TUI que conecta a qualquer servidor hackerchat via WebSocket. crie ou entre em salas e converse em tempo real — sem sair do shell.
sem perfil, sem stories, sem onboarding. só você, uma sala e o terminal. renderizado com ink, cores via chalk, zero configuração.
mensagens trafegam em websockets. handshake em milissegundos, presença atualizada ao vivo.
interface renderizada com react no terminal via ink. sem navegador, sem electron. caracteres puros.
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. basta passar --username e --room. nada mais.
aponte --hostUri pro seu servidor. roda local, em vps, em qualquer lugar que aceite websocket.
cliente e servidor com codebase enxuta e legível. typescript, dependências mínimas.
o servidor público fica online 24/7. ideal pra testar 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 hackerchat-server fica no repo gêmeo. é só clonar, subir e apontar 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.
cliente (ink + react no terminal) e servidor (websockets) — cada um com codebase pequena e direta.
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.