Skip to content

Latest commit

 

History

History
36 lines (24 loc) · 2.55 KB

CONTRIBUTING.md

File metadata and controls

36 lines (24 loc) · 2.55 KB

Contributing

We greatly appreciate you have considered contributing to Fibratus! Please, read carefully through the contribution guidelines before you start the contribution process.

Introduction

  1. You're familiar with Github and the pull request workflow.
  2. Make sure you've read Fibratus docs.
  3. If you got an idea about some feature that's not currently in the backlog, please create the feature request first.

Development

  1. Clone the Fibratus repository into the location of your choice.
  2. Download and install the Go compiler.
  3. If you are intending to contribute to features that interop with the C code, such as filaments or YARA, set up the required dependencies.

Directory Structure

  • /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 in yml and json format, included in releases. Rules files are included in the rules 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 the cgo flags.

Make

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.

Code Style

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.