A collaborative editing system by Gumnut. TypeScript client and Go server communicating over WebSocket.
See DESIGN.md for architecture details.
- Node.js (v23+)
- Go
- pnpm
pnpm installStart the Go server in one terminal:
go run ./server/bin/dummy/Start the client in another:
./run.shAll log output is redirected to /tmp/foiled.log (or pass a custom path: ./run.sh ./my.log). Tail it in a separate terminal:
tail -f /tmp/foiled.logpnpm test # TypeScript tests
go test ./... # Go tests