# CommandPost-App

CommandPost is made up of two seperate components:

The goal of CommandPost-App is to always stay compatible with Hammerspoon, to allow us to always be able to bring across bug fixes and new features from the Hammerspoon repository to the ComamndPost-App fork.

We also don't touch the Hammerspoon/setup.lua or extensions/_coresetup/init.lua files within the CommandPost-App repository - this is all done in the CommandPost fork.

In most cases, you should never really need to make changes to CommandPost-App, as all the user interfaces and features are built with Lua scripts.

However, if there is something missing from CommandPost-App that you want to add to the application (for example we added the "Drag & Drop to Dock" callbacks), ideally you would commit this to the main Hammerspoon repository first (so that the Hammerspoon community can also benefit from it), and then update CommandPost-App from Hammerspoon/master.

For more information on contributing to Hammerspoon, refer to their Contribution Guide.

There's also a fantastic Hammerspoon Module Walkthrough here, which includes examples of how to make Objective-C extensions.

If you have any questions about this, feel free to submit an issue.