diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..16eddb0ac --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,5 @@ +# Contribution guidelines + +So you want to hack on Knative `pkg`? Yay! Please refer to Knative's overall +[contribution guidelines](https://github.com/knative/docs/blob/master/community/CONTRIBUTING.md) +to find out how you can help. diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md new file mode 100644 index 000000000..b76123b09 --- /dev/null +++ b/DEVELOPMENT.md @@ -0,0 +1,68 @@ +# Development + +This doc explains how to setup a development environment so you can get started +[contributing](https://github.com/knative/docs/blob/master/community/CONTRIBUTING.md) +to Knative `pkg`. Also take a look at: + +* [The pull request workflow](https://github.com/knative/docs/blob/master/community/CONTRIBUTING.md#pull-requests) + +## Getting started + +1. Create [a GitHub account](https://github.com/join) +1. Setup [GitHub access via + SSH](https://help.github.com/articles/connecting-to-github-with-ssh/) +1. Install [requirements](#requirements) +1. Set up your [shell environment](#environment-setup) +1. [Create and checkout a repo fork](#checkout-your-fork) + +Before submitting a PR, see also [CONTRIBUTING.md](./CONTRIBUTING.md). + +### Requirements + +You must install these tools: + +1. [`go`](https://golang.org/doc/install): The language Knative `pkg` is built in +1. [`git`](https://help.github.com/articles/set-up-git/): For source control +1. [`dep`](https://github.com/golang/dep): For managing external dependencies. + +### Environment setup + +To get started you'll need to set these environment variables (we recommend +adding them to your `.bashrc`): + +1. `GOPATH`: If you don't have one, simply pick a directory and add +`export GOPATH=...` +1. `$GOPATH/bin` on `PATH`: This is so that tooling installed via `go get` will +work properly. + +`.bashrc` example: + +```shell +export GOPATH="$HOME/go" +export PATH="${PATH}:${GOPATH}/bin" +``` + +### Checkout your fork + +The Go tools require that you clone the repository to the `src/github.com/knative/pkg` directory +in your [`GOPATH`](https://github.com/golang/go/wiki/SettingGOPATH). + +To check out this repository: + +1. Create your own [fork of this + repo](https://help.github.com/articles/fork-a-repo/) +1. Clone it to your machine: + + ```shell + mkdir -p ${GOPATH}/src/github.com/knative + cd ${GOPATH}/src/github.com/knative + git clone git@github.com:${YOUR_GITHUB_USERNAME}/pkg.git + cd pkg + git remote add upstream git@github.com:knative/pkg.git + git remote set-url --push upstream no_push + ``` + +_Adding the `upstream` remote sets you up nicely for regularly [syncing your +fork](https://help.github.com/articles/syncing-a-fork/)._ + +Once you reach this point you are ready to do a full build and deploy as described below. diff --git a/README.md b/README.md index 9b7cafe4c..fda1380eb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ -# pkg -First-party common imports +# Knative Common Packages + +Knative `pkg` provides a place for sharing common Knative packages across +the Knative repos. + +To learn more about Knative, please visit our +[Knative docs](https://github.com/knative/docs) repository. + +If you are interested in contributing, see [CONTRIBUTING.md](./CONTRIBUTING.md) +and [DEVELOPMENT.md](./DEVELOPMENT.md). diff --git a/code-of-conduct.md b/code-of-conduct.md new file mode 100644 index 000000000..d94fbdf18 --- /dev/null +++ b/code-of-conduct.md @@ -0,0 +1,76 @@ +# 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, +education, socio-economic status, 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 team at +knative-code-of-conduct@googlegroups.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 https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org +