Thank you for your interest in contributing to YAIDS. Please read and follow this guidance when participating within the YAIDS project and community.
Are you looking for guidance or have a question? You can submit a Support Request via the Issue Tracker. Before filing a request, please consider the following:
yara
- Documentation - Issue Trackerlibpcap
- Documentation - Issue TrackerWhen submitting a Support Request it is imperative that you fully complete the request template with all information. Failure to provide full details in your submission may delay or prevent assistance. Please remember that the Code of Coduct is in effect for issue submissions.
Did you find a bug in YAIDS? You can submit a Bug Report via the Issue Tracker. Before filing a bug, please consider the following:
yara
- Documentation - Issue Trackerlibpcap
- Documentation - Issue TrackerWhen submitting a Bug Report it is critical that you fully complete the bug template with all information. Failure to provide full details in your submission may delay or prevent assistance. Please remember that the Code of Coduct is in effect for issue submissions.
Do you have an idea for YAIDS? You can submit a Feature Request via the Issue Tracker. Before filing a request, please consider the following:
yara
- Documentation - Issue Trackerlibpcap
- Documentation - Issue TrackerWhen submitting a Feature Request it is essential that you fully complete the request template with all information. Failure to provide full details in your submission may delay or prevent assistance. Please remember that the Code of Coduct is in effect for issue submissions.
Have you found a security issue within YAIDS? Please review and follow the Security Policy.
Are you interested in contributing code, documentation, or changes to YAIDS? You can submit a Pull Request.
Before submitting a Pull Request, please consider the following:
yara
- Documentation - Issue Trackerlibpcap
- Documentation - Issue TrackerAll Pull Requests require the following checklist be fully executed and completed:
- I have formatted the code (
./format.sh
).- I have updated the documentation, and processed the document generation (
./generate_docs.sh
).- I have tested the code based on the project testing methodologies.
- I have ensured the project is building successfully.
- I have updated relevant test cases, run the Test Suite , and all tests are passing.
- I have read the CONTRIBUTING document.
- I have read and agree to the Contributor Agreement document.
- I have read and agree to the Code of Conduct document.
- I have released the changes within this PR under the project LICENSE.
- I commit to tracking this PR, discussing the changes and feedback, completing required changes, fixing issues, and ensuring merge compatibility (merge/rebasing).
- I understand that if the changes incorporated within this PR are for some reason incompatible with the current code that these changes may be incorporated within another PR (with proper attribution).
When submitting a Pull Request it is mandatory that you fully complete the PR template with all information. Failure to provide full details in your submission may delay or prevent the inclusion of your changes. Please remember that the Code of Coduct is in effect for Pull Request submissions.
For simplicity and convenience, the yaids
repository includes a formatting script. The formating script requires and uses GNU indent
(this should be included, or installable on your Linux distribution) and shfmt
(this should be installable on your distribution).
All code submissions must be formatted to the project standards (preferably with the format.sh
script. Formatting your code is straight-forward:
./format.sh
from the project root directoryFor C-Code, yaids
uses: indent -kr -ci4 -cli4 -i4 -nut --no-tabs
For BASH Code, yaids
uses: shfmt -i 4 -ci -sr -fn -kp -w
Project documentation is used in multiple portions of the yaids
codebase, including:
It is critical that documentation stays closely aligned and up-to-date with the project codebase. All changes should be accompanied by relevant documentation updates.
For convenience and reproducibility, documentation is scripted for automated generation. The docuementation generation script builds the documentation from multiple sources, including:
Note that the Source Code documentation generation is performed with doxygen
, which is required to run the documentation generation script.
To update the documentation, follow these steps:
README.md
, etc.)./generate_docs.sh
from the project root directoryThe documentation generated will be used for the YAIDS website. You can test the website locally with jekyll
(jekyll is not required for documentation generation, but it is required for local testing of the website).
To test the website locally, you can either (a) uncomment the testing lines at the bottom of the docuementation generation script or (b) run bundle exec jekyll serve -H <IP Address>
.
Do NOT commit the built site (this is automatically handled by GitHub Pages
.
To learn more about the expected testing methods for the YAIDS project, please see the testing documentation.
In addition to the tooling mentioned in the testing documentation, all changes must pass the Test Suite . Running the Test Suite is quick and easy, as the Test Suite includes a testing script.
To run and confirm successfully passing of the tests, complete the following:
tests.sh
, etc.)./tests/test.sh
from the project root directory