Contributing to SketchyBar
Contributions are welcome! Whether you're fixing a bug, adding a feature, or improving documentation, your help is appreciated.
Development Setup
To get started with development, you'll need to compile the project from source. The primary tool for this is the provided makefile
.
Prerequisites
- Xcode Command Line Tools: Ensure you have
make
,cc
(Clang), and other build essentials installed. You can install them withxcode-select --install
.
Building the Project
The makefile
includes several targets for different development needs:
-
make
ormake all
ormake universal
: Builds a universal binary for bothx86_64
(Intel) andarm64
(Apple Silicon) architectures. This is the standard build for distribution. -
make x86
: Compiles only thex86_64
version. -
make arm64
: Compiles only thearm64
version. -
make debug
: Compiles anarm64
binary with debug symbols (-g
), making it suitable for use with a debugger likelldb
. -
make asan
: Compiles with AddressSanitizer and UndefinedBehaviorSanitizer enabled. This is extremely useful for catching memory errors and other undefined behavior during testing. -
make leak
: Compiles a debug build and runs it with theleaks
tool to check for memory leaks at exit. -
make clean
: Removes all compiled binaries and object files from thebin/
directory.
Code of Conduct
Please be respectful and constructive in all your interactions within the project community.
Submitting Changes
- Fork the repository on GitHub.
- Create a new branch for your feature or bug fix.
- Make your changes. Adhere to the existing code style.
- Test your changes thoroughly. Use the
debug
andasan
build targets to catch potential issues. - Submit a pull request with a clear description of the changes you have made and the problem they solve.
License
By contributing, you agree that your contributions will be licensed under the GNU General Public License v3.0, the same license that covers the project. You can find the full license text in the LICENSE file.