
A bunch of non-structured notes, ideas and features that define the project specifications.

Just to condense and give structure using CLI AI Agent. 

## General

- [ ] Client and Server architecture.
- [ ] Client is based on TUI (terminal user interface).
- [ ] Server is based on FastAPI.
- [ ] Client and Server communicate using WebSocket.

## Heartbeat
- [ ] CLI command "connect" to establish a connection with the server from the client.
- [ ] CLI command "disconnect" to disconnect from the server.

On successful connection:
- [ ] The server sends a heartbeat message every 5 seconds to the client.
- [ ] The client sends a heartbeat message every 5 seconds to the server.
- [ ] If the server does not receive a heartbeat message from the client within 10 seconds, it will consider the client disconnected.
- [ ] If the client does not receive a heartbeat message from the server within 10 seconds, it will consider the server disconnected.
