Update community guidelines and add core team file

Based on the [Moya community
guidelines](https://github.com/Moya/contributors) I've updated out
`CONTRIBUTING.md` to explicitly explain our "Invite any contributor who
has at least one PR merged" philosophy, and added a `CORE_TEAM.md` file
which contains a list of core team members. (@geelen, @mxstbr, @philpl,
@schwers; in order of addition)

I've also already set up an instance of
[Aeryn](https://github.com/Moya/Aeryn), which will automatically invite
any collaborator that has a PR merged into the main `styled-components`
repo to the organisation.

I hope that (as with Moya) this makes the `styled-components` longer
lasting and removes the core team members as bottlenecks from the
evolution of the library.
上级 1be908fd
Thanks for giving this a read! We're always open to your contributions to styled-components.
This document will get you started on how to contribute and things you should know.
So please give it a thorough read.
# Contributing to `styled-components`
Please also give the code of conduct a read.
As the creators and maintainers of this project, we want to ensure that `styled-components` lives and continues to grow and evolved. The evolution of the library should never be blocked by any single person's time. One of the simplest ways of doing this is by encouraging a larger set of shallow contributors. Through this, we hope to mitigate the problems of a project that needs updates but there's no-one who has the power to do so.
## How do I contribute code?
## Ownership
**If you get a merged Pull Request, regardless of content (typos, code, doc fixes), then you're eligible for push access to this organization.** This is checked for on pull request merges and an invite to the organization is sent via GitHub automatically thanks to and [Aeryn instance](https://github.com/Moya/Aeryn/) that @mxstbr runs.
Offhand, it's easy to imagine that this would make code quality suffer, but in reality it offers fresh perspectives to the codebase and encourages ownership from people who are depending on the project. If you are building a project that relies on this codebase, then you probably have the skills to improve it and offer valuable feedback.
Everyone comes in with their own perspective on what a project could/should look like, and encouraging discussion can help expose good ideas sooner.
### Why do we give push access?
It can be overwhelming to be offered the chance to wipe the source code for a project. Don't worry, we don't let you push to master. All code has to be reviewed by at least two contributors or one core team member, and we have the convention that someone other than the submitter has to merge non-trivial pull requests.
As an organization contributor, you can merge other people's pull requests, or other contributors can merge yours. You likely won't be assigned a pull request, but you're welcome to jump in and take a code review on topics that interest you.
This project is not continuously deployed, there is space for debate after review too. Offering everyone the chance to revert, or make an amending pull request. If it feels right, merge.
### How can we help you get comfortable contributing?
It's normal for a first pull request to be a potential fix for a problem, and moving on from there to helping the project's direction can be difficult. We try to help contributors cross that barrier by offering good first step issues. These issues can be fixed without feeling like you're stepping on toes. Ideally, these are non-critical issues that are well defined. They will be purposely avoided by mature contributors to the project, to make space for others.
We aim to keep all technical discussions inside GitHub issues, and all other discussions in our [Spectrum community](https://spectrum.chat/styled-components). This is to make sure valuable discussion is accessible via search. If you have questions about a specific PR, want to discuss a new API idea or anything like that GitHub issues are the right tool. If you have questions about how to use the library, or how the project is running - the [Spectrum community](https://spectrum.chat/styled-components) is the place to go.
### Our expectations on you as a contributor
To quote [@alloy](https://github.com/alloy) from [this issue](https://github.com/Moya/Moya/issues/135):
> Don't ever feel bad for not contributing to open source.
We want contributors to provide ideas, keep the ship shipping and to take some of the load from others. It is non-obligatory; we’re here to get things done in an enjoyable way. :trophy:
The fact that you'll have push access will allow you to:
- Avoid having to fork the project if you want to submit other pull requests as you'll be able to create branches directly on the project.
- Help triage issues, merge pull requests.
- Pick up the project if other maintainers move their focus elsewhere.
It's up to you to use those superpowers or not though 😉
If someone submits a pull request that's not perfect, and you are reviewing, it's better to think about the PR's motivation rather than the specific implementation. Having braces on the wrong line should not be a blocker. Though we do want to keep test coverage high, we will work with you to figure that out together.
### What about if you have problems that cannot be discussed in a public issue?
[Max Stoiber](https://twitter.com/mxstbr) and [Phil Pluckthun](https://twitter.com/_philpl) (Twitter links) have contactable emails on their GitHub profiles, and are happy to talk about any problems via those or via Twitter DMs.
## Code contributions
Here is a quick guide to doing code contributions to the `styled-components` library itself:
1. Find some issue you're interested in, or a feature that you'd like to tackle.
Also make sure that no one else is already working on it. We don't want you to be
......@@ -34,7 +79,8 @@ Run `npm install` and edit code in the `src/` folder. It's luckily very simple!
## How do I verify and test my changes?
To make development process easier, you could use a sandbox provided in this repo.
To make development process easier we provide a Sandbox React application in this repo which automatically uses your local version of the `styled-components` library. That means when you make any changes in the `src/` folder they'll show up automatically there!
To use the sandbox, follow these steps:
1. Go to sandbox folder: `cd sandbox`
......@@ -43,12 +89,9 @@ To use the sandbox, follow these steps:
3. Run `yarn start` or `npm start` to start sandbox server
Now you should have the sandbox running on `localhost:3000`
Sandbox supports client-side and server-side rendering.
Now you should have the sandbox running on `localhost:3000`. The Sandbox supports client-side and server-side rendering.
You can use an interactive editor, powered by [`react-live`](https://react-live.philpl.com/), to
test your changes. But if you want more control, you can edit the sandbox itseft:
You can use an interactive editor, powered by [`react-live`](https://react-live.philpl.com/), to test your changes. But if you want more control, you can edit the sandbox itself too:
- Root `<App>` componens is located at `styled-components/sandbox/src/App.js` file
......@@ -56,10 +99,11 @@ test your changes. But if you want more control, you can edit the sandbox itseft
- Server-side entry point is at `styled-components/sandbox/src/server.js`
In the sandbox source, `styled-components` is an alias to `styled-components/src` folder,
so you can edit the source directly and dev-server will handle rebuilding the source and
livereloading your sandbox after the build is done.
In the sandbox source, `styled-components` is an alias to `styled-components/src` folder, so you can edit the source directly and dev-server will handle rebuilding the source and livereloading your sandbox after the build is done.
When you commit our pre-commit hook will run, which executes `lint-staged`. It will run the linter automatically and warn you, if the code you've written doesn't comply with our code style.
## Credits
These contribution guidelines are based on https://github.com/moya/contributors, big thanks to @alloy, @orta et al. for the inspiration and guidance.
When you commit our pre-commit hook will run, which executes `lint-staged`. It will run
the linter automatically and warn you, if the code you've written doesn't comply with our
code style.
# `styled-components` Core Team
The `styled-components` Core Team is a group of `styled-components` contributors that have demonstrated a lasting enthusiasm for the project and community. The Core Team has GitHub admin privileges on all `styled-components` repos.
## Core Team Responsibilities
The `styled-components` Core Team has the following responsibilities:
- Being available to answer high-level questions about `styled-components`'s vision and future.
- Being available to review longstanding/forgotten pull requests.
- Occasionally check `styled-components` issues, offer input, and categorize with GitHub issue labels.
- Looking out for up-and-coming members of the `styled-components` community who might want to serve as Core Team members.
Note that the `styled-components` Core Team – and all `styled-components` contributors – are open source _volunteers_; membership on the Core Team is expressly _not_ an obligation. The Core Team is distinguished as leaders in the community and while they are a good group to turn to when someone needs an answer to a question, they are still volunteering their time, and may not be available to help immediately.
## Core Team Members
- [@geelen](https://github.com/geelen)
- [@mxstbr](https://github.com/mxstbr)
- [@philpl](https://github.com/philpl)
- [@schwers](https://github.com/schwers)
## Adding new Core Team Members
The process for adding new Core Team members is as follows:
- An existing Core Team member reaches out privately to see if the individual is interested. If they are, open a pull request adding them to the list.
- Existing Core Team members review the pull request. The person merging the PR is responsible for adding them to the "Core" GitHub team.
> Note: If you feel like you have demonstrated a lasting enthusiasm for the `styled-components` project and community, yet nobody has reached out to you about joining the core team, feel free to ping one of the existing core team members _privately_ about the possibility of joining the core team.
## Credits
This document is based on the Moya `CORE_TEAM.md` layout: https://github.com/Moya/contributors
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册