@sealant/mend 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +133 -6
  2. package/dist/chunk-YPM6TYQR.js +27888 -0
  3. package/dist/dashboard-LR5LHV7O.js +2951 -0
  4. package/dist/main.js +6917 -2580
  5. package/man/mend-accounts.1 +1 -1
  6. package/man/mend-adopt.1 +4 -4
  7. package/man/mend-attach.1 +1 -1
  8. package/man/mend-codex.1 +1 -1
  9. package/man/mend-completions.1 +1 -1
  10. package/man/mend-connect.1 +1 -1
  11. package/man/mend-continue.1 +1 -1
  12. package/man/mend-doctor.1 +1 -1
  13. package/man/mend-dotfiles-sync.1 +1 -1
  14. package/man/mend-dotfiles.1 +1 -1
  15. package/man/mend-env-cluster.1 +1 -1
  16. package/man/mend-env-load.1 +1 -1
  17. package/man/mend-env-show.1 +1 -1
  18. package/man/mend-help.1 +1 -1
  19. package/man/mend-keys-init.1 +1 -1
  20. package/man/mend-keys-mode.1 +1 -1
  21. package/man/mend-keys-share.1 +1 -1
  22. package/man/mend-keys-show.1 +1 -1
  23. package/man/mend-login.1 +1 -1
  24. package/man/mend-logout.1 +1 -1
  25. package/man/mend-man.1 +1 -1
  26. package/man/mend-pair.1 +1 -1
  27. package/man/mend-projects.1 +1 -1
  28. package/man/mend-refresh.1 +1 -1
  29. package/man/mend-rejoin.1 +1 -1
  30. package/man/mend-resume.1 +1 -1
  31. package/man/mend-run.1 +1 -1
  32. package/man/mend-server-logs.1 +15 -0
  33. package/man/mend-server-restart.1 +15 -0
  34. package/man/mend-server-setup.1 +64 -0
  35. package/man/mend-server-start.1 +15 -0
  36. package/man/mend-server-status.1 +11 -0
  37. package/man/mend-server-stop.1 +11 -0
  38. package/man/mend-server-upgrade.1 +30 -0
  39. package/man/mend-server.1 +11 -0
  40. package/man/mend-service-add.1 +1 -1
  41. package/man/mend-service-connect.1 +1 -1
  42. package/man/mend-service-init.1 +1 -1
  43. package/man/mend-service-list.1 +1 -1
  44. package/man/mend-service-logs.1 +1 -1
  45. package/man/mend-service-restart.1 +1 -1
  46. package/man/mend-service-run.1 +1 -1
  47. package/man/mend-service-stop.1 +1 -1
  48. package/man/mend-sessions.1 +1 -1
  49. package/man/mend-shell.1 +1 -1
  50. package/man/mend-skills-push.1 +1 -1
  51. package/man/mend-skills.1 +1 -1
  52. package/man/mend-ssh-setup.1 +6 -3
  53. package/man/mend-ssh.1 +1 -1
  54. package/man/mend-stop.1 +1 -1
  55. package/man/mend-ui.1 +1 -1
  56. package/man/mend-version.1 +1 -1
  57. package/man/mend-worktrees.1 +1 -1
  58. package/man/mend.1 +26 -2
  59. package/package.json +6 -2
  60. package/dist/agent-share.js +0 -150
  61. package/dist/clipboard.js +0 -73
  62. package/dist/dashboard-model.js +0 -308
  63. package/dist/dashboard.js +0 -1200
  64. package/dist/doctor.js +0 -233
  65. package/dist/dotfiles.js +0 -90
  66. package/dist/env.js +0 -17
  67. package/dist/help.js +0 -839
  68. package/dist/login.js +0 -240
  69. package/dist/pair.js +0 -83
  70. package/dist/review-model.js +0 -212
  71. package/dist/review-workflow.js +0 -8
  72. package/dist/review.js +0 -690
  73. package/dist/service-init.js +0 -227
  74. package/dist/shared.js +0 -338
  75. package/dist/skills.js +0 -134
  76. package/dist/ssh-setup.js +0 -181
  77. package/dist/terminal.js +0 -8
  78. package/dist/tui-theme.js +0 -41
  79. package/dist/version.js +0 -48
  80. package/dist/workbench-events.js +0 -72
