You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`cmd/probe`| Manual protocol debugging (not required for normal use) |
57
+
|`cmd/dev`| Offline development entrypoint |
58
+
|`cmd/probe`| Manual protocol debugging |
45
59
46
60
### Defaults and configuration
47
61
48
62
Put shared default values in `internal/constants/constants.go` (`DEFAULT_PORT`, etc.). Do not duplicate magic strings in config or client code.
49
63
64
+
Connection settings (`server`, `port`, transport mode) live in `~/.intertui/config.yaml` and are written by `intertui init`. The main binary only exposes `--user` and `--pass` on the command line; everything else is config-file driven.
65
+
50
66
### Offline development
51
67
52
-
Use `--offline` or the mock server in `internal/intercept/mock.go` when you do not have access to a live game server:
68
+
Run the dev entrypoint when you do not have access to a live game server:
53
69
54
70
```bash
55
-
go run . --offline
71
+
go run ./cmd/dev
56
72
```
57
73
74
+
This starts the built-in mock WebSocket server in `internal/intercept/mock.go` and launches the TUI against it. It is not part of the installed `intertui` binary.
75
+
76
+
### Alternate transports and servers
77
+
78
+
The live game server uses raw TCP on port `13373` by default. WebSocket mode and custom hosts are for development and testing.
79
+
80
+
Set transport options in config via `intertui init`:
Copy file name to clipboardExpand all lines: README.md
+10-54Lines changed: 10 additions & 54 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,11 +8,11 @@ This project is unofficial and not affiliated with the game or its authors.
8
8
9
9
## Features
10
10
11
-
- Fullscreen UI in the style of Claude Code: log fills the screen with input and status pinned at the bottom; mouse wheel scrolls, and click-drag selects text in-app, copying it to your clipboard on release
11
+
- Fullscreen terminal UI with a scrollable log, input line, and status bar
12
+
- Mouse: wheel scroll, click to copy a word, drag to select text (copied on release)
12
13
- ANSI colors for in-game `¬` color codes
13
-
- TCP transport (default) with optional WebSocket mode
14
-
- Username/password login (TCP) or extended WebSocket login flows
15
-
- Offline mode with a built-in mock server for development
14
+
- Tab completion for commands, subcommands, and filesystem paths
Press `Tab` to complete command names, subcommands, and filesystem paths. The first completion may query the server silently in the background; press `Tab` again if nothing happens immediately. Ambiguous matches are listed in the log.
84
+
Press `Tab` to complete command names, subcommands, and filesystem paths. The first completion may query the server in the background; press `Tab` again if nothing appears right away. Ambiguous matches are listed in the log.
107
85
108
-
The command list learned from `cmds`is cached for the rest of the session. Directory listings used for path completion are cleared when you run commands that change the filesystem (`mkdir`, `rm`, and similar) or when you reconnect.
86
+
Command names from `cmds`are cached for the session. Directory listings are cleared when you run commands that change the filesystem (`mkdir`, `rm`, and similar) or when you reconnect.
109
87
110
-
**Reconnecting:** Press `r` after a disconnect to reconnect. File-completion caches are reset, but the cached command vocabulary is kept on purpose — it reflects your account’s command set, not remote host state. If you reconnect to a **different** server or account (for example by changing flags and pressing `r`), tab completion may show stale commands until you restart `intertui`.
88
+
If you reconnect to a different server or account, restart `intertui` to refresh the command cache.
111
89
112
90
## Configuration
113
91
114
-
Default settings live in `~/.intertui/config.yaml` (create with `intertui init`). Flags and environment variables override the file. Default port is in [`internal/constants/constants.go`](internal/constants/constants.go) (`DEFAULT_PORT`). WebSocket URLs are derived as `ws://host:port/ws` unless you pass `--url`.
92
+
Default settings live in `~/.intertui/config.yaml` (create with `intertui init`). `--user` and `--pass`override the file for a single session.
115
93
116
94
Session logs are written to `~/.intertui/logs/latest.log`. On each launch, the previous `latest.log` is renamed to a timestamped file in the same directory (for example `2025-06-10T12-34-56.log`).
117
95
118
96
## Development
119
97
120
98
See [CONTRIBUTING.md](CONTRIBUTING.md).
121
99
122
-
## Protocol
123
-
124
-
JSON request/response protocol, informed by [intercept.py](https://github.com/Martmists-GH/intercept.py):
125
-
126
-
-**TCP (default):** one JSON object per line on port `13373` — `auth` (login) → `connect` (token)
0 commit comments