Skip to content

Add design doc for dirview, a lightweight local directory viewer server - #2

Open
talkasab wants to merge 5 commits into
mainfrom
claude/lightweight-web-server-design-3td0fl
Open

Add design doc for dirview, a lightweight local directory viewer server#2
talkasab wants to merge 5 commits into
mainfrom
claude/lightweight-web-server-design-3td0fl

Conversation

@talkasab

Copy link
Copy Markdown
Contributor

Research and design (no implementation) for a single-file web server that
serves a two-pane directory browser with GitHub-flavored markdown, Shiki
code highlighting, git status/diff integration, live file watching, and
Catppuccin Latte/Mocha theming.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01DJieA2dNDXVv7P3Q6HpCNB

claude added 4 commits July 20, 2026 12:23
Research and design (no implementation) for a single-file web server that
serves a two-pane directory browser with GitHub-flavored markdown, Shiki
code highlighting, git status/diff integration, live file watching, and
Catppuccin Latte/Mocha theming.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DJieA2dNDXVv7P3Q6HpCNB
…repo

- Switch server from Python/Starlette to Node (Hono + chokidar), since all
  rendering deps are npm-native and npx is the natural distribution channel
- Replace whole-page diff view with in-place per-hunk expansion panels
- Restructure as a standalone repository layout

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DJieA2dNDXVv7P3Q6HpCNB
Bun.serve replaces Hono, bun build replaces esbuild, and bun build
--compile adds standalone per-platform binaries; chokidar remains the
sole server dependency due to Bun native watcher reliability gaps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DJieA2dNDXVv7P3Q6HpCNB
Copilot AI review requested due to automatic review settings July 20, 2026 12:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a design-only document describing “peruse”, a lightweight local directory viewer web server concept (two-pane tree + rendered file view) intended to live in a separate repository later.

Changes:

  • Introduces a requirements list and surveys existing tools that partially cover the desired UX.
  • Proposes a Bun-based architecture with client-side rendering (markdown-it + Shiki + diff2html) and server-side git/file/SSE APIs.
  • Documents endpoint shapes, hunk metadata format, and interaction model for inline per-hunk diffs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/peruse-design.md Outdated
Comment on lines +1 to +5
# peruse — Design for a Lightweight Local Directory Viewer

**Status:** Design only — not yet implemented. Will live in its own repository;
this copy is parked here while the design is being discussed.

Comment thread docs/peruse-design.md Outdated
Comment on lines +226 to +228
- **Code files:** a 3px vertical bar in the gutter beside each hunk's
`newStart..newStart+newLines` — Catppuccin green for added, yellow for
modified — plus a small red triangle marker where lines were deleted.
Comment thread docs/peruse-design.md Outdated
Comment on lines +65 to +67
An earlier draft proposed a Python/Starlette single-file server (anchored on
the host repo's uv tooling — see §7), then Node. Bun is the better fit for
the "as little code as possible" constraint:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants