A slim, opinionated fork of Ki — modal macOS automation via Hammerspoon. For the full philosophy and background, see the Ki README.
Tack strips Ki down to just the apps, URLs, and workflows I actually use daily.
Enter entity mode with Cmd+Escape then Cmd+E:
| Key | App |
|---|---|
c |
Cursor |
g |
Google Chrome |
t |
Ghostty |
Enter URL mode with Cmd+Escape then Cmd+U:
| Key | URL |
|---|---|
a |
AWS Console |
g |
GitHub |
h |
Hacker News |
p |
Pulumi |
| Key | Mode | Purpose |
|---|---|---|
Cmd+Esc |
Normal | Entry point from desktop |
Cmd+E |
Entity | Launch/focus an app |
Cmd+A |
Action | Pick an action, then an app |
Cmd+S |
Select | Choose from windows/tabs |
Cmd+F |
File | Browse files and folders |
Cmd+U |
URL | Open a saved URL |
Escape exits back to desktop from any mode.
- Install Hammerspoon
- Download
Tack.spoon.zipfrom the latest release - Unzip and move
Tack.spoonto~/.hammerspoon/Spoons/ - Add to
~/.hammerspoon/init.lua:
hs.loadSpoon('Tack')
spoon.Tack:start()- Reload Hammerspoon
For contributors or anyone wanting to build from source:
# Prerequisites
brew install luarocks lua@5.4
# Clone and install dependencies
git clone <repo-url>
cd tack
luarocks --lua-dir=/opt/homebrew/opt/lua@5.4 install --lua-version 5.4 --tree deps fsm 1.1.0-1
luarocks --lua-dir=/opt/homebrew/opt/lua@5.4 install --lua-version 5.4 --tree deps lustache 1.3.1-0
luarocks --lua-dir=/opt/homebrew/opt/lua@5.4 install --lua-version 5.4 --tree deps middleclass 4.1.1-0
# Build and symlink to Spoons directory
make dev
# Auto-rebuild on file changes
make watch-devMIT — forked from Ki by Andrew Kwon.