This chapter aims to provide information useful when developing, debugging, or profiling ClamAV.
If you're new to open source software development on GitHub, take a moment to read this quick introduction on GitHub Pull Requests.
ClamAV's Git work flow isn't too complicated, but it is unique. See this section to get a better understanding of how we use Git.
New core developers and community contributors can follow these steps to prepare an environment to work on ClamAV development.
If you need to review a pull request, it's best to not only eyeball the changes and review the test logs, but to also build and test the PR manually on your own computer. This section will help you check out someone else's PR so you can test it.
Basic instructions for building ClamAV can be in the Installing chapter and a comprehensive reference for compiling ClamAV with CMake is available in the INSTALL.md file accompanying the source code, but if you want a few extra tips on building ClamAV for development purposes, check this out.
If you'd like to learn how we build the installer packages and even replicate this on your own, you can read about it here.
This section contains a varied assortment of techniques you can use when coding on ClamAV to up your development game.
Are you interested in using libclamav to scan for malware in your own C/C++ application? This section introduces the most important functions of the libclamav API. For a more comprehensive reference, inline documention can be found in the
clamav.h header distributed with libclamav.
If you're interested in contributing to ClamAV, we've assembled a page of bugs that need fixing as well as other project ideas that we feel might be great new-contributor projects.
If you're looking for project ideas, check out the project ideas list to find out how you might be able to help out the project!