Skip to content
Browse files
first pass at contributing guide and code of conduct
  • Loading branch information
ahdinosaur committed May 2, 2019
1 parent 097f733 commit 14c15053f96967c8d8fb979427836b34e755a005
Showing with 224 additions and 0 deletions.
  1. +74 −0
  2. +150 −0
@@ -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

## Our Standards

Examples of behavior that contributes to creating a positive environment

* 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
* 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 team at 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 [][version]

@@ -0,0 +1,150 @@
# Contributing to the Sunrise Choir

Thanks for your interest in contributing to the Sunrise Choir! :sunrise: :pray: :notes:

This project is open commons that anyone can improve, stewarded by the Sunrise Choir team. :smiley_cat:

We welcome all contributions, such as but not limited to:

- designs
- specifications
- documentation
- tests
- websites
- artwork
- code

#### Table Of Contents

- [Code of Conduct](#code-of-conduct)
- [What should I know before I get started?](#what-should-i-know-before-i-get-started)
- [Sunrise Choir ecosystem](#sunrise-choir-ecosystem)
- [Sunrise Choir design decisions](#design-decisions)
- [How can I contribute?](#how-can-i-contribute)
- [Bug reports](#bug-reports)
- [Feature requests](#feature-requests)
- [Code contributions](#code-contributions)
- [Style guides](#style-guides)
- [Git Commit Messages](#git-commit-messages)
- [Rust style guide](#rust-style-guide)
- [JavaScript style guide](#javascript-style-guide)
- [Specs style guide](#specs-style-guide)
- [Documentation style guide](#documentation-style-guide)
- [Additional Notes](#additional-notes)

## Code of Coundect

Anyone who interacts with the Sunrise Choir in any space, including but not limited to our GitHub repositories, must follow our [Code of Conduct](

## What should I know before I get started?


### Sunrise Choir ecosystem


### Sunrise Choir design decisions


## How can I contribute?

### Bug reports

Have a look at the issue tracker for the relevant repository. If you can't find an issue (open or closed) describing your problem (or a very similar one) there, please open a new issue with the following details:

- Which versions are you using?
- What are you trying to accomplish?
- What is the full error you are seeing?
- How can we reproduce this?
- Please quote as much of your code as needed to reproduce (best link to a public repository or [Gist](
- Please post as much of your database schema as is relevant to your error

Thank you! We'll try to respond as quickly as possible.

### Feature requests

If you can't find an issue (open or closed) describing your idea, open an issue. Adding answers to the following questions in your description is helpful:

- What do you want to do, and how do you expect the Sunrise Choir to support you with that?
- How might this be added to the Sunrise Choir?
- What are possible alternatives?
- Are there any disadvantages?

Thank you! We'll try to respond as quickly as possible.

### Code contributions

**Before you are able to submit code changes to the Sunrise Choir, you must first sign a [Contributor License Agreement](!** :heart:

Please be sure to follow the relevant [Style Guide(s)](#style guide).

### Style Guide

### Git commit messages


### Rust style guide

We follow the [Rust Style Guide](, enforced using [rustfmt](

To run rustfmt tests locally:

1. Use rustup to set rust toolchain to the version specified in the repository's `rust-toolchain` file.

2. Install the rustfmt and clippy by running

rustup component add rustfmt
rustup component add clippy

3. Run clippy using cargo from the root of your repo.

cargo clippy

Each Pull Request needs to compile without warning.

4. Run rustfmt using cargo from the root of your repo

To see changes that need to be made, run

cargo fmt --all -- --check

If all code is properly formatted (e.g. if you have not made any changes), this should run without error or output.

If your code needs to be reformatted, you will see a diff between your code and properly formatted code. If you see code here that you didn't make any changes to then you are probably running the wrong version of rustfmt.

Once you are ready to apply the formatting changes, run

cargo fmt --all

You won't see any output, but all your files will be corrected.

### JavaScript style guide

We follow the [JavaScript Standard Style](, enforced using [`standard`](

### Specs style guide

We use [Markdown]( for our specifications.


### Documentation style guide

We use [Markdown]( for our documentation.


## Additional Notes


0 comments on commit 14c1505

Please sign in to comment.