Skip to content

Latest commit

 

History

History
96 lines (66 loc) · 3.13 KB

CONTRIBUTING.md

File metadata and controls

96 lines (66 loc) · 3.13 KB

Report issues

If you have any issue with The Dang, sorry about that, but we will do what we can to fix that. Actually, maybe we already have, so first thing to do is to update The Dang and see if the bug is still there.

If it is (sorry again), check if the problem has not already been reported and if not, just open an issue on GitHub with the following basic information:

  • the output of thedang --version (something like The Dang 3.1 using Python 3.5.0);
  • your shell and its version (bash, zsh, Windows PowerShell, etc.);
  • your system (Debian 7, ArchLinux, Windows, etc.);
  • how to reproduce the bug;
  • the output of The Dang with THEDANG_DEBUG=true exported (typically execute export THEDANG_DEBUG=true in your shell before The Dang);
  • if the bug only appears with a specific application, the output of that application and its version;
  • anything else you think is relevant.

It's only with enough information that we can do something to fix the problem.

Make a pull request

We gladly accept pull request on the official repository for new rules, new features, bug fixes, etc.

Developing

In order to develop locally, there are two options:

  • Develop using a local installation of Python 3 and setting up a virtual environment
  • Develop using an automated VSCode Dev Container.

Develop using local Python installation

Create and activate a Python 3 virtual environment.

Install The Dang for development:

pip install -r requirements.txt
python setup.py develop

Run code style checks:

flake8

Run unit tests:

pytest

Run unit and functional tests (requires docker):

pytest --enable-functional

For sending package to pypi:

sudo apt-get install pandoc
./release.py

Develop using Dev Container

To make local development easier a VSCode Devcontainer is included with this repository. This will allows you to spin up a Docker container with all the necessary prerequisites for this project pre-installed ready to go, no local Python install/setup required.

Prerequisites

To use the container you require:

Full notes about installation are here

Running the container

Assuming you have the prerequisites:

  1. Open VSCode
  2. Open command palette (CMD+SHIFT+P (mac) or CTRL+SHIFT+P (windows))
  3. Select Remote-Containers: Reopen in Container.
  4. Container will be built, install all pip requirements and your VSCode will mount into it automagically.
  5. Your VSCode and container now essentially become a throw away environment.