- Explorer tree with inline expand/collapse and keyboard navigation, git
colours, change dots, dimmed gitignored entries (fs-list now flags them),
file-type badges, resizable explorer.
- Editor tabs: preview tab semantics, instant switching with scroll kept,
in-place reload when Claude changes an open file.
- Go to file: devdesk attach --fs-find (git ls-files or capped find) and a
fuzzy-ranked palette (CommandPalette gained custom search/async lists).
- Per-session memory of folders and tabs; empty state with recents.
Closes#37
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- devdesk attach --fs-list/--fs-read/--git-status/--git-show/--asset
(libexec/devdesk-files.sh), confined to the session folder.
- The state hook records files Claude edits (Edit/Write/MultiEdit/
NotebookEdit) for the Changes tab's "C" badge; rename/end carry it.
- Files pane: folders, CodeMirror read-only view, sanitized markdown preview
in a sandboxed iframe with inlined relative images, images, Changes tab with
line counts and diff against HEAD, "→ Claude" @path, resizable split.
- The editor bundle ships as /usr/share/devdesk/assets/editor.js, is fetched
over ttyd on first use, verified against the page's SHA-256 and cached in
IndexedDB.
- Fix: the state hook's field split collapsed empty fields.
Closes#19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>