Add community files

This commit is contained in:
Christian Treffs 2021-05-03 08:04:46 +02:00
parent 5f71f64626
commit 68daff2b6d
No known key found for this signature in database
GPG Key ID: 49A4B4B460BE3ED4
7 changed files with 307 additions and 8 deletions

61
.github/ISSUE_TEMPLATE/BUG_REPORT.md vendored Normal file
View File

@ -0,0 +1,61 @@
---
name: 🐛 Bug Report
about: Something isn't working as expected, create a report to help us improve
labels: bug
---
<!--
Thanks for contributing to this project!
Before you submit your issue, please replace each paragraph
below with the relevant details for your bug, and complete
the steps in the checklist by placing an 'x' in each box:
- [x] I've completed this task
- [ ] This task isn't completed
-->
### Bug Description
*A clear and concise description of what the bug is.
Replace this paragraph with a short description of the incorrect behavior.
(If this is a regression, please note the last version of the package that exhibited the correct behavior in addition to your current version.)*
### Information
- **Package version:** What tag or branch of this package are you using? e.g. tag `1.2.3` or branch `main`
- **Platform version:** Please tell us the version number of your operating system. e.g. `macOS 11.2.3` or `Ubuntu 20.04`
- **Swift version:** Paste the output of `swift --version` here.
### Checklist
- [ ] If possible, I've reproduced the issue using the `main`/`master` branch of this package.
- [ ] I've searched for existing issues under the issues tab.
- [ ] The bug is reproducible
### Steps to Reproduce
*Steps to reproduce the behavior:*
1. Go to '...'
2. '....'
*Replace this paragraph with an explanation of how to reproduce the incorrect behavior.
Include a simple code example, if possible.*
### Expected behavior
*A clear and concise description of what you expected to happen.
Describe what you expect to happen.*
### Actual behavior
*Describe or copy/paste the behavior you observe.*
### Screenshots
If applicable, add screenshots to help explain your problem.
### Additional context
*Add any other context about the problem here.*

View File

@ -0,0 +1,31 @@
---
name: 💡 Feature Request
about: A suggestion for a new feature or idea for this project
labels: enhancement
---
<!--
Thanks for contributing to this project!
Before you submit your issue, please replace the paragraphs
below with information about your proposed feature.
-->
### Feature request
*Replace this paragraph with a description of your proposed feature.
A clear and concise description of what the idea or problem is you want to solve.
Please be sure to describe some concrete use cases for the new feature -- be as specific as possible.
Provide links to existing issues or external references/discussions, if appropriate.*
### Describe the solution you'd like
*A clear and concise description of what you want to happen.*
### Describe alternatives you've considered
*A clear and concise description of any alternative solutions or features you've considered.*
### Additional context
*Add any other context or screenshots about the feature request here.*

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Discord
url: https://discord.gg/JMM7W6pCCc
about: Questions or comments about using Fireblade? Ask here!

View File

@ -0,0 +1,52 @@
<!--
Thanks for contributing to this project!
Before you submit your request, please replace each paragraph
below with the relevant details, and complete the steps in the
checklist by placing an 'x' in each box:
- [x] I've completed this task
- [ ] This task isn't completed
-->
### Description
*Replace this paragraph with a description of your changes and rationale.
Provide links to an existing issue or external references/discussions, if appropriate.*
### Detailed Design
*Include any additional information about the design here. At minimum, describe a synopsis of any public API additions.*
```swift
/// The new feature implemented by this pull request.
public struct Example: Collection {
}
```
### Documentation
*How has the new feature been documented?
Have the relevant portions of the guides in the Documentation folder been updated in addition to symbol-level documentation?*
### Testing
*How is the new feature tested?
Please ensure CI is not broken*
### Performance
*How did you verify the new feature performs as expected?*
### Source Impact
*What is the impact of this change on existing users of this package? Does it deprecate or remove any existing API?*
### Checklist
- [ ] I've read the [Contribution Guidelines]( https://github.com/fireblade-engine/ecs/CONTRIBUTING.md)
- [ ] I've followed the coding style of the rest of the project.
- [ ] I've added tests covering all new code paths my change adds to the project (to the extent possible).
- [ ] I've added benchmarks covering new functionality (if appropriate).
- [ ] I've verified that my change does not break any existing tests or introduce unexpected benchmark regressions.
- [ ] I've updated the documentation (if appropriate).

12
CODEOWNERS Normal file
View File

@ -0,0 +1,12 @@
# This file is a list of the people responsible for ensuring that contributions
# to this projected are reviewed, either by themselves or by someone else.
# They are also the gatekeepers for their part of this project, with the final
# word on what goes in or not.
# The code owners file uses a .gitignore-like syntax to specify which parts of
# the codebase is associated with an owner. See
# <https://docs.github.com/github/creating-cloning-and-archiving-repositories/about-code-owners>
# for details.
# The following lines are used by GitHub to automatically recommend reviewers.
# Each line is a file pattern followed by one or more owners.
* @ctreffs

