Skip to content

Latest commit

 

History

History
67 lines (41 loc) · 4.48 KB

CONTRIBUTING.md

File metadata and controls

67 lines (41 loc) · 4.48 KB

Contributing to Ghostwriter

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

The following is a set of guidelines for contributing to Ghostwriter and its packages, which are hosted in the GhostManager Organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Code of Conduct

This project and everyone participating in it is governed by the Code of Conduct documented here). By participating, you are expected to uphold this code. Please report unacceptable behavior to info@getghostwriter.io.

I Don't Want to Read This; I Just Have a Question!

Note: Please don't file an issue to ask a question. You'll get faster results by using the resources below.

Before asking a question, please check for an answer in the wiki: ghostwriter.wiki

If you still need assistance, you can get in touch via the SpecterOps/BloodHound Slack and the #ghostwriter channel.

If you'd prefer not to use Slack, you can ask your question in under the Discussions tab. Ask your question under the Q&A section.

Basics of Contributing to the Project

The project team welcomes feedback, new ideas, and external contributions. Review the following sections based on what you are looking to contribute.

Reporting an Issue/Bug

Before submitting an issue, please do the following:

  • Check open and closed issues for any previous related discussion
  • Make sure you are using the latest release (check the bottom of the left-hand sidebar for your version)
  • Check the CHANGELOG to see if your issue has already been addressed

When submitting a new issue use the provided template. Please fill-out the questions to ensure we have the basic information we need to begin reviewing the issue and reproducing it.

Suggesting a Change or New Feature

First, review the current road map and Kanban board status under the Projects tab. Also check the Ideas section under the Discussions tab. Look to see if your idea is already being discussed or tracked on the road map. If it exists already, feel free to comment on it to add your support. Otherwise, you can submit your new idea.

Please submit ideas under the Ideas section of the Discussions board. It can be tricky to track enhancement suggestions in issues. If the idea is popular, there might be multiple issues. If the idea might remain "open" for some time it can clutter the Issues section and we'd prefer not to "close" an issue before it is truly done.

Use a format like this one that provides all the encessary context for your idea:

  • Is your feature request related to a problem? Please describe.
    • A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
  • Describe the solution you'd like
    • A clear and concise description of what you want to happen.
  • Describe alternatives you've considered
    • A clear and concise description of any alternative solutions or features you've considered.
  • Additional context
    • Add any other context or screenshots about the feature request here.

Submitting a Pull Request

The process described here has several goals:

  • Maintain code quality
  • Fix problems that are important to users
  • Engage the community in working toward the best possible Ghostwriter
  • Enable a sustainable system for Ghostwriter's maintainers to review contributions

Please follow these steps to have your contribution considered by the maintainers:

  1. Follow all instructions in the template
  2. Follow the styleguides
  3. After you submit your pull request, verify that all status checks are passing
    What if the status checks are failing?If a status check is failing, and you believe that the failure is unrelated to your change, please leave a comment on the pull request explaining why you believe the failure is unrelated. A maintainer will re-run the status check for you. If we conclude that the failure was a false positive, then we will open an issue to track that problem with our status check suite.

While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.