From 3f3b5fbb6654361491897869162e0d682febb40c Mon Sep 17 00:00:00 2001
From: Chris Swan <478926+cpswan@users.noreply.github.com>
Date: Fri, 16 Apr 2021 13:50:34 +0100
Subject: [PATCH] Documentation updates
---
CONTRIBUTING.md | 82 ++++++++++++++++++++++++++
README.md | 20 +++++++
code_of_conduct.md | 140 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 242 insertions(+)
create mode 100644 CONTRIBUTING.md
create mode 100644 code_of_conduct.md
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..25ce523
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,82 @@
+# Contributing guidelines
+
+We :heart: [Pull Requests](https://help.github.com/articles/about-pull-requests/)
+for fixing issues or adding features. Thanks for your contribution!
+
+Please read our [code of conduct](code_of_conduct.md), which is based on
+[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)
+
+
+For small changes, especially documentation, you can simply use the "Edit" button
+to update the Markdown file, and start the
+[pull request](https://help.github.com/articles/about-pull-requests/) process.
+Use the preview tab in GitHub to make sure that it is properly
+formatted before committing.
+
+If you plan to contribute often or have a larger change to make, it is best to
+setup an environment for contribution, which is what the rest of these guidelines
+describe.
+
+## Development Environment Setup
+
+This was developed on Ubuntu 20.04 running on Windows Subsystem for Linux (WSL2)
+with Python 3.8.6. But any environment with Python 3.6 or later should be suitable.
+
+### GitHub Repository Clone
+
+To prepare your dedicated GitHub repository:
+
+1. Fork in GitHub https://github.com/atsign-company/labels
+2. Clone *your forked repository* (e.g., `git clone git@github.com:yourname/REPO`)
+3. Set your remotes as follows:
+
+ ```sh
+ cd labels
+ git remote add upstream git@github.com:atsign-company/labels.git
+ git remote set-url upstream --push DISABLED
+ ```
+
+ Running `git remote -v` should give something similar to:
+
+ ```text
+ origin git@github.com:yourname/labels.git (fetch)
+ origin git@github.com:yourname/labels.git (push)
+ upstream git@github.com:atsign-company/labels.git (fetch)
+ upstream DISABLED (push)
+ ```
+
+ The use of `upstream --push DISABLED` is to prevent those
+ with `write` access to the main repository from accidentally pushing changes
+ directly.
+
+### Development Process
+
+1. Fetch latest changes from main repository:
+
+ ```sh
+ git fetch upstream
+ ```
+
+1. Reset your fork's `master` branch to exactly match upstream `master`:
+
+ ```sh
+ git checkout master
+ git reset --hard upstream/master
+ git push --force
+ ```
+
+ **IMPORTANT**: Do this only once, when you start working on new feature as
+ the commands above will completely overwrite any local changes in `master` content.
+1. Edit, edit, edit, and commit your changes to Git:
+
+ ```sh
+ # edit, edit, edit
+ git add *
+ git commit -m 'A useful commit message'
+ git push
+ ```
+
+1. There are no unit or integration tests. Please test any changes against your
+own repos.
+
+1. Open a new Pull Request to the main repository using your `master` branch
\ No newline at end of file
diff --git a/README.md b/README.md
index 421dd61..3a44f5e 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,7 @@
+
+
+### Now for a little internet optimism
+
# labels
Repo to push a standard set of labels to the other repos we use so that we have consistent labeling
@@ -5,6 +9,18 @@ Repo to push a standard set of labels to the other repos we use so that we have
[Mozilla Public License Version 2.0](https://www.mozilla.org/en-US/MPL/2.0/) see [FAQ](https://www.mozilla.org/en-US/MPL/2.0/FAQ/) for more detail
+## Contributions
+
+If you find a bug then please raise an [issue](https://github.com/atsign-company/labels/issues).
+
+We'd also love to get [pull requests](https://github.com/atsign-company/labels/pulls)
+for improvements.
+
+Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
+
+Our [code of conduct](code_of_conduct.md) is based on
+[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)
+
## Automation
There's a GitHub Action `Sync` configured in this repo that runs `unify.py` to apply the labels from `github-labels.yaml` to the repos listed in `atsign-foundation.yaml`.
@@ -13,6 +29,10 @@ The action runs every time a change is pushed to this repo (such as an additon t
There's also a `Newlabel` Action that adds runs when new labels are added to this repo, running `dump_github_labels.py` to create a new `github-labels.yaml`
and then `unify.py` to sync like above.
+The Action uses a Secret called `REPO_TOKEN` which is a
+[Personal access token](https://github.com/settings/tokens) scoped for repo
+from an account with access to the target organisation repos.
+
## Python scripts:
### clear_github_labels.py
diff --git a/code_of_conduct.md b/code_of_conduct.md
new file mode 100644
index 0000000..0eefb50
--- /dev/null
+++ b/code_of_conduct.md
@@ -0,0 +1,140 @@
+
+
+
+### Now for a little internet optimism
+
+# The @ Company Code of Conduct
+
+Based on
+[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)
+
+## 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, caste, color, 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
+conduct@atsign.com.
+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][v2.0].
+
+Community Impact Guidelines were inspired by
+[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
+
+For answers to common questions about this code of conduct, see the FAQ at
+[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
+at [https://www.contributor-covenant.org/translations][translations].
+
+[homepage]: https://www.contributor-covenant.org
+[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
+[Mozilla CoC]: https://github.com/mozilla/diversity
+[FAQ]: https://www.contributor-covenant.org/faq
+[translations]: https://www.contributor-covenant.org/translations