First off, thanks for taking the time to contribute!
Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.
Some thoughts to help you contribute to this project
- Reporting Bugs
- Suggesting Enhancements
- Pull Requests
This project and everyone participating in it is governed by the cp-tools of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
This project is a tool to help format marathon programming problems. This tool is called cp-tools and is in its early stages of development. Before you start contributing to the project, make sure you know what programming marathons and problem formatting are all about.
When we make a significant decision in how we maintain the project and what we can or cannot support, we will document it in the [LINK PARA DOCUMENTO EXPLICANDO O DESIGN DO PROJETO]. If you have a question around how we do things, check to see if it is documented there. If it is not documented there, please open a new topic on LINK PARA CANAL DE COMUNICAÇÃO and ask your question.
- Always leave screenshots for visuals changes
- Always leave a detailed description in the Pull Request. Leave nothing ambiguous for the reviewer.
- Always review your code first. Do this by leaving comments in your coding noting questions, or interesting things for the reviewer.
- Always communicate. Whether it is in the issue or the pull request, keeping the lines of communication helps everyone around you.
Make sure you have all dependencies installed:
- Command line tools:
diff
,mkdir
,test
,cp
,rm
- pdflatex
- GCC 8
- Python 3
$ git clone https://github.com/edsomjr/competitive-problems-tools
$ cd competitive-problems-tools
$ make
$ make install
# script to run the tests
$
Also, all questions are welcomed.
Got Questions? Join the conversation in our Slack.
- Ask questions if you are stuck.
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
If you plan to contribute a change based on an open issue, please assign yourself. Issues that are not assigned are assumed open, and to avoid conflicts, please assign yourself before beginning work on any issues.
If you would like to contribute to the project for the first time, please consider joining checking the bug or good first issue labels.
We actively welcome your pull requests, however linking your work to an existing issue is preferred.
- Fork the repo and create your branch from
main
. - Name your branch something that is descriptive to the work you are doing. i.e. adds-new-thing or fixes-mobile
- If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- If you make visual changes, screenshots are required.
- Ensure the test suite passes.
- Make sure you address any lint warnings.
- If you make the existing code better, please let us know in your PR description.
- A PR description and title are required.
- Link to an issue in the project. Unsolicited code is welcomed, but an issue is the best place to announce your intentions to work on things.
By contributing to the Competitive Problems Tools project, you agree that your contributions will be licensed under its GPL-3.0 License.