detached cd7e757

docs(readme): update project structure to reflect refactored architecture

commit
cd7e757eed69ad8e21e8f959ad04ed6556de8e5a
author
bamen · · 2025-09-12 13:04 UTC
parent
e4b7498
signature
unsigned
1 file · +6 -2
M README.md +6 -2
@@ -277,12 +277,16 @@ WebKitGTK uses GStreamer for media playback. Dumber includes automatic hardware
277277 - The app updates color‑scheme live when your GTK theme changes (no relaunch needed).
278278
279279 ## Project Structure
280-- `main.go`: CLI/GUI entrypoint, `dumb://` scheme, service wiring
280+- `main.go`: Entry point with CLI/GUI routing
281+- `internal/app/cli`: CLI application logic and Cobra commands
282+- `internal/app/browser`: Browser application logic and WebKit integration
281283 - `internal/cli`: Cobra commands (`browse`, `dmenu`, `version`)
282284 - `internal/config`: Viper‑backed config, XDG helpers, defaults
283285 - `internal/db`: SQLite schema init and sqlc‑generated queries
284-- `services`: app services (parser/history/config/browser)
286+- `internal/logging`: Structured logging system with file rotation
287+- `services`: Application services (parser/history/config/browser)
285288 - `pkg/webkit`: WebKit2GTK bindings (CGO and stub implementations)
289+- `pkg/clipboard`: Cross-platform clipboard operations
286290 - `frontend`: TypeScript homepage UI bundled into the binary
287291
288292 ## Security & Privacy
@@ -277,12 +277,16 @@ WebKitGTK uses GStreamer for media playback. Dumber includes automatic hardware
277 - The app updates color‑scheme live when your GTK theme changes (no relaunch needed).277 - The app updates color‑scheme live when your GTK theme changes (no relaunch needed).
278 278
279 ## Project Structure279 ## Project Structure
280-- `main.go`: CLI/GUI entrypoint, `dumb://` scheme, service wiring280+- `main.go`: Entry point with CLI/GUI routing
281+- `internal/app/cli`: CLI application logic and Cobra commands
282+- `internal/app/browser`: Browser application logic and WebKit integration
281 - `internal/cli`: Cobra commands (`browse`, `dmenu`, `version`)283 - `internal/cli`: Cobra commands (`browse`, `dmenu`, `version`)
282 - `internal/config`: Viper‑backed config, XDG helpers, defaults284 - `internal/config`: Viper‑backed config, XDG helpers, defaults
283 - `internal/db`: SQLite schema init and sqlc‑generated queries285 - `internal/db`: SQLite schema init and sqlc‑generated queries
284-- `services`: app services (parser/history/config/browser)286+- `internal/logging`: Structured logging system with file rotation
287+- `services`: Application services (parser/history/config/browser)
285 - `pkg/webkit`: WebKit2GTK bindings (CGO and stub implementations)288 - `pkg/webkit`: WebKit2GTK bindings (CGO and stub implementations)
289+- `pkg/clipboard`: Cross-platform clipboard operations
286 - `frontend`: TypeScript homepage UI bundled into the binary290 - `frontend`: TypeScript homepage UI bundled into the binary
287 291
288 ## Security & Privacy292 ## Security & Privacy

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close