Document stable 1.x binary naming

This commit is contained in:
m1ngsama 2026-05-26 20:16:36 +08:00
parent 13b671cc9f
commit cbaf02c769
4 changed files with 24 additions and 9 deletions

View file

@ -35,6 +35,9 @@
- The release guide now documents SemVer expectations, manual release review,
smoke testing, and rollback steps.
- Package installs now include `tntctl` and its man page alongside `tnt`.
- The binary naming policy is now explicit: `tnt` remains the stable 1.x
server process name, and any future `tntd` split requires a major-version
compatibility plan.
- SSH exec commands longer than the command buffer are now rejected with a
usage error instead of being truncated and executed.
- SSH exec `post` now persists the message before broadcasting or returning

View file

@ -3,14 +3,21 @@
This document defines the public surfaces that scripts, package tests, and
operators may rely on.
TNT is still evolving toward a split `tntd` / `tntctl` model. The stable
control surface is the SSH exec interface exposed by the `tnt` daemon.
`tntctl` is a thin wrapper around that same interface.
For 1.x, the public binary names are stable:
- `tnt` is the server process and daemon entrypoint.
- `tntctl` is a thin local wrapper around the SSH exec interface.
TNT will not introduce a separate `tntd` binary during 1.x. If the project
ever splits the server into `tntd`, that change must ship with a major-version
compatibility plan, package migration notes, and a transition period for the
`tnt` command.
## Stability Scope
Stable:
- public binary names for 1.x: `tnt` and `tntctl`
- documented command-line flags in `tnt(1)`
- documented environment variables in `tnt(1)`
- SSH exec command names and argument shapes listed below

View file

@ -28,8 +28,8 @@ Goal: make TNT predictable for operators, scripts, and package maintainers.
- `post`
- ✅ support text and JSON output modes where machine use is likely
- ✅ normalize command parsing, help text, and error reporting
- decide whether the server binary should remain `tnt` or split later into a
separate `tntd` daemon name
- ✅ keep `tnt` as the 1.x server binary; reserve any future `tntd` split for a
major-version compatibility plan
- ✅ add `--bind`, `--port`, `--state-dir`, `--public-host`,
`--max-connections`, and related long options consistently
- ✅ add man pages for `tnt` and `tntctl`
@ -103,8 +103,6 @@ Goal: make regressions harder to introduce.
These are the next changes that should happen before new feature work expands the surface area.
1. Decide the daemon naming path: keep `tnt` as the server binary for 1.x, or
introduce `tntd` later with a compatibility plan.
2. Finish untangling client-state ownership into a clearer release path.
3. Replace remaining release placeholders with real maintainer metadata and
1. Finish untangling client-state ownership into a clearer release path.
2. Replace remaining release placeholders with real maintainer metadata and
source-archive checksums when cutting a public package release.

7
tnt.1
View file

@ -34,6 +34,13 @@ COMMAND modes.
Users connect with any standard SSH client; no account or registration is
needed.
.PP
In the 1.x series,
.B tnt
is the stable server process name.
Use
.BR tntctl (1)
for local control commands against a running server.
.PP
Messages are persisted to a log file and restored on server restart.
The server supports CJK and emoji input, rate limiting, access tokens, and
a non\-interactive exec interface for scripting.