Files
maCopy/ROADMAP.md
T
ilia e9461ed4f3
CI / skip-ci-check (pull_request) Successful in 4s
CI / secret-scan (pull_request) Successful in 3s
CI / node-ci (pull_request) Successful in 17s
Add copy-only, color swatches, DB speed pragmas, and living docs
- Copy only (right-click -> Copy): write to clipboard without
  auto-pasting or hiding the window
- Color swatches: hex/rgb/hsl entries show a preview chip
- SQLite WAL + synchronous=NORMAL so the UI can read while the
  clipboard poller writes
- Memoize list rows (React.memo) so selection/focus changes don't
  re-render every row's preview
- Add docs/GUIDE.md (living install + usage doc), docs/SHARING.md,
  docs/TESTING.md, docs/LAUNCH-AT-LOGIN.md, docs/PRODUCT.md,
  CHANGELOG.md, ROADMAP.md
- Add homelab Gitea Actions CI (.gitea/workflows/ci.yml) + gitleaks
  allowlist
- Bump version to 0.2.0
2026-07-14 21:58:31 -04:00

85 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# maCopy roadmap
Living list of shipping ideas. Checked items are done (or landed in the current branch).
## Done recently
- [x] Global hotkey `` Ctrl+` `` (avoids macOS Cmd+` window-cycle); configurable
- [x] Performance: pasteboard changeCount, list previews, no full-image list payloads
- [x] Image thumbnails in the picker (+ backfill)
- [x] Reliable left-click paste (mousedown + delayed blur hide)
- [x] Image paste via real clipboard image write
- [x] **Sensitive redaction** — save passwords / cards / banking / secrets fully, show `••••` in the list; paste still uses the real value
- [x] **Paste transforms** — right-click → Transform (trim, case, collapse, JSON pretty, single line)
- [x] **Paste plain** — ⌥/Alt+click or “Paste plain” (strip HTML-ish formatting / entities)
- [x] Launch at login wired to macOS Login Items
- [x] Visible `npm run test:visual` walkthrough
- [x] **Copy only** — right-click → Copy puts content on the clipboard without auto-paste/hide
- [x] **Color swatches** — hex/rgb/hsl entries show a preview chip (Ditto/Pastebot-style)
- [x] **SQLite speed pragmas** — WAL + synchronous=NORMAL so reads don't block on writer fsyncs
- [x] **Memoized list rows** — selection/focus changes no longer re-render every row's preview
## Next up (high value)
- [ ] **Exclude apps** — dont capture from 1Password / banking / Terminal patterns (macOS frontmost app filter)
- [ ] **Signed + notarized release** + install to `/Applications` (see [docs/SHARING.md](docs/SHARING.md))
- [ ] **Accessibility first-run guide**
- [ ] **CI** on `npm run check`
- [ ] **Default transform preference** in Settings
- [ ] **Snippets / favorites** — named, always-available text (separate from history)
- [ ] **Ignore patterns** — regex list that auto-drops or auto-redacts matches
- [ ] **Auto-delete window for sensitive** — purge redacted items after N minutes (optional)
- [ ] **Virtualized list** — if history UI grows past a few hundred rows
## Later / brainstorm
### Privacy & trust
- Encrypt DB at rest (macOS Keychain-wrapped key)
- Per-entry “never show again” / blacklist hash
- Paste confirmation for sensitive items (`Confirm paste?`)
- Clear sensitive on lock / sleep
- Dont sync sensitive items if/when sync exists
### Capture quality
- HTML + plain dual capture with “prefer plain” default
- File lists / Finder copy
- Link enrichment (title/favicon for URLs)
- OCR on image entries → searchable text (private, on-device)
### Paste power
- Paste stack / sequential paste (next item on each paste)
- Paste as keystrokes (for fields that block paste)
- Numbered paste queue from multi-select order
- Date/time templates, UUID, lorem in snippets
- Shell-escape / URL-encode / base64 transforms
- “Edit before paste” quick editor sheet
### UX polish
- Compact vs comfortable density
- Pin board / tabs (All · Pins · Images · Sensitive)
- Drag item onto another app
- Keyboard: Tab into transforms, `/` transform palette
- Menu bar: last N items quick-paste submenu
- Sound / haptic optional on paste
### Sync & backup
- Optional Tailscale / local LAN sync between machines
- Export/import encrypted archive
- Time-machine-friendly atomic DB
### Power-user system
- Alfred / Raycast callback URL or CLI (`macopy paste 3 --plain`)
- Shortcuts / URL scheme
- AppleScript / JXA bridge
### Hardening
- Sandbox-friendly Accessibility prompt flow + in-app guide
- Crash-safe write-ahead DB
- Telemetry: none (keep it that way); optional local diagnostics export
## Non-goals (for now)
- Cloud sync through a third-party host
- Browser extension dependency
- AI “summarize my clipboard” calling external APIs by default