diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..4c18e55 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* 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 +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are 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. + +Project maintainers 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, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. 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 project lead at eli@mozilla.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project 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 [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..5f2d0bc --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,96 @@ +# Introduction + +### So, you want to contribute to Neutrino? + +Thank you for wanting to help out with Neutrino! We are very happy that you want to contribute and have put together +this guide to help you get started. We want to do our best to help you make successful contribution and be part of our +team. + +### Participation Conduct + +In order to ensure everyone has a fair, pleasant, and inclusive experience contributing to Neutrino, we ask that you +abide by our [community participation guidelines](CODE_OF_CONDUCT.md), based on the +[Contributor Covenant](http://contributor-covenant.org/). Please read and understand it for everyone's benefit. + +## Contributing + +Following these guidelines helps to communicate that you respect the time of the developers managing +and developing Neutrino. In return, we will show you respect in addressing your issue, assessing changes, +and helping you finalize your pull requests. + +### What we need + +There is always room for improvement and expansion in Neutrino. Some things that could always help: + +- Triaging and fixing bugs +- Adding tests to Neutrino which can help ensure it functions properly with new contributions +- Keeping core presets up to date with the best Webpack and Babel options +- Expanding documentation, writing tutorials, and creating example projects +- Something else, of course! + +### What we probably don't need + +While we are happy to review **any** contribution, there are some things that are best left as an external project: + +- _Additional presets_. While neutrino-dev does contain a number of core presets, we created and maintain these because +they were core to most of the projects we personally work on. If there are more presets you believe should be maintained +by the core, then feel free to raise an issue and we can discuss! Most likely though, additional presets can be +externally maintained and published to npm. It still has the same reach potential as bringing it into the core, without +raising the maintenance burden for Neutrino unnecessarily. +- _Scaffolding and boilerplates._ The goal of Neutrino is to remove over-reliance on boilerplates, instead opting to +push users into consuming presets. Neutrino itself will not add commands to scaffold out new projects or create +boilerplate repositories. We do keep a collection of examples-as-documentation for getting started with Neutrino +presets, but do not wish to govern project structure more than necessary. These types of projects can be maintained +externally. + +## Support + +Neutrino team members and contributors are here to help you! Should you need assistance or have questions in using +Neutrino or its core presets, please consider asking on Stack Overflow or other channel rather than filing issues. We +would prefer to keep our GitHub issues clear for bugs, feature requests, discussions, and relevant information related +to its development. + +## Guidelines + +- Please make a good-faith effort to ensure that code that goes into neutrino-dev follows the existing patterns and +quality that is already present in the repository. +- Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get +community feedback. +- Strive for code to be readable. Prefer following functional programming paradigms over object-oriented ones where +possible. +- Keep feature versions as small as possible, preferably one new feature per version. + +## Getting started + +Most contributions will involve working with the neutrino-dev codebase. Please refer to the development +documentation for technical details on getting started. + +### Tell your contributors how to file a bug report. + +When filing an issue, try to answer these questions: + +- What version of Neutrino are you using? +- Are you trying to use any presets? If so, which ones, and what versions? +- Are you using the Yarn client or the npm client? What version? +- What version of Node.js are you using? +- What operating system are you using? +- What did you do? +- What did you expect to happen? +- What actually happened, contrary to your expectations? + +## Feature Requests or Enhancements + +Please file an issue describing your request in detail: + +- What is the goal of the change? +- What are the pros and cons of the change? +- Could this dramatically improve the experience of our users? + +Please be open to discussion, and we will respect your time by fairly evaluating your request. In the event that your +request is deemed to not be acceptable to move forward, please understand that isn't a criticism of you as a person, +but rather that the idea in its present form may not be right at this time. We respect you and your ideas, and will +always encourage contributors to continue to make proposals. + +## Code review process + +Code is reviewed by Neutrino team members for quality, conformance to existing patterns, and functionality.