Skip to content

Latest commit

 

History

History
75 lines (56 loc) · 3.5 KB

CONTRIBUTING.md

File metadata and controls

75 lines (56 loc) · 3.5 KB

Contributing GitHub contributors JavaScript Style Guide

CI Pipeline Docker Cloud Build Status Coverage Status Code Climate Gitlab pipeline status Snyk Vulnerabilities for npm package Merge Chance

Found a bug? Got an idea for enhancement? Feel like adding support for another CTF framework?

Feel free to create an issue or post your ideas in the chat! Pull requests are also highly welcome - please follow the guidelines below to make sure your PR can be merged and doesn't break anything.

Git-Flow

This repository is maintained in a simplified Git-Flow fashion: All active development happens on the develop branch while master is used to create tagged releases from.

Pull Requests

Using Git-Flow means that PRs have the highest chance of getting accepted and merged when you open them on the develop branch of your fork. That allows for some post-merge changes by the team without directly compromising the master branch, which is supposed to hold always be in a release-ready state.

JavaScript Standard Style Guide

The npm lint script verifies code compliance with the standard style. If PRs deviate from this coding style, they will immediately fail their build and will not be merged until compliant.

JavaScript Style Guide

In case your PR is failing from style guide issues try running standard --fix over your code - this will fix all syntax or code style issues automatically without breaking your code. You might need to npm i -g standard first.

Testing

Pull Requests are verified to pass all of the following test stages during the continuous integration build. It is recommended that you run these tests on your local computer to verify they pass before submitting a PR. New features should be accompanied by an appropriate number of corresponding tests to verify they behave as intended.

Unit Tests

There is a full suite containing independent unit tests for each module.

npm test

End-to-end Tests

The e2e tests simulate real input to the CLI as well as file-based configuration and verify the output on the console and in the exported archive file.

npm run e2e