- 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
2.8 KiB
2.8 KiB
Making maCopy a professional product
Checklist beyond “it works on my machine.” Items marked done are already in-repo.
Already in good shape
- Native menu-bar UX (Accessory activation, tray)
- Configurable global hotkey
- Automated unit tests +
npm run check - Performance-minded clipboard monitoring + list payloads
- Image thumbnails; sensitive redaction (preview)
- Paste plain + transforms
- Living docs: README, ROADMAP, TESTING, Launch-at-login
- Launch at login wired to macOS Login Items (release
.app)
Ship blockers (do these for v1)
-
Installable release path
- Copy
maCopy.app→/Applications - Document version / changelog (
CHANGELOG.md)
- Copy
-
Code signing + notarization
- Apple Developer ID Application certificate
codesign+notarytool(or Tauri bundler config)- Without this: Gatekeeper blocks random users
-
First-run permissions guide
- In-app sheet: Accessibility for paste, optional screen recording later
- Deep link / button to open System Settings pane
-
Stable autostart
- Only advertise Launch at login after install to
/Applications - Re-register Login Item after updates that change the bundle path
- Only advertise Launch at login after install to
-
CI
- GitHub/Gitea Action:
npm run checkon every PR - Optional macOS runner for
tauri buildartifacts
- GitHub/Gitea Action:
Product polish (v1.x)
| Area | Idea |
|---|---|
| Updates | Sparkle or Tauri updater + signed feeds |
| Branding | Final icon, dmg background, website one-pager |
| Privacy | Short privacy policy (local-only DB; no telemetry) |
| Support | Issue templates, FAQ (hotkey conflict with cycle-windows) |
| Onboarding | Empty-state tips; Ctrl+` callout |
| Crash reports | Optional local-only panic log export |
| Quality | E2E smoke script (open → copy → paste) on macOS CI |
Trust & privacy (especially with redaction)
- Be explicit: sensitive items are stored (encrypted-at-rest still TODO) — redaction is UI-only
- Offer “purge sensitive after N minutes” (on roadmap)
- Exclude password-manager apps from capture (on roadmap)
Distribution options
| Channel | Notes |
|---|---|
| Direct DMG / zip | Simple; needs notarization |
| Homebrew cask | Great for power users once signed |
| Mac App Store | Heavier review; clipboard monitors are tricky under sandbox |
| Private TestFlight-style | Not really for menu-bar utilities; skip |
Suggested “done for professional v1”
- Signed + notarized
.app/ DMG - Installed under
/Applications+ Launch at login verified after reboot - CI green on
npm run check - Accessibility onboarding UI
- CHANGELOG + version bump process
- Privacy blurb in README + Settings
Everything else can ride the ROADMAP.