Thanks for wanting to help the ghost eat more downloads! 👻
git clone https://github.com/dizzpy/boo.git
cd boo
swift build # compile
swift run # run the menu-bar appRequires macOS 13+ and the Swift toolchain (Xcode or the standalone toolchain).
Sources/Boo/
App/ App entry point and delegate
Core/ File watching, sorting, persistence (no UI)
UI/ Menu-bar ghost, toast, settings, prompts (AppKit + SwiftUI)
Keep Core/ free of UI imports so the sorting logic stays testable and small.
- Branch off
mainusing a typed name:feat/…,fix/…,docs/…,chore/…. - Make your change. Add or move file-type rules in
Sources/Boo/Core/Categories.swift. - Run
swift buildand make sure it compiles with no warnings. - Commit using Conventional Commits (see below).
- Open a pull request against
mainand fill in the template.
We use Conventional Commits. The type prefix drives the changelog:
feat: a new user-facing capability
fix: a bug fix
docs: documentation only
refactor: code change that neither fixes a bug nor adds a feature
chore: tooling, build, dependencies
Example: feat(sorter): remember unknown types per extension
- Match the surrounding code: small types, clear names, light comments.
- No new dependencies — Boo is intentionally pure AppKit + SwiftUI.
- UI work runs on the main thread; file work runs off it.
Open an issue with the bug report template. Include your macOS version and steps to reproduce.