@@ -1,4 +1,4 @@
1
- .TH MEND-ACCOUNTS 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-ACCOUNTS 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-accounts \- your connected accounts on the platform
4
4
  .SH SYNOPSIS
package/man/mend-adopt.1 CHANGED
@@ -1,12 +1,12 @@
1
- .TH MEND-ADOPT 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-ADOPT 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-adopt \- adopt a repository into the store
4
4
  .SH SYNOPSIS
5
- .B mend adopt [source] [\-\-name <name>] [\-\-auth ambient|mend\-key|bridge]
5
+ .B mend adopt [git\-url] [\-\-name <name>] [\-\-auth ambient|mend\-key|bridge]
6
6
  .br
7
7
  .SH DESCRIPTION
8
8
  .PP
9
- Clones the repository into Mend's store. Every session then gets its own worktree of it. The default source is the current directory; any git URL works, GitHub, GitLab, self\-hosted, ssh://, or a local path.
9
+ Clones a network Git repository into Mend's store. Every session then gets its own worktree of it. With no argument, Mend uses the current checkout's origin URL. HTTP(S), SSH, git://, and SCP\-style URLs work; local paths and file:// URLs do not.
10
10
  .PP
11
11
  \-\-auth says how the store fetches from the remote. Default: your mode from mend keys mode. mend\-key signs with your Mend key on the server (see mend keys). bridge relays this machine's ssh\-agent while a mend command runs here, so hardware keys stay on your desk. ambient uses the server's own credentials.
12
12
  .SH OPTIONS
@@ -20,7 +20,7 @@ mend\-key, bridge, or ambient. Default: mend keys mode
20
20
  .PP
21
21
  .B mend adopt
22
22
  .br
23
- the repository you are standing in
23
+ the current repository's origin URL
24
24
  .PP
25
25
  .B mend adopt git@github.com:acme/api.git \-\-auth mend\-key
26
26
  .SH SEE ALSO
package/man/mend-attach.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-ATTACH 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-ATTACH 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-attach \- reattach this terminal to a running session
4
4
  .SH SYNOPSIS
package/man/mend-codex.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-CODEX 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-CODEX 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-codex \- launch codex, claude, or opencode in a recorded worktree
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-COMPLETIONS 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-COMPLETIONS 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-completions \- print the TAB\-completion hook
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-CONNECT 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-CONNECT 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-connect \- send this machine's provider credential to the platform
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-CONTINUE 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-CONTINUE 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-continue \- resume a session with its pending review follow\-up
4
4
  .SH SYNOPSIS
package/man/mend-doctor.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-DOCTOR 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-DOCTOR 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-doctor \- check this machine's setup
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-DOTFILES-SYNC 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-DOTFILES-SYNC 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-dotfiles\-sync \- capture config files from this machine into your store
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-DOTFILES 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-DOTFILES 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-dotfiles \- your dotfiles on the server: repo and synced files
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-ENV-CLUSTER 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-ENV-CLUSTER 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-env\-cluster \- bind Kubernetes secrets and configmaps to the workspaces
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-ENV-LOAD 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-ENV-LOAD 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-env\-load \- load a .env into the project
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-ENV-SHOW 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-ENV-SHOW 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-env\-show \- what the project store holds: names only, never values
4
4
  .SH SYNOPSIS
package/man/mend-help.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-HELP 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-HELP 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-help \- this index, or one command's page
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-KEYS-INIT 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-KEYS-INIT 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-keys\-init \- create your Mend key (ed25519) on the server
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-KEYS-MODE 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-KEYS-MODE 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-keys\-mode \- how your remotes are reached: mend\-key or bridge
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-KEYS-SHARE 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-KEYS-SHARE 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-keys\-share \- relay this machine's ssh\-agent to the server
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-KEYS-SHOW 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-KEYS-SHOW 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-keys\-show \- print your Mend public key
4
4
  .SH SYNOPSIS
package/man/mend-login.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-LOGIN 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-LOGIN 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-login \- sign this terminal in through the browser
4
4
  .SH SYNOPSIS
