MakeTray is a tiny macOS menu‑bar app that lets you launch any Makefile target with a single click—no terminal juggling, no remembering command names.
What you get | Details |
---|---|
One‑click targets | Every Makefile target appears as its own menu item—grouped by Makefile and shown with your custom label. |
Live auto‑reload | Any change to config.json or to the Makefiles is detected instantly – menus refresh without relaunching. |
Config GUI | “Settings” submenu lets you add files via Choose File dialog or open config for manual editing. |
Terminal output | Each target opens a new Terminal window so you can watch logs in real time—window auto‑closes if you want. |
Zero clutter | Runs as an LSUIElement: no Dock icon, no Cmd‑Tab entry—just a tidy glyph in the menu bar. |
Via homebrew
brew tap alexrett/make-tray
brew install make-tray
% whereis make-tray
> make-tray: /opt/homebrew/bin/make-tray
Manual
- Clone the repo
git clone https://github.com/alexrett/make-tray.git
cd make-tray
- Install Go modules
go mod tidy
- Run the app bundle
make run
- Build the app bundle
make build
It will build and copy MakeTray.app into your /Application
folder.
Every push to main
creates signed & notarized binaries for Intel and Apple Silicon.
Grab the latest .dmg
or .zip
from the Releases page and drop MakeTray.app into /Applications
.
-
Launch MakeTray – the first start creates
~/Library/Application Support/MakeTray/config.json
with a single demo entry. -
Edit your Makefile
Add or tweak targets—MakeTray picks them up automatically.
-
Location:
~/Library/Application Support/MakeTray/config.json
-
Format:
You can edit this file manually or use Settings ▸ Add… from the menu.
Scenario | Command / Setting |
---|---|
Custom config path | MakeTray -config /path/to/my.json |
Open config in VS Code | Settings ▸ Open config… |
Keep Terminal window open | Comment out the osascript close‑window line in main.go . |
Replace app icon | Put new icon.png (menu glyph) + regenerate icon.icns. |
GitHub Actions workflow release.yml builds a universal macOS binary (arm64
+ amd64
), codesigns and notarizes it,
then uploads MakeTray.app.zip
and a ready‑to‑mount .dmg
to the Release tagged by the commit.
On every push to main
the workflow also runs go vet
and go test ./...
to keep the codebase healthy.
Pull requests are welcome!
- Fork → feature branch → PR.
- Follow go vet and golangci-lint checks.
- Add yourself to CONTRIBUTORS.md.
Released under the MIT License.