Contributing to Pesty
June 26, 2026 · View on GitHub
Thanks for your interest. Pesty is a small, native macOS app with no third-party dependencies, so it's easy to get into.
Prerequisites
- macOS 14 (Sonoma) or later
- Xcode 16+ / Swift 6 toolchain
Build and run
git clone https://github.com/momenbasel/pesty.git
cd pesty
swift build # compile
swift run # run in place
swift run Pesty --demo # run with sample clips and the strip open (for UI work)
To build a distributable bundle:
VERSION=1.0.0 BUILD=1 ./scripts/build_app.sh
open packaging/Pesty.app
Architecture
ClipboardMonitorpollsNSPasteboardand turns new contents intoClipItems.ClipboardStoreis the single@Observablesource of truth (history + pinboards + selection + search) and owns JSON persistence.AppControllerwires the global hotkey, the menu-bar item, the sliding panel, and the paste flow.BarWindowControlleris a borderlessNSPanelthat slides up from the bottom; it hostsBarView.PasteServicewrites a clip back to the pasteboard and synthesizes⌘Vinto the previously-active app.
Guidelines
- Keep it dependency-free. Prefer system frameworks (AppKit, SwiftUI, Carbon, ServiceManagement).
- Match the existing style. Small, focused changes; no unrelated refactors in the same PR.
- Test on both Apple Silicon and Intel where it matters (the release is universal).
- UI changes: include a before/after screenshot of the strip.
Pull requests
- Fork and branch from
main. - Make your change; ensure
swift buildis clean (no warnings). - Open a PR with a clear description and screenshots for UI changes.
Good first issues
- Large preview pane for the selected clip
- Drag-and-drop out of a card
- Resize handle on the strip (Paste-style)
- iCloud / file-based sync
- Richer renderers (RTF, link previews with favicons)
Code of conduct
Be kind. We follow the Contributor Covenant.