package/man/mend-logout.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-LOGOUT 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-LOGOUT 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-logout \- revoke this terminal's device token and forget it
4
4
  .SH SYNOPSIS
package/man/mend-man.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-MAN 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-MAN 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-man \- one command's page, or the whole manual, in man
4
4
  .SH SYNOPSIS
package/man/mend-pair.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-PAIR 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-PAIR 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-pair \- pair a phone or a second machine
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-PROJECTS 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-PROJECTS 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-projects \- adopted projects and their live sessions
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-REFRESH 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-REFRESH 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-refresh \- fetch origin's branches into the store
4
4
  .SH SYNOPSIS
package/man/mend-rejoin.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-REJOIN 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-REJOIN 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-rejoin \- attach if live, otherwise resume
4
4
  .SH SYNOPSIS
package/man/mend-resume.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-RESUME 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-RESUME 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-resume \- rejoin a settled session with its state restored
4
4
  .SH SYNOPSIS
package/man/mend-run.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-RUN 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-RUN 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-run \- run any command as a session
4
4
  .SH SYNOPSIS
@@ -0,0 +1,15 @@
1
+ .TH MEND-SERVER-LOGS 1 "" "mend 0.23.0" "mend manual"
2
+ .SH NAME
3
+ mend\-server\-logs \- print a bounded tail of the installation's container logs
4
+ .SH SYNOPSIS
5
+ .B mend server logs [\-\-tail <n>]
6
+ .br
7
+ .SH DESCRIPTION
8
+ .PP
9
+ Reads logs without changing the configuration or data. No follow mode; output capture is also byte\-bounded. Treat container logs as private before sharing them.
10
+ .SH OPTIONS
11
+ .TP
12
+ .B \-\-tail <n>
13
+ lines per service, 1..1000. Default: 100
14
+ .SH SEE ALSO
15
+ mend(1), mend\-server\-status(1)
@@ -0,0 +1,15 @@
1
+ .TH MEND-SERVER-RESTART 1 "" "mend 0.23.0" "mend manual"
2
+ .SH NAME
3
+ mend\-server\-restart \- restart Mend using the same generation and pin
4
+ .SH SYNOPSIS
5
+ .B mend server restart [\-\-offline]
6
+ .br
7
+ .SH DESCRIPTION
8
+ .PP
9
+ Checks preloaded images before stopping Mend, then starts the saved generation and verifies exact\-version health and a loopback registry roundtrip. Postgres stays running. Connections are interrupted; workspace containers and data remain, but active work may need reconnection.
10
+ .SH OPTIONS
11
+ .TP
12
+ .B \-\-offline
13
+ use local release images and assets; still probe the loopback registry
14
+ .SH SEE ALSO
15
+ mend(1), mend\-server\-status(1), mend\-server\-logs(1)
@@ -0,0 +1,64 @@
1
+ .TH MEND-SERVER-SETUP 1 "" "mend 0.23.0" "mend manual"
2
+ .SH NAME
3
+ mend\-server\-setup \- install or repair the local Mend server
4
+ .SH SYNOPSIS
5
+ .B mend server setup [\-\-context <name>] [\-\-version <version|latest>] [\-\-bind <ip>] [\-\-url <origin>] [\-\-origin <origin>...] [\-\-port <n>] [\-\-ssh\-port <n>] [\-\-registry\-port <n>] [\-\-docker\-socket <path>] [\-\-assets\-dir <dir>] [\-\-offline]
6
+ .br
7
+ .SH DESCRIPTION
8
+ .PP
9
+ Checks a local Unix\-socket Docker context and the Compose plugin, downloads the compose and Postgres initialization assets for one Mend release, preserves existing data and secrets, and starts the server. Re\-running repairs the same pinned version. A changed \-\-version is refused; use mend server upgrade. Updating this CLI never updates an existing server pin.
10
+ .PP
11
+ The default listens only on localhost at http://localhost:3105. Non\-local access requires both \-\-bind and \-\-url. Every extra browser origin must be named with \-\-origin; setup never guesses from the request Host header or network interfaces.
12
+ .PP
13
+ Docker Desktop on Linux and macOS, and OrbStack on macOS, expose client\-side proxy sockets. Containers use the daemon\-side /var/run/docker.sock. \-\-docker\-socket overrides detection and is retained on reruns.
14
+ .PP
15
+ Setup holds an exclusive process lock through startup and health checks. A busy lock reports its owner and manual recovery steps. Never remove a live lock. Private configuration uses immutable generations and an atomic active pointer; failed attempts retain credentials and never delete Docker volumes.
16
+ .SH OPTIONS
17
+ .TP
18
+ .B \-\-context <name>
19
+ local Docker context to persist; the global context is unchanged
20
+ .TP
21
+ .B \-\-version <v>
22
+ exact Mend server version, or latest; omitted keeps the current pin
23
+ .TP
24
+ .B \-\-bind <ip>
25
+ published listen address. Default: 127.0.0.1
26
+ .TP
27
+ .B \-\-url <origin>
28
+ advertised browser URL, required with a non\-loopback bind
29
+ .TP
30
+ .B \-\-origin <origin>
31
+ additional exact browser origin; repeat for more than one
32
+ .TP
33
+ .B \-\-port <n>
34
+ external web port. Default: 3105
35
+ .TP
36
+ .B \-\-ssh\-port <n>
37
+ external workspace SSH port. Default: 2222
38
+ .TP
39
+ .B \-\-registry\-port <n>
40
+ loopback registry port. Default: 5000; all three ports must differ
41
+ .TP
42
+ .B \-\-assets\-dir <dir>
43
+ copy compose.v1.yaml and postgres\-init.sh from a release directory; fresh setup requires \-\-version
44
+ .TP
45
+ .B \-\-offline
46
+ use retained or supplied assets and preloaded images only; no GitHub requests or release\-image pulls; exact image label, health version and a loopback registry roundtrip required
47
+ .TP
48
+ .B \-\-docker\-socket <path>
49
+ daemon\-side socket mount override for diagnostics
50
+ .SH EXAMPLES
51
+ .PP
52
+ .B mend server setup
53
+ .br
54
+ localhost, using the current local Docker context
55
+ .PP
56
+ .B mend server setup \-\-context orbstack \-\-bind 0.0.0.0 \-\-url http://100.70.80.90:3105
57
+ .br
58
+ explicit tailnet exposure
59
+ .PP
60
+ .B mend server setup \-\-version 0.23.0 \-\-assets\-dir ./release\-assets \-\-offline \-\-registry\-port 5501
61
+ .br
62
+ install from local release assets and preloaded images
63
+ .SH SEE ALSO
64
+ mend(1), mend\-server(1), mend\-login(1), mend\-doctor(1)
@@ -0,0 +1,15 @@
1
+ .TH MEND-SERVER-START 1 "" "mend 0.23.0" "mend manual"
2
+ .SH NAME
3
+ mend\-server\-start \- start the selected server generation
4
+ .SH SYNOPSIS
5
+ .B mend server start [\-\-offline]
6
+ .br
7
+ .SH DESCRIPTION
8
+ .PP
9
+ Reuses the saved context, generation, credentials and exact pin. Uses preloaded release images, with no release\-image pulls or asset downloads, even without \-\-offline. Exact image label, health version and a loopback registry roundtrip are required.
10
+ .SH OPTIONS
11
+ .TP
12
+ .B \-\-offline
13
+ use local release images and assets; still probe the loopback registry
14
+ .SH SEE ALSO
15
+ mend(1), mend\-server\-status(1), mend\-server\-upgrade(1)
@@ -0,0 +1,11 @@
1
+ .TH MEND-SERVER-STATUS 1 "" "mend 0.23.0" "mend manual"
2
+ .SH NAME
3
+ mend\-server\-status \- show the saved pin, generation and container state
4
+ .SH SYNOPSIS
5
+ .B mend server status
6
+ .br
7
+ .SH DESCRIPTION
8
+ .PP
9
+ Reads the existing installation without changing its files. A running Mend must answer health with the exact pinned version. A stopped server makes no health claim. Never installs a server implicitly.
10
+ .SH SEE ALSO
11
+ mend(1), mend\-server\-logs(1), mend\-server\-start(1)
@@ -0,0 +1,11 @@
1
+ .TH MEND-SERVER-STOP 1 "" "mend 0.23.0" "mend manual"
2
+ .SH NAME
3
+ mend\-server\-stop \- stop Mend and Postgres without deleting data
4
+ .SH SYNOPSIS
5
+ .B mend server stop
6
+ .br
7
+ .SH DESCRIPTION
8
+ .PP
9
+ Stops only the installation's Compose services. Connections are interrupted. Workspace containers and volumes remain, but active work may lose connectivity and need reconnection. No volume deletion or Docker prune is performed.
10
+ .SH SEE ALSO
11
+ mend(1), mend\-server\-start(1), mend\-server\-status(1)
@@ -0,0 +1,30 @@
1
+ .TH MEND-SERVER-UPGRADE 1 "" "mend 0.23.0" "mend manual"
2
+ .SH NAME
3
+ mend\-server\-upgrade \- upgrade to an explicit version with a database backup
4
+ .SH SYNOPSIS
5
+ .B mend server upgrade \-\-version <target|latest> [\-\-assets\-dir <dir>] [\-\-offline]
6
+ .br
7
+ .SH DESCRIPTION
8
+ .PP
9
+ Preflights release assets and the canonical image's version label before interrupting Mend. Downgrades are refused. latest is resolved only when explicitly requested; a same\-version request does nothing.
10
+ .PP
11
+ Stops app writers, starts official Postgres if needed, and streams pg_dumpall into a private database backup before selecting and starting the target. Connections are interrupted. Workspace containers and data are retained, but active work can lose connectivity and need reconnection. Stop any external database writers before upgrading.
12
+ .PP
13
+ Preflight or backup failure retains the old pin and attempts to recover the old app if it was running. Once target startup may have begun, Mend never automatically downgrades or restores the database. The target pin, old generation and backup remain. Inspect logs, fix the target, then use mend server start. Recovery records are under the installation's backups/upgrade\-UUID directory.
14
+ .SH OPTIONS
15
+ .TP
16
+ .B \-\-version <target|latest>
17
+ required exact target version, or explicit latest
18
+ .TP
19
+ .B \-\-assets\-dir <dir>
20
+ copy target compose.v1.yaml and postgres\-init.sh from local release assets
21
+ .TP
22
+ .B \-\-offline
23
+ no GitHub requests or release\-image pulls; target assets and exact\-version images must be local; still probe the loopback registry
24
+ .SH EXAMPLES
25
+ .PP
26
+ .B mend server upgrade \-\-version 0.24.0 \-\-assets\-dir ./release\-0.24.0 \-\-offline
27
+ .br
28
+ controlled offline upgrade
29
+ .SH SEE ALSO
30
+ mend(1), mend\-server\-logs(1), mend\-server\-status(1), mend\-server\-start(1)
@@ -0,0 +1,11 @@
1
+ .TH MEND-SERVER 1 "" "mend 0.23.0" "mend manual"
2
+ .SH NAME
3
+ mend\-server \- install and manage this machine's Mend server
4
+ .SH SYNOPSIS
5
+ .B mend server <command>
6
+ .br
7
+ .SH DESCRIPTION
8
+ .PP
9
+ Server commands manage the local Docker Compose installation. They do not sign this CLI in or change Docker's global context.
10
+ .SH SEE ALSO
11
+ mend(1), mend\-server\-setup(1), mend\-server\-status(1), mend\-server\-start(1), mend\-server\-stop(1), mend\-server\-restart(1), mend\-server\-logs(1), mend\-server\-upgrade(1)
@@ -1,4 +1,4 @@
1
- .TH MEND-SERVICE-ADD 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SERVICE-ADD 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-service\-add \- adopt a port something in the workspace already listens on
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-SERVICE-CONNECT 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SERVICE-CONNECT 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-service\-connect \- bring live Services to this machine's loopback
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-SERVICE-INIT 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SERVICE-INIT 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-service\-init \- scaffold mend.toml from package.json and compose ports
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-SERVICE-LIST 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SERVICE-LIST 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-service\-list \- every live service and its observed state
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-SERVICE-LOGS 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SERVICE-LOGS 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-service\-logs \- follow a supervised service's output
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-SERVICE-RESTART 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SERVICE-RESTART 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-service\-restart \- re\-run a service's recorded command, same URL
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-SERVICE-RUN 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SERVICE-RUN 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-service\-run \- start and supervise a server in the session's workspace
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-SERVICE-STOP 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SERVICE-STOP 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-service\-stop \- stop a service and close its host port
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-SESSIONS 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SESSIONS 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-sessions \- sessions with their review facts
4
4
  .SH SYNOPSIS
package/man/mend-shell.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-SHELL 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SHELL 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-shell \- open a shell in a live session's workspace
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-SKILLS-PUSH 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SKILLS-PUSH 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-skills\-push \- upload ~/.agents/skills into the library
4
4
  .SH SYNOPSIS
package/man/mend-skills.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-SKILLS 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SKILLS 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-skills \- your skill library on the server, or a project's
4
4
  .SH SYNOPSIS
@@ -1,15 +1,18 @@
1
- .TH MEND-SSH-SETUP 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SSH-SETUP 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-ssh\-setup \- make this machine ready to ssh into workspaces, once
4
4
  .SH SYNOPSIS
5
- .B mend ssh setup [\-\-key <path>]
5
+ .B mend ssh setup [\-\-key <path>] [\-\-host <hostname>]
6
6
  .br
7
7
  .SH DESCRIPTION
8
8
  .PP
9
- Registers a public key with the gateway (a key already in your ssh\-agent is preferred; nothing new is created unless there is none) and writes a Host mend\-ws block to ~/.ssh/config.
9
+ Registers this client's public key and writes a server\-specific managed Host block to ~/.ssh/config. The hostname defaults to the configured Mend URL; the gateway supplies the SSH port.
10
10
  .SH OPTIONS
11
11
  .TP
