Files
devdesk/docs/devdesk.1
T

61 lines
1.7 KiB
Groff
Raw Normal View History

.TH DEVDESK 1 "October 2026" "devdesk" "User Commands"
.SH NAME
devdesk \- persistent Claude Code sessions in tmux, shared by the browser and SSH
.SH SYNOPSIS
.B devdesk attach
.RI [ NAME ]
.br
.B devdesk new
.I NAME
.br
.B devdesk ls
.br
.B devdesk pick
.br
.B devdesk end
.I NAME
.SH DESCRIPTION
.B devdesk
manages the named sessions served at https://dev.lotusguild.org. Each session is
a tmux session on the DevDesk server (\fI/run/devdesk/tmux.sock\fR, run by
\fBdevdesk-tmux.service\fR) with a \fIclaude\fR window and a \fIshell\fR window,
rooted in a project directory under \fBDEVDESK_PROJECTS_ROOT\fR.
.PP
Claude's conversation ID is recorded per session, so after a reboot the session
resumes its own conversation.
.SH COMMANDS
.TP
.B attach \fR[\fINAME\fR]
Attach to session \fINAME\fR, creating it if needed. The default session
(\fBmain\fR) uses the projects root; other names map to the project directory of
that name or slug (\(lqtest code\(rq becomes \fBtest-code\fR). Without \fINAME\fR,
opens the picker.
.TP
.B attach --list
Print sessions and projects as JSON (used by the web UI).
.TP
.B new \fINAME\fR
Create session \fINAME\fR detached, if it does not exist.
.TP
.B ls
List running (\(bu) and dormant (\(ci) sessions.
.TP
.B pick
Interactive picker (fzf).
.TP
.B end \fINAME\fR
Stop the session and forget its recorded conversation.
.SH FILES
.TP
.I /etc/devdesk/env
Port, projects root, Claude binary and arguments, Remote Control switch.
.TP
.I /etc/devdesk/secret.env
ttyd credential; the reverse proxy must send it as HTTP basic auth.
.TP
.I /var/lib/devdesk/registry.json
Session to directory and Claude session ID mapping.
.SH SEE ALSO
.BR tmux (1),
.BR claude (1)