Humanize README and docs tone #3

Merged
ilia merged 1 commits from docs/humanize-prose into main 2026-08-05 14:18:14 -05:00
2 changed files with 21 additions and 29 deletions
Showing only changes of commit 4d0e7df450 - Show all commits
+5
View File
@@ -1,5 +1,10 @@
# Contributing # Contributing
## Public mirror & issues
- **GitHub:** [github.com/Gitilia/SwipeAnything](https://github.com/Gitilia/SwipeAnything) — issues and small PRs welcome.
- Day-to-day CI runs on a private forge; the public repo is a push mirror. Prefer an issue before large adapter PRs.
Adapters are the whole point of this project — the swipe UI, keyboard Adapters are the whole point of this project — the swipe UI, keyboard
shortcuts, drag gestures, undo stack, and settings form are all generic and shortcuts, drag gestures, undo stack, and settings form are all generic and
work for any adapter that implements the contract below. work for any adapter that implements the contract below.
+16 -29
View File
@@ -1,9 +1,8 @@
# SwipeAnything # SwipeAnything
Unleash the swipe on anything. Point it at a folder or a photo library, and Triage any collection one card at a time: right = keep, left = reject. Point it
(via adapters) at your inbox, a database table, or whatever else you need to at a folder, a photo library, or (via adapters) an inbox, a database table, or
triage — one card at a time, right = keep, left = reject, like a dating app another queue source.
for your backlog.
## Why ## Why
@@ -27,31 +26,19 @@ see [CONTRIBUTING.md](CONTRIBUTING.md).
## Features ## Features
- Swipe (touch/mouse drag) or use the keyboard - Swipe (touch/mouse drag) or keyboard shortcuts
- **Organize, not just triage:** map keys `0``9` to destination folders in - Organize with keys `0``9`: map destination folders in Settings, then press a number or tap the chip to move the current file (undo brings it back)
Settings, then press a number (or tap the chip) to move the current file - Inspect before deciding: press `i` for path, size, dates, and (on macOS) image dimensions and camera metadata; Reveal in Finder and Copy path
there. Undo brings it back. - Non-destructive reject: moves files to `.swipeanything-trash/` (or Immich library trash); permanent delete only via confirm-guarded Empty trash
- **Inspect before deciding:** press `i` for path, size, dates, and (on - Undo any number of steps back
macOS) image dimensions / camera metadata; Reveal in Finder + Copy path. - Session resume after tab close, reload, or server restart (while underlying items are unchanged)
- Non-destructive by default: "reject" moves files to a `.swipeanything-trash/` - Thumbnails on macOS via Quick Look (HEIC/HEIF, video poster frames); falls back to original file elsewhere
folder (or, for Immich, the library's own trash) — never a hard delete. - Native Browse folder picker on macOS; type a path on other platforms
A separate, confirm-guarded "Empty trash" action is the only place that - Live progress and per-action counts
permanently deletes anything. - Generic settings UI: each adapter declares config fields and gets a form without custom frontend code
- Undo, any number of steps back - Accessibility: live region announcements, labeled buttons, focus-trapped shortcuts dialog, visible focus rings, `role="progressbar"`
- Session resume: closing the tab, reloading, or restarting the server picks - Zero build step: Node.js, Express, vanilla HTML/CSS/JS
up right where you left off (as long as the underlying items haven't changed) - `npm test` covers folder adapter, Immich adapter (mocked API), and HTTP API end-to-end
- Real thumbnails on macOS (via Quick Look), including HEIC/HEIF and video
poster frames, with automatic fallback to the original file everywhere else
- Native "Browse…" folder picker on macOS; type a path anywhere else
- Live progress + per-action counts
- Generic settings UI: every adapter declares its own config fields and gets
a form for free — no adapter-specific frontend code required
- Accessible by default: live region announcements per card, labeled action
buttons, a focus-trapped shortcuts dialog, visible focus rings, and a real
`role="progressbar"`
- Zero build step: Node.js + Express + vanilla HTML/CSS/JS
- `npm test` runs a real test suite (folder adapter, Immich adapter with a
mocked API, and the HTTP API end-to-end) — no separate test server to stand up
- CI on every push/PR (Gitea Actions): `npm test` + gitleaks - CI on every push/PR (Gitea Actions): `npm test` + gitleaks
## Quickstart ## Quickstart