12
12
  .B \-\-key <path>
13
13
  the public key to register
14
+ .TP
15
+ .B \-\-host <hostname>
16
+ override only the SSH hostname
14
17
  .SH SEE ALSO
15
18
  mend(1), mend\-ssh(1), mend\-shell(1)
package/man/mend-ssh.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-SSH 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-SSH 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-ssh \- workspace SSH status: gateway, registered keys, ssh config
4
4
  .SH SYNOPSIS
package/man/mend-stop.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-STOP 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-STOP 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-stop \- stop the agent; the record and the review remain
4
4
  .SH SYNOPSIS
package/man/mend-ui.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND-UI 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-UI 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-ui \- the dashboard: every project and session, live
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-VERSION 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-VERSION 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-version \- this CLI's version, and the server's when it answers
4
4
  .SH SYNOPSIS
@@ -1,4 +1,4 @@
1
- .TH MEND-WORKTREES 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND-WORKTREES 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend\-worktrees \- every worktree and the sessions inside it
4
4
  .SH SYNOPSIS
package/man/mend.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH MEND 1 "" "mend 0.22.0" "mend manual"
1
+ .TH MEND 1 "" "mend 0.23.0" "mend manual"
2
2
  .SH NAME
3
3
  mend \- the agent workbench
4
4
  .SH SYNOPSIS
