Skip to content

Commit

Permalink
Merge pull request #13 from al/core/community-standards-and-github-co…
Browse files Browse the repository at this point in the history
…nfig

Core/community standards and GitHub config
  • Loading branch information
al authored Jul 23, 2024
2 parents 8f6fd1d + 75ef056 commit 3e169e8
Show file tree
Hide file tree
Showing 13 changed files with 483 additions and 0 deletions.
79 changes: 79 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# 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 at <[email protected]>. 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][homepage], 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).

[homepage]: https://www.contributor-covenant.org

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>.
52 changes: 52 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Contributing

Thank you for considering contributing to this project.

## How to Contribute

Please note that we have a [code of conduct](CODE_OF_CONDUCT.md). Please adhere to it in all your interactions.

### Reporting Bugs

If you find a bug please create an issue on our GitHub Issues page including:

- A clear and descriptive title.
- A description of the problem and how to reproduce it, including details of the platform (e.g. the operating system and browser) you are using.
- If possible, include a code snippet or a link to a repository or Gist that demonstrates the bug.

### Suggesting Enhancements

If you have an idea for an enhancement or a new feature, please create an issue on our GitHub Issues page including:

- A clear and descriptive title.
- A detailed description of the enhancement, including the benefits and any potential drawbacks.
- Any relevant code snippets or mockups that can help illustrate your suggestion.

If your suggestion pertains to a security issue, and if open conversation on Github Issues could result in the leakage of data or otherwise put the project or application at greater risk, please email [[email protected]](mailto:[email protected]) directly and include the word "SECURITY" in the subject line. See our Security Policy for more.

### Contributing Code

We welcome code contributions in the form of bug fixes, enhancements, and new features. Please follow these steps to ensure a smooth contribution process:

- **Discuss your idea**: Before you start working on a significant change, please open an issue to discuss it. This helps to avoid duplicate efforts and ensure that your contribution aligns with the project's goals.
- **Follow coding standards**: Ensure your code adheres to the existing code style. We use ESLint, Stylelint, Prettier and CSpell. Run `pnpm lint`, `pnpm format`, and `pnpm spelling` to check your code.
- **Write tests**: If possible, write tests for your code to ensure it works correctly and doesn't break existing functionality.
- **Document your code**: Update any relevant documentation as needed.

#### Submitting Changes

1. Fork the repository.
1. Create a branch.
1. Make your changes.
1. Commit your changes.
1. Push to your fork.
1. Create a pull request from your fork to our `main` branch.
1. Await and participate in code review.

Remember:

- Keep your changes focused and avoid unrelated modifications.
- Update the documentation if necessary.
- Ensure your code passes all linting and tests.

Thank you for your contributions.
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATES/1_bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
about: Report an issue
assignees: ''
labels: bug
name: Bug report
title: ''
---

## Summary

Clearly summarise the issue.

Lists are good.

## How to Reproduce?

1. Do this.
1. Then that.
1. Note the result.

## Expected Behaviour

Expected the other thing to happen.

## Stacktrace, Logs, etc

```sh
...
```

## Other Details

Any other relevant details.

### Environment

Your environment and/or other relebant information.

- **OS**:
- **Node version**:
- **Browser name and version**:
- **Etc.**
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATES/2_discussion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
about: Suggest an improvement to something that already exists
assignees: ''
labels: enhancement
name: Suggested enhancement
title: ''
---

Clearly motivate and summarise the suggested enhancement.

Lists are good.
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATES/3_feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
about: Suggest a new idea for this project
assignees: ''
labels: feature
name: Feature request
title: ''
---

Clearly motivate and summarise the requested feature.

Lists are good.
13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATES/4_other.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
about: Something that doesn't belong elsewhere
assignees: ''
labels:
name: Other
title: ''
---

This is a free-form issue.

Please provide as much information as possible whilst being as concise as you can.

Lists are good.
36 changes: 36 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Define a PR template

Define a PR message template to which we will all adhere. PR messages consist of a title, a body and a checklist. Additionally it may contain a test plan, and/or metadata (like related issue numbers).

PR messages should prefer the present tense, imperative mood, e.g. "Change the default value to 10" rather than "This changes the default value to 10" or "Changed the default value to 10" or "Changes the default value to 10".

Summarise clearly what the PR does. Lists are good for this.

## IMPORTANT

Highlight critical information like the need to create environment variables or secrets, migrate data, etc.

Other details:

- Aim to limit the PR title to no more than 50 characters.
- Capitalise the title and do not include a period.
- Use asterisks or hyphens to create lists.

## Check List

- [ ] Passes linting
- [ ] Passes tests

## Test Plan

Include a test plan whenever possible:

- Check previous PRs and see that they don't follow a standard template.
- Apply new PR template.
- Verify that all subsequent PRs follow the same format.
- Verify that all tests pass.

/cc @person, @otherperson

Fixes #123 #456
Related #99
11 changes: 11 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Reporting Security Issues

We take security issues seriously.

We appreciate your efforts to disclose your findings responsibly and will make every effort to acknowledge your contributions.

To report a security issue, go to the project's issues page and create a new issue. Read and follow the instructions of the issue template carefully.

If publicly reporting your findings could result in the leakage of data or put the project or application at greater risk, please email [[email protected]](mailto:[email protected]) directly and include the word "SECURITY" in the subject line.

We'll endeavour to respond to you as quickly as possible.
5 changes: 5 additions & 0 deletions .github/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- about: Please do NOT use this email to post issues or feature requests.
name: Send an e-mail to the developer
url: mailto:[email protected]
43 changes: 43 additions & 0 deletions .github/settings.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
labels:
- color: D73A4A
name: bug
description: Something isn't working
- color: 0366D6
name: dependencies
description: Pull requests or issues that related to dependencies
- color: 0075CA
name: documentation
description: Improvements or additions to documentation
- color: CFD3D7
name: duplicate
description: This issue or pull request already exists
- color: A2EEEF
name: enhancement
description: Improvements or additions to an existing feature
- color: 0E8A16
name: feature
description: New feature or request
- color: 000000
name: github_actions
description: Pull requests that update GitHub Actions code
- color: E99695
name: help wanted
description: Extra attention is needed
- color: FFFFFF
name: invalid
description: This doesn't seem right
- color: D876E3
name: question
description: Information or discussion requested
- color: B60205
name: security
description: Security related fixes, enhancements, or improvements
- color: 7057FF
name: test
description: Test related fixes, enhancements, or improvements
- color: FBCA04
name: wip
description: Work in progress
- color: FFFFFF
name: wontfix
description: This will not be worked on
18 changes: 18 additions & 0 deletions .gitmessage
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,24 @@
# 72 characters -------------------------------------------------------|

# Follow the Conventional Commits specification, conventionalcommits.org
#
# Valid commit <types> are:
#
# - ci Changes to CI configuration files and scripts.
# - core Changes build processes, tooling, dependencies or general
# project structure.
# - doc Adds or alters documentation.
# - feat Adds a new feature.
# - fix Solves a bug.
# - perf Improves performance.
# - refactor Rewrites code without feature, performance or bug related
# changes.
# - revert Changes that reverting other changes.
# - style Improves formatting, white-space, etc.
# - test Adds or modifies tests.
# - wip Work in progress (temporary commits, which will eventually
# be rebased or otherwise removed).
#
# See commitlintrc.yaml for specifics.
#
# Other guidelines to observe include:
Expand Down
Loading

0 comments on commit 3e169e8

Please sign in to comment.