Hammerspoon / hammerspoon
Staggeringly powerful macOS desktop automation with Lua
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing Hammerspoon/hammerspoon in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Summary (README)
PreviewHammerspoon
Discord: Click to join
What is Hammerspoon?
This is a tool for powerful automation of OS X. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine.
What gives Hammerspoon its power is a set of extensions that expose specific pieces of system functionality, to the user. With these, you can write Lua scripts to control many aspects of your OS X environment.
How do I install it?
Manually
- Download the latest release
- Drag
Hammerspoon.appfrom yourDownloadsfolder toApplications
Homebrew
brew install hammerspoon --cask
What next?
Out of the box, Hammerspoon does nothing - you will need to create ~/.hammerspoon/init.lua and fill it with useful code. There are several resources which can help you:
- Getting Started Guide
- API docs
- FAQ
- Sample Configurations supplied by various users
- Contribution Guide for developers looking to get involved
- An IRC channel for general chat/support/development (#hammerspoon on Libera)
- Google Group for support
What is the history of the project?
Hammerspoon is a fork of Mjolnir. Mjolnir aims to be a very minimal application, with its extensions hosted externally and managed using a Lua package manager. We wanted to provide a more integrated experience.
What is the future of the project?
Our intentions for Hammerspoon broadly fall into these categories:
- Ever wider coverage of system APIs in Extensions
- Tighter integration between extensions
- Smoother user experience