Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 2.11 KB

Contributing.md

File metadata and controls

43 lines (36 loc) · 2.11 KB

Contributing

Setting up your workflow

Start by cloning this repository and switching to the dev branch.

git clone https://github.com/GamesCrafters/GamesmanPuzzles
cd GamesmanPuzzles

Load the dependencies and set up the environment. It's recommended to use a virtualenv for this step. Make sure to be using Python3 instead of Python2.

pip install -r requirements.txt
pip install -e

Contributing a Change (Adding a Puzzle or Solver)

Guidelines for contributing puzzles or solvers

  1. To contribute a Puzzle, follow the guidelines provided in the tutorials. Add your dependencies to the puzzlelist located in the __init__.py file.
  2. To contribute a Solver, inherit from the base Solver class and place your solver source file in the solvers directory.
  3. Every solved Puzzle must have their respective test. The bare minimum for a test is to check the remoteness of an arbitrary position that is not a SOLVABLE position.

Pull Requests

Every change must be done using a pull request. Here are the directions to fork a repository and make a change.

The best way to start a pull request is to create a new branch.

git pull # Update all branches
git checkout -b <your-branch-name>

The conventional branch naming system is <your_name>/<feature_name>.

After you make your changes, commit and push. As a nonspoken rule, COMMIT WELL, PUSH OFTEN. Making good commit messages allows others to understand your work, as well as pushing your changes allow others to see your work and comment on potential fixes.

git commit -m "Your commit message here"
git push

Testing

You can run the local tests simply by the command. All tests must pass before submission.

pytest

Continuous integration has also been set up for every change you push. You can view the latest build here.