136
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,136 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders 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 will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement
e.g. via [content abuse report][ref-report-abuse].
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][ref-homepage-cc],
version 2.0, available at
<https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
For answers to common questions about this code of conduct, see the FAQ at
<https://www.contributor-covenant.org/faq>.
Translations are available at
<https://www.contributor-covenant.org/translations>.
<!-- REFERENCES -->
[ref-homepage-cc]: https://www.contributor-covenant.org
[ref-report-abuse]: https://docs.github.com/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam#reporting-an-issue-or-pull-request
[ref-gh-coc]: https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project
[ref-gh-abuse]: https://docs.github.com/en/communities/moderating-comments-and-conversations/managing-how-contributors-report-abuse-in-your-organizations-repository
[ref-coc-guide]: https://opensource.guide/code-of-conduct/

View File

@ -8,18 +8,18 @@
The following is a set of **guidelines for contributing** to this project.
Use your best judgment and feel free to propose changes to this document in a pull request.
**Working on your first Pull Request?** You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
**Working on your first Pull Request?** You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github)
### 💡 Your contribution - the sky is the limit 🌈
This is an open source project and we love to receive contributions from our community — [**you**][ref-contributors]!
There are many ways to contribute, from writing __tutorials__ or __blog posts__, improving the [__documentation__][ref-documentation], submitting __bug reports__ and __feature requests__ or
__writing code__ which can be incorporated into the repository itself.
There are many ways to contribute, from writing __tutorials__ or __blog posts__, improving the [__documentation__][ref-documentation], submitting [__bug reports__][ref-issues-new] and [__enhancement__][ref-pull-request-new] or
[__writing code__][ref-pull-request-new] which can be incorporated into the repository itself.
When contributing to this project, please feel free to discuss the change you wish to make via issue with the repository owners before making a change.
When contributing to this project, please feel free to discuss the changes and ideas you wish to contribute with the repository owners before making a change by opening a [new issue][ref-issues-new] and add the **feature request** tag to that issue.
<!--Note that we have a [code of conduct][ref-code-of-conduct], please follow it in all your interactions with the project.-->
Note that we have a [code of conduct][ref-code-of-conduct], please follow it in all your interactions with the project.
### 🐞 You want to report a bug or file an issue?
@ -55,11 +55,12 @@ If you want to start somewhere, this would be a good place to start.
That said, these aren't necessarily the easiest tickets.
For any new contributions please consider these guidelines:
1. Open a [new pull request (PR)][ref-pull-request-new] with a **clear and descriptive title**
2. Write a **detailed comment** with as much relevant information as possible including:
- What your feature is intended to do?
- How it can be used?
- What alternatives where considered?
- What alternatives where considered, if any?
- Has this feature impact on performance or stability of the project?
#### Your contribution responsibilities
@ -68,7 +69,7 @@ Don't be intimidated by these responsibilities, they are easy to meet if you tak
- [x] Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback.
- [x] Ensure (cross-)platform compatibility for every change that's accepted. An addition should not reduce the number of platforms that the project supports.
- [x] Ensure **coding conventions** are met. Lint your code with the project's default tools.
- [x] Ensure **coding conventions** are met. Lint your code with the project's default tools. Project wide commands are available through the [Makefile][ref-makefile] in the repository root.
- [x] Add tests for your feature that prove it's working as expected. Code coverage should not drop below its previous value.
- [x] Ensure none of the existing tests are failing after adding your changes.
- [x] Document your public API code and ensure to add code comments where necessary.
@ -80,7 +81,7 @@ Please consult the [README][ref-readme] for installation instructions.
<!-- REFERENCES -->
[ref-code-of-conduct]: t.b.d.
[ref-code-of-conduct]: https://github.com/fireblade-engine/ecs/CODE_OF_CONDUCT.md
[ref-contributors]: https://github.com/fireblade-engine/ecs/graphs/contributors
[ref-documentation]: https://github.com/fireblade-engine/ecs/wiki
[ref-gh-actions]: https://github.com/fireblade-engine/ecs/actions
@ -91,3 +92,4 @@ Please consult the [README][ref-readme] for installation instructions.
[ref-pull-request-how-to]: https://docs.github.com/en/github/writing-on-github/autolinked-references-and-urls
[ref-pull-request-new]: https://github.com/fireblade-engine/ecs/compare
[ref-readme]: https://github.com/fireblade-engine/ecs/blob/master/README.md
[ref-makefile]: https://github.com/fireblade-engine/ecs/blob/master/Makefile