Ship a macOS template menu-bar glyph, only toggle on left mouse-down so press/release no longer opens-then-closes, and put Settings next to Search so it is reachable without the tray menu.
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 | dmg background, website one-pager (tray + app icon: clipboard + ∞) |
| 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.