We greatly appreciate you have considered contributing to Fibratus! Please, read carefully through the contribution guidelines before you start the contribution process.
- You're familiar with Github and the pull request workflow.
- Make sure you've read Fibratus docs.
- If you got an idea about some feature that's not currently in the backlog, please create the feature request first.
- Clone the Fibratus repository into the location of your choice.
- Download and install the Go compiler.
- If you are intending to contribute to features that interop with the
C
code, such as filaments or YARA, set up the required dependencies.
/build/package
- NSIS script for producing the Windows installer./cmd/fibratus
- Contains the entrypoint, CLI command implementations and the resource compiler manifest./config
- Configuration files inyml
andjson
format, included in releases. Rules files are included in therules
subdirectory./docs
- Markdown files for generating the documentation site./filaments
- The collection of filaments that are included in releases./pkg
- Fibratus main source./pkg-config
- pkg-config descriptors for externalizing thecgo
flags.
Fibratus includes a make.bat
in the root of the repo. The bat
script mimics the Makefile execution workflow.
Running make
will produce the Fibratus binary and place it inside cmd\fibratus
directory. Refer to the make.bat
file for a list of available tasks.
Fibratus uses gofmt
to format the code. Run the make fmt
from the root directory to emit indentation blocks that are in harmony with the Go code style.
Besides this, the golint
ensures you adhere to best practices regarding identifier naming, code docs, and so on. You can invoke the linter with make lint
.