diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..76b2db3 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,71 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an safe and welcoming environment, we pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity, gender expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Use welcoming and inclusive language +* Respect each other +* Provide and gracefully accept constructive criticism +* Show empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* The use of sexualized language or imagery +* Unwelcome sexual attention or advances +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +OOPNET's team is responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +OOPNET's team have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, and to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies to all OOPNET communication channels - online or in person, +and it also applies when an individual is representing the project or its community in +public spaces. Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the OOPNET team at oopnet@gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The OOPNET team +will maintain confidentiality with regard to the reporter of an incident. +Enforcement may result in an indefinite ban from all official OOPNET communication +channels, or other actions as deemed appropriate by the OOPNET team. + +OOPNET maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Angular Contributor Covenant Code of Conduct](https://github.com/angular/code-of-conduct/blob/main/CODE_OF_CONDUCT.md) +which itself is based on the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..79a7848 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,81 @@ +# Contributing to OOPNET +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 +- Becoming a maintainer + +Following these guidelines helps to communicate that you respect the time of the developers managing and developing this +open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and +helping you finalize your pull requests. + +## Our Development Process +We use [Github Actions](https://docs.github.com/en/actions), so all code changes happen through pull requests (PRs). +Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests: + +1. Fork the repo and create your branch from `main`. +2. If you've added code that should be tested, add tests. +3. If you've changed APIs, update the documentation. +4. Ensure the test suite passes. +5. Make sure your code lints. +6. Issue that pull request! + +## Report bugs +We use Github's [issues](https://github.com/oopnet/oopnet/issues) to track public bugs. Report a bug by [opening a new +issue](https://github.com/oopnet/oopnet/issues/new/choose); it's that easy! + +For us to be able to fix a bug, we require information about the bug. **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) + +People *love* thorough bug reports. I'm not even kidding. + +## Request a feature +If you want a new feature in OOPNET, please provide us with a use case and a description of what is missing. If +possible, provide a code snippet that describes your use case. If you already have a solution for the implementation, +please add this to the issue as well. + +## Security issues +If you find a security vulnerability, do NOT open an issue. Email XXXX instead. + +## Style and standards +OOPNET uses a few standards to simplify its development. + +### Coding Style +Codes will be linted by [black](https://github.com/psf/black) as part of the CI pipeline. This means, that in general +you don't have to concern yourself with linting. + +### Github issue labels +[StandardIssueLabels](https://github.com/wagenet/StandardIssueLabels#standardissuelabels) are used for labeling. Please +read the description to choose the correct label. + +### Git commit messages +Semantic Versioning is used to calculate the next version number based of the commits and their corresponding commit +message. We use the [Angular Commit message format](https://github.com/angular/material/blob/master/.github/CONTRIBUTING.md#submit) +for this purpose. Please, adhere to this standard, if you want your PR to be merged. + +Versions look like this: MAJOR.MINOR.PATCH + +For now, MAJOR is set to 0 until OOPNET is deemed stable. + +## Code of Conduct +Please read our [Code of Conduct] before interacting with us or the community. Violations will be met with clear +consequences. + +## 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. + +## References +This document was adapted from the open-source contribution guidelines by +[Brian Danielak](https://gist.github.com/briandk/3d2e8b3ec8daf5a27a62) which is based on the guidelines for +[Meta's Draft-JS](https://github.com/facebook/draft-js/blob/main/CONTRIBUTING.md) \ No newline at end of file