Quickly drag-and-drop files from an important folder right from your menu bar.
demo.mp4
Download the latest release DMG:
https://github.com/jameskraus/FolderBar/releases/latest
FolderBar runs as a packaged .app during development (Sparkle and signing behave differently outside a real bundle).
./Scripts/compile_and_run.shSet a signing identity once in .env:
SIGNING_IDENTITY="Apple Development: Your Name (TEAMID)"If SIGNING_IDENTITY is not set, packaging will fall back to ad-hoc signing.
brew install swiftformat swiftlint
make format
make lint
swift test./Scripts/install_git_hooks.shThis appends a call to the repo-managed hook into your local .git/hooks/pre-push (so existing hooks like bd keep working).
Both Scripts/compile_and_run.sh and Scripts/release.sh source .env automatically.
If someone tells you to release the app, do this:
- Ensure you’re on
mainwith a clean working tree. - Bump
version.env(the release script readsVERSION=from here). - Run
./Scripts/release.sh.
Pre-req: create a .env file with release signing + notarization values, and set SPARKLE_PUBLIC_ED_KEY there too:
RELEASE_SIGNING_IDENTITY="Developer ID Application: Your Name (TEAMID)"
NOTARY_KEY_ID="ABC123XYZ"
NOTARY_ISSUER_ID="00000000-0000-0000-0000-000000000000"
NOTARY_KEY_PATH="/path/to/AuthKey_ABC123XYZ.p8"This produces + publishes:
build/FolderBar-<version>.zipbuild/FolderBar-<version>.dmg- Git tag
v<version> - GitHub Release assets
appcast.xmlupdate committed tomain
Agent-oriented docs (product goals/non-goals, project structure, release workflow) live in AGENTS.md.
Sparkle update/appcast/key details live in docs/UPDATES.md.
