Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(contributing): add CONTRIBUTING.md with guidelines for contributors #571

Merged
merged 3 commits into from
Aug 14, 2024
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# Contributing to SafetyCLI

First off, thanks for taking the time to contribute! We welcome contributions from everyone and are grateful for your help in making SafetyCLI better.

## Table of Contents
- [Contributing to SafetyCLI](#contributing-to-safetycli)
- [Table of Contents](#table-of-contents)
- [How Can I Contribute?](#how-can-i-contribute)
- [Reporting Bugs](#reporting-bugs)
- [Suggesting Enhancements](#suggesting-enhancements)
- [Improving Documentation](#improving-documentation)
- [Getting Started](#getting-started)
- [Code of Conduct](#code-of-conduct)
- [Development Setup](#development-setup)
- [Running Tests](#running-tests)
- [Pull Request Process](#pull-request-process)
- [Commit Messages](#commit-messages)
- [Merging Changes](#merging-changes)
- [License](#license)

## How Can I Contribute?

### Reporting Bugs

If you find a bug, please report it by opening a [GitHub issue](https://github.com/pyupio/safety/issues). When reporting a bug, please include:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth linking to our bug bounty page?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For sure! I just added that in!

- A clear and descriptive title.
- Steps to reproduce the issue.
- Expected and actual behavior.
- Any relevant logs or screenshots.
- The version of SafetyCLI and Python you are using.

If your bug report has security implications or involves a potential vulnerability, we encourage you to participate in our [Bug Bounty Program](https://safetycli.com/resources/bug-bounty). Your responsible disclosure will help us improve the security of our software and may be eligible for a reward.

Please use the appropriate label when creating an issue:
- `bug`: Indicates a problem that needs to be resolved.
- `Critical`: Issues that break core functionality or pose significant security vulnerabilities.
- `High`, `Medium`, `Low`: Significance of bugs affecting users.

### Suggesting Enhancements

To suggest an enhancement, open an issue with details on the proposed improvement:
- A detailed description of the enhancement.
- A rationale for why the enhancement is needed.
- Any possible alternatives or workarounds.

Please use the following label:
- `enhancement`: Suggests an improvement or new feature.

### Improving Documentation

Improving documentation is one of the best ways to contribute. You can suggest improvements, correct typos, or add new sections. The documentation is located [here](https://docs.safetycli.com/safety-docs).

Please use the following label:
- `documentation`: Indicates issues related to documentation improvements or updates.

Before submitting code changes, please ensure:
- Your changes are focused on a single issue or feature.
- You have written tests for your changes.
- All tests pass locally.

Please use the following labels as needed:
- `help wanted`: Requests assistance from the community or other contributors.
- `good first issue`: Highlights issues that are suitable for first-time contributors.

## Getting Started

### Code of Conduct

Please read and adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) to ensure a welcoming environment for all contributors.

### Development Setup
dylanpulver marked this conversation as resolved.
Show resolved Hide resolved
1. **Clone the repository:**
```bash
git clone https://github.com/pyupio/safety.git
```

2. **Set up your environment:**
- Ensure you are using Python 3.11.2.
- Install dependencies:
```bash
pip install -r requirements.txt
```

### Running Tests
We use pytest for running tests. To run the tests locally:
```pytest```

Ensure all tests pass before submitting your changes.

## Pull Request Process

### Commit Messages

We follow Conventional Commits for our commit messages. Please ensure your commits adhere to this specification.
Use the following format:

```markdown
<type>(<scope>): <description>

[optional body]

[optional footer(s)]
```

### Merging Changes
- Ensure all CI checks pass.
- A project maintainer will review and merge the pull request.
- Pull requests require at least one approval before merging.

## License
By contributing to SafetyCLI, you agree that your contributions will be licensed under the same [MIT License](https://github.com/pyupio/safety/blob/main/LICENSE) that covers the project.
Loading