- Título:
- Forja
Forja
Cliente desktop que reúne Claude Code, Codex e Gemini numa só interface, para não perder contexto alternando entre três terminais. Feito em Electron, React e TypeScript, com xterm.js para o terminal e uma camada de adaptação por CLI em vez de impor um protocolo comum às três. É o meu cliente principal no dia a dia.
Problema
Alternar entre três CLIs de agente em terminais separados custa contexto a cada troca, e nenhuma delas mostra o estado das outras.
Decisões técnicas
Começou em Tauri e Rust, pelo peso do binário. Em março de 2026 migrou para Electron: o terminal de cada sessão é um PTY, e gerenciar PTY pelo Node.js ficou mais simples e com um ecossistema maior do que pelo backend em Rust. Uma camada de adaptação por CLI, em vez de um protocolo comum imposto às três.
Resultado
11 estrelas no GitHub e uso diário próprio como cliente principal.
Links
---
title: Forja
url: https://nandomoreira.dev/lab/forja
collection: lab
tech:
- Electron
- React
- TypeScript
date: 2026-01-15
---
# Forja
Cliente desktop que reúne Claude Code, Codex e Gemini numa só interface, para não perder contexto alternando entre três terminais. Feito em Electron, React e TypeScript, com xterm.js para o terminal e uma camada de adaptação por CLI em vez de impor um protocolo comum às três. É o meu cliente principal no dia a dia.
## Problema
Alternar entre três CLIs de agente em terminais separados custa contexto a cada
troca, e nenhuma delas mostra o estado das outras.
## Decisões técnicas
Começou em Tauri e Rust, pelo peso do binário. Em março de 2026 migrou para
Electron: o terminal de cada sessão é um PTY, e gerenciar PTY pelo Node.js
ficou mais simples e com um ecossistema maior do que pelo backend em Rust.
Uma camada de adaptação por CLI, em vez de um protocolo comum imposto às três.
## Resultado
11 estrelas no GitHub e uso diário próprio como cliente principal.
## Links
- Repo: https://github.com/nandomoreirame/forja
- Live: https://forja.web.app