Add canonical server start command #33

Merged
pti merged 1 commit from review/cli-server-start into main 2026-07-24 15:05:26 +02:00
Owner

Exposes server startup as the canonical wraptool server start lifecycle command, retains root-level wraptool serve as a hidden compatibility alias for persisted MCP configs and service units, and updates user-facing documentation. Decision: adopt grouped server start, status, and stop commands without breaking generated configuration. Verified with go test ./..., go vet ./..., golangci-lint run ./..., and CLI help checks.

Exposes server startup as the canonical wraptool server start lifecycle command, retains root-level wraptool serve as a hidden compatibility alias for persisted MCP configs and service units, and updates user-facing documentation. Decision: adopt grouped server start, status, and stop commands without breaking generated configuration. Verified with go test ./..., go vet ./..., golangci-lint run ./..., and CLI help checks.
cmd: add server start, keep serve as a hidden alias
All checks were successful
Lint / lint (pull_request) Successful in 4m5s
4e3c672269
`serve` was a root-level verb for what is really an operation on the
`server` noun, so the group read as incomplete: `server` had stop and
status but no start, and start lived elsewhere.

newServeCmd is now parameterised on name/visibility and registered
twice — as `server start` (canonical) and as a hidden root-level
`serve`. Same command object, so flags and behavior can't drift.

The alias is permanent, not a deprecation window: internal/harness
writes `args: ["serve", ...]` into every generated .mcp.json and the
documented systemd unit invokes it, and those files outlive an
upgrade. Generated configs keep emitting `serve` for the same reason —
a config written today should survive a rollback to an older binary.

Docs move to `server start`; prose sites that read badly under a
mechanical substitution ("a restart of `wraptool serve`") were
reworded to "the server" instead. design/ left as a record.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QPkao1ADjUP2i7uRsHJB7P
pti merged commit 2e64e7323d into main 2026-07-24 15:05:26 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pti/wraptool!33
No description provided.