diff --git a/CHANGELOG b/CHANGELOG index 630d3c84..ce216b7b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -22,6 +22,7 @@ jc changelog - Update ls parser to add epoch and epoch_utc fields - Add -h option to display the help text. Piping errors no longer show the help text. - Add -v option to display version information. +- Add contributing information to project root - Make all external python library dependencies optional: pygments, ruamel.yaml, xmltodict - JSON output now supports unencoded unicode characters - JSON output is now more compact unless the -p (pretty) option is used diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..3b58b919 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,46 @@ +# Contributing to jc +We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's: + +- Reporting a bug +- Discussing the current state of the code +- Submitting a fix +- Proposing new features +- Proposing a new parser + +## We Develop with Github +We use github to host code, to track issues and feature requests, as well as accept pull requests. + +## We Use Github Flow, So All Code Changes Happen Through Pull Requests +Pull requests are the best way to propose changes to the codebase (we use [Github Flow](https://guides.github.com/introduction/flow/index.html)). We actively welcome your pull requests: + +1. Open an issue to discuss the new feature, bug fix, or parser before opening a pull request. For new parsers, it is important to agree upon a schema before developing the parser. +2. Fork the repo and create your branch from `dev`, if available, otherwise `master`. +3. If you've added code that should be tested, add tests. All new parsers should have several sample outputs and tests. +4. Documentation is auto-generated from docstrings, so ensure they are clear and accurate. +5. Ensure the test suite passes. +6. Make sure your code lints. +7. Issue that pull request! + +## Any contributions you make will be under the MIT Software License +In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers the project. Feel free to contact the maintainers if that's a concern. + +## Report bugs using Github's [issues](https://github.com/kellyjonbrazil/jc/issues) +We use GitHub issues to track public bugs. Report a bug by [opening a new issue](); it's that easy! + +## Write bug reports with detail, background, and sample code +**Great Bug Reports** tend to have: + +- A quick summary and/or background +- Steps to reproduce + - Be specific! + - Give sample code if you can. +- What you expected would happen +- What actually happens +- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work) + +## Use a Consistent Coding Style +* 4 spaces for indentation rather than tabs +* Use a Python linter that will enforce PEP 8 and other best practices + +## License +By contributing, you agree that your contributions will be licensed under its MIT License. diff --git a/README.md b/README.md index cacd05cf..15504d9c 100644 --- a/README.md +++ b/README.md @@ -255,6 +255,8 @@ Tested on: ## Contributions Feel free to add/improve code or parsers! You can use the [`jc/parsers/foo.py`](https://github.com/kellyjonbrazil/jc/blob/master/jc/parsers/foo.py) parser as a template and submit your parser with a pull request. +Please see the [Contributing Guidelines](https://github.com/kellyjonbrazil/jc/blob/master/CONTRIBUTING.md) for more information. + ## Acknowledgments - Local parser plugin feature contributed by [Dean Serenevy](https://github.com/duelafn) - CI automation and code optimizations by [philippeitis](https://github.com/philippeitis)