feat: DevDesk v0.1.0, a persistent browser terminal for Claude Code
ttyd serves a single-file xterm.js UI styled with the LotusGuild TDS (web_template base.css). Sessions live in a dedicated tmux server unit (devdesk-tmux.service), so restarting or upgrading the web unit never stops Claude. Each named session maps to a project directory. A Claude SessionStart hook records the conversation ID, so after a reboot the session resumes that exact conversation. - bin/devdesk: attach / new / ls / end / pick, with an fzf picker - ttyd requires a credential that NPM injects; origin check enabled - debian/: dh 13 with --no-stop-on-upgrade for the tmux unit, bundled sha256-verified ttyd 1.7.7, lintian overrides, man page - CI: lint, test, build, smoke-test, artifact; v* tags publish to the Gitea apt registry and create a release Refs: tinker ticket 887531976 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
Source: https://code.lotusguild.org/LotusGuild/web_template
|
||||
Commit: fca7acb (origin/main, 2026-10-03), base.css identical to bbec859
|
||||
File: base.css only (base.js is deliberately not vendored, see below)
|
||||
Refresh: make sync-template TEMPLATE=/path/to/web_template
|
||||
|
||||
Known upstream issues reviewed 2026-10-06 (web_template#1): none affect the
|
||||
classes DevDesk uses (header, frame, section-header, btn, status, chip, badge,
|
||||
dot, ws-status, progress, kv-grid, footer-hints).
|
||||
|
||||
base.js is not shipped because its global keydown handler swallows Escape
|
||||
(Claude Code's interrupt key) and Ctrl+K, and every lt.toast plays a beep.
|
||||
Reference in New Issue
Block a user