@@ -124,6 +124,30 @@ how your remotes are reached: mend\-key or bridge
124
124
  relay this machine's ssh\-agent to the server
125
125
  .SH THIS MACHINE
126
126
  .TP
127
+ .B mend server
128
+ install and manage this machine's Mend server
129
+ .TP
130
+ .B mend server setup
131
+ install or repair the local Mend server
132
+ .TP
133
+ .B mend server status
134
+ show the saved pin, generation and container state
135
+ .TP
136
+ .B mend server start
137
+ start the selected server generation
138
+ .TP
139
+ .B mend server stop
140
+ stop Mend and Postgres without deleting data
141
+ .TP
142
+ .B mend server restart
143
+ restart Mend using the same generation and pin
144
+ .TP
145
+ .B mend server logs
146
+ print a bounded tail of the installation's container logs
147
+ .TP
148
+ .B mend server upgrade
149
+ upgrade to an explicit version with a database backup
150
+ .TP
127
151
  .B mend ssh
128
152
  workspace SSH status: gateway, registered keys, ssh config
129
153
  .TP
@@ -165,4 +189,4 @@ url, token, and device id from mend login
165
189
  .B ~/.config/mend/keys/
166
190
  the deploy key from mend keys init
167
191
  .SH SEE ALSO
168
- mend\-login(1), mend\-connect(1), mend\-adopt(1), mend\-codex(1), mend\-pair(1), mend\-doctor(1), mend\-ui(1), mend\-attach(1), mend\-stop(1), mend\-shell(1), mend\-run(1), mend\-continue(1), mend\-resume(1), mend\-rejoin(1), mend\-sessions(1), mend\-worktrees(1), mend\-projects(1), mend\-refresh(1), mend\-service\-run(1), mend\-service\-add(1), mend\-service\-connect(1), mend\-service\-list(1), mend\-service\-logs(1), mend\-service\-restart(1), mend\-service\-stop(1), mend\-service\-init(1), mend\-env\-show(1), mend\-env\-load(1), mend\-env\-cluster(1), mend\-skills(1), mend\-skills\-push(1), mend\-dotfiles(1), mend\-dotfiles\-sync(1), mend\-keys\-init(1), mend\-keys\-show(1), mend\-keys\-mode(1), mend\-keys\-share(1), mend\-ssh(1), mend\-ssh\-setup(1), mend\-accounts(1), mend\-logout(1), mend\-completions(1), mend\-version(1), mend\-help(1), mend\-man(1)
192
+ mend\-login(1), mend\-connect(1), mend\-adopt(1), mend\-codex(1), mend\-pair(1), mend\-doctor(1), mend\-ui(1), mend\-attach(1), mend\-stop(1), mend\-shell(1), mend\-run(1), mend\-continue(1), mend\-resume(1), mend\-rejoin(1), mend\-sessions(1), mend\-worktrees(1), mend\-projects(1), mend\-refresh(1), mend\-service\-run(1), mend\-service\-add(1), mend\-service\-connect(1), mend\-service\-list(1), mend\-service\-logs(1), mend\-service\-restart(1), mend\-service\-stop(1), mend\-service\-init(1), mend\-env\-show(1), mend\-env\-load(1), mend\-env\-cluster(1), mend\-skills(1), mend\-skills\-push(1), mend\-dotfiles(1), mend\-dotfiles\-sync(1), mend\-keys\-init(1), mend\-keys\-show(1), mend\-keys\-mode(1), mend\-keys\-share(1), mend\-server(1), mend\-server\-setup(1), mend\-server\-status(1), mend\-server\-start(1), mend\-server\-stop(1), mend\-server\-restart(1), mend\-server\-logs(1), mend\-server\-upgrade(1), mend\-ssh(1), mend\-ssh\-setup(1), mend\-accounts(1), mend\-logout(1), mend\-completions(1), mend\-version(1), mend\-help(1), mend\-man(1)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sealant/mend",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "description": "The mend CLI: adopt a repository into Mend's store, launch your coding agent in a recorded session worktree, detach and reattach from any terminal",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -44,18 +44,22 @@
44
44
  "@types/node": "^22.10.2",
45
45
  "@types/qrcode": "^1.5.5",
46
46
  "@types/react": "^19.2.0",
47
+ "esbuild": "^0.28.1",
47
48
  "typescript": "^5.7.2",
48
49
  "vitest": "^3.0.5",
50
+ "@mend/domain": "0.0.0",
51
+ "@mend/workspace-ssh": "0.0.0",
49
52
  "@mend/typescript": "0.0.0"
50
53
  },
51
54
  "engines": {
52
55
  "node": ">=22"
53
56
  },
54
57
  "scripts": {
55
- "build": "tsc src/main.ts src/dashboard.tsx --outDir dist --module nodenext --target es2023 --types node --skipLibCheck --allowImportingTsExtensions --rewriteRelativeImportExtensions --jsx react-jsx --jsxImportSource @opentui/react && pnpm run man",
58
+ "build": "node scripts/build.mjs && pnpm run man",
56
59
  "lint": "oxlint . --no-error-on-unmatched-pattern",
57
60
  "man": "node --experimental-strip-types scripts/man.ts",
58
61
  "test": "vitest run --passWithNoTests",
62
+ "test:package": "node scripts/test-package.mjs",
59
63
  "typecheck": "tsgo -p tsconfig.json --noEmit"
60
64
  }
61
65
  }