feat(cli): aggiunge terminal controller da riga di comando
Nuovo script cli.js che si connette al server via WebSocket come controller e permette di gestire la partita da terminale con comandi testuali, colori ANSI, tab-completion e history dei comandi. Aggiunge script npm "cli" / "cli:dev" e documenta tutti i comandi nel README
This commit is contained in:
62
README.md
62
README.md
@@ -126,6 +126,68 @@ Espone i due server:
|
||||
|
||||
---
|
||||
|
||||
## Terminal Controller (CLI)
|
||||
|
||||
Il CLI è un controller da terminale che si connette al server via WebSocket e permette di gestire la partita senza browser.
|
||||
|
||||
### Avvio
|
||||
|
||||
```bash
|
||||
# Modalità produzione (server su porta 3000)
|
||||
npm run cli
|
||||
|
||||
# Modalità sviluppo (server Vite su porta 5173)
|
||||
npm run cli:dev
|
||||
|
||||
# Porta custom
|
||||
node cli.js <porta>
|
||||
```
|
||||
|
||||
Il CLI richiede che il server sia già in esecuzione in un altro terminale.
|
||||
|
||||
### Comandi disponibili
|
||||
|
||||
#### Punteggio
|
||||
|
||||
| Comando | Alias | Effetto |
|
||||
|---------|-------|---------|
|
||||
| `punto casa` | `+`, `pc` | Assegna un punto alla squadra di casa |
|
||||
| `punto ospite` | `-`, `po` | Assegna un punto alla squadra ospite |
|
||||
| `undo` | `u` | Annulla l'ultimo punto assegnato |
|
||||
|
||||
#### Set
|
||||
|
||||
| Comando | Effetto |
|
||||
|---------|---------|
|
||||
| `set casa` | Incrementa il contatore set della squadra di casa |
|
||||
| `set ospite` | Incrementa il contatore set della squadra ospite |
|
||||
|
||||
#### Partita
|
||||
|
||||
| Comando | Effetto |
|
||||
|---------|---------|
|
||||
| `serv` | Cambia il servizio (disponibile solo se il punteggio è 0-0) |
|
||||
| `reset` | Resetta la partita — chiede conferma prima di procedere |
|
||||
| `nomi <casa> <ospite>` | Imposta i nomi delle squadre (es. `nomi Antoniana Teate`) |
|
||||
| `modalita 2/3` | Imposta la modalità best-of-3 |
|
||||
| `modalita 3/5` | Imposta la modalità best-of-5 |
|
||||
|
||||
#### Informazioni
|
||||
|
||||
| Comando | Alias | Effetto |
|
||||
|---------|-------|---------|
|
||||
| `stato` | — | Mostra il punteggio corrente nel terminale |
|
||||
| `help` | — | Mostra la lista dei comandi |
|
||||
| `exit` | `q` | Chiude il CLI |
|
||||
|
||||
### Note
|
||||
|
||||
- **Tab**: completamento automatico dei comandi
|
||||
- **Freccia su/giù**: navigazione nella history dei comandi (ultime 100 voci)
|
||||
- Il Display nel browser si aggiorna in tempo reale ad ogni comando inviato
|
||||
|
||||
---
|
||||
|
||||
## Test
|
||||
|
||||
La suite di test copre tutti i livelli dell'applicazione:
|
||||
|
||||
Reference in New Issue
Block a user