maCopy/docs/PRODUCT.md
ilia e9461ed4f3
All checks were successful
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

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)

  1. Installable release path

    • Copy maCopy.app/Applications
    • Document version / changelog (CHANGELOG.md)
  2. Code signing + notarization

    • Apple Developer ID Application certificate
    • codesign + notarytool (or Tauri bundler config)
    • Without this: Gatekeeper blocks random users
  3. First-run permissions guide

    • In-app sheet: Accessibility for paste, optional screen recording later
    • Deep link / button to open System Settings pane
  4. Stable autostart

    • Only advertise Launch at login after install to /Applications
    • Re-register Login Item after updates that change the bundle path
  5. CI

    • GitHub/Gitea Action: npm run check on every PR
    • Optional macOS runner for tauri build artifacts

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.