Diff of /CONTRIBUTING.md [000000] .. [fde104]

Switch to side-by-side view

--- a
+++ b/CONTRIBUTING.md
@@ -0,0 +1,134 @@
+# Contributing
+
+Contributions are welcome, and they are greatly appreciated! Every
+little bit helps, and credit will always be given.
+
+You can contribute in many ways:
+
+## Types of Contributions
+
+### Report Bugs
+
+Report bugs at <https://github.com/john-p/wsic/issues>.
+
+If you are reporting a bug, please include:
+
+- Your operating system name and version.
+- Any details about your local setup that might be helpful in
+  troubleshooting.
+- Detailed steps to reproduce the bug.
+
+### Fix Bugs
+
+Look through the GitHub issues for bugs. Anything tagged with "bug" and
+"help wanted" is open to whoever wants to implement it.
+
+### Implement Features
+
+Look through the GitHub issues for features. Anything tagged with
+"enhancement" and "help wanted" is open to whoever wants to implement
+it.
+
+### Write Documentation
+
+wsic could always use more documentation, whether as part of the
+official wsic docs, in docstrings, or even on the web in blog posts,
+articles, and such.
+
+### Submit Feedback
+
+The best way to send feedback is to file an issue at
+<https://github.com/john-p/wsic/issues>.
+
+If you are proposing a feature:
+
+- Explain in detail how it would work.
+- Keep the scope as narrow as possible, to make it easier to
+  implement.
+- Remember that this is a volunteer-driven project, and that
+  contributions are welcome :)
+
+## Get Started!
+
+Ready to contribute? Here's how to set up
+<span class="title-ref">wsic</span> for local development.
+
+1. Fork the <span class="title-ref">wsic</span> repo on GitHub.
+
+1. Clone your fork locally:
+
+   ```shell
+   $ git clone git@github.com:your_name_here/wsic.git
+   ```
+
+1. Install your local copy into a virtualenv. Assuming you have
+   virtualenvwrapper installed, this is how you set up your fork for
+   local development:
+
+   ```shell
+   $ mkvirtualenv wsic
+   $ cd wsic/
+   $ python setup.py develop
+   ```
+
+1. Create a branch for local development:
+
+   ```shell
+   $ git checkout -b name-of-your-bugfix-or-feature
+   ```
+
+   Now you can make your changes locally.
+
+1. When you're done making changes, check that your changes pass flake8
+   and the tests, including testing other Python versions with tox:
+
+   ```shell
+   $ flake8 wsic tests
+   $ python setup.py test or pytest
+   $ tox
+   ```
+
+   To get flake8 and tox, just pip install them into your virtualenv.
+
+1. Commit your changes and push your branch to GitHub:
+
+   ```shell
+   $ git add .
+   $ git commit -m "Your detailed description of your changes."
+   $ git push origin name-of-your-bugfix-or-feature
+   ```
+
+1. Submit a pull request through the GitHub website.
+
+## Pull Request Guidelines
+
+Before you submit a pull request, check that it meets these guidelines:
+
+1. The pull request should include tests.
+1. If the pull request adds functionality, the docs should be updated.
+   Put your new functionality into a function with a docstring, and add
+   the feature to the list in README.rst.
+1. The pull request should work for cPython 3.8, 3.9, 3.10. Check the
+   GitHib Actions workflow on the pull request and make sure that the
+   tests pass for all supported Python versions.
+
+## Tips
+
+To run a subset of tests:
+
+```shell
+$ pytest tests.test_wsic
+```
+
+## Deploying
+
+A reminder for the maintainers on how to deploy. Make sure all your
+changes are committed (including an entry in HISTORY.md). Then run:
+
+```shell
+$ bump2version patch # possible: major / minor / patch
+$ git push
+$ git push --tags
+```
+
+GitHub Actions will then deploy to PyPI if tests pass.