Skip to content

Commit 7217dae

Browse files
authored
add templates codeowners and contributing files (#38)
* add templates codeowners and contributing files * feedback changes
1 parent d16395d commit 7217dae

File tree

7 files changed

+352
-0
lines changed

7 files changed

+352
-0
lines changed

.github/CODEOWNERS

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Approval for at least one *code owner* is required all packages.
2+
3+
# Lines starting with '#' are comments.
4+
# Each line is a file pattern followed by one or more *code owners*.
5+
# The last matching pattern has the most precendence.
6+
7+
# These *code owners* will be the default owners for everything in the repository.
8+
* @awentzel @bheston @KingOfTac @EisenbergEffect
9+
10+
# File type specific owners
11+
# Markdown specific files
12+
*.md @awentzel @bheston @falkicon @EisenbergEffect
13+
/docs/ @awentzel @bheston @falkicon @EisenbergEffect
14+
15+
# GitHub management
16+
.github/ @awentzel @EisenbergEffect
17+
.github/workflows/ @awentzel @EisenbergEffect
18+
19+
# Build scripts
20+
*.yml @awentzel @EisenbergEffect
21+
build/ @awentzel @EisenbergEffect
22+
23+
# Package specific owners
24+
# Examples
25+
/examples/ @bheston @KingOfTac
26+
27+
# Tooling
28+
29+
# Utilities
30+
31+
# Web components
32+
/packages/adaptive-ui/ @EisenbergEffect @bheston
33+
/packages/adaptive-ui-explorer/ @EisenbergEffect @bheston
34+
/packages/adaptive-web-components/ @EisenbergEffect @bheston @KingOfTac

.github/ISSUE_TEMPLATE/bug-report.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: 'Bug Report'
3+
about: Did AWC not work as expected?
4+
title: "fix: [what is the issue?] in [where is the issue?]"
5+
labels: 'status:triage'
6+
---
7+
8+
<!---
9+
Thanks for filing an issue! Before you submit, please read the following:
10+
11+
Search open/closed issues before submitting. Someone may have reported the same issue before.
12+
-->
13+
14+
# Bug Report
15+
<!--- Provide a general summary of the issue here -->
16+
17+
## Repro or Code Sample
18+
<!-- Please provide steps to reproduce the issue and/or a code repository, gist, code snippet or sample files -->
19+
20+
## Expected Behavior
21+
<!--- Tell us what should happen -->
22+
23+
## Current Behavior
24+
<!--- Tell us what happens instead of the expected behavior -->
25+
<!--- If you are seeing an error, please include the full error message and stack trace -->
26+
<!--- If applicable, provide screenshots -->
27+
28+
## Possible Solution
29+
<!--- Not obligatory, but suggest a fix/reason for the bug -->
30+
<!--- Please let us know if you'd be willing to contribute the fix; we'd be happy to work with you -->
31+
32+
## Context
33+
<!--- How has this issue affected you? What are you trying to accomplish? -->
34+
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
35+
36+
## Your Environment
37+
<!--- Include as many relevant details as possible about the environment you experienced the bug in -->
38+
39+
* OS & Device: [e.g. MacOS, iOS, Windows, Linux] on [iPhone 7, PC]
40+
* Browser [e.g. Microsoft Edge, Google Chrome, Apple Safari, Mozilla FireFox]
41+
* Version [e.g. 1.8.0]
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: Documentation
3+
about: Find an inaccuracy in the documentation or something missing?
4+
title: "docs: fix/add [what] to/in [where]"
5+
labels: 'status:triage'
6+
---
7+
8+
<!---
9+
Thanks for filing an issue! Before you submit, please read the following:
10+
11+
Search open/closed issues before submitting. Someone may have reported the same issue before.
12+
-->
13+
14+
# Documentation Request
15+
<!--- Provide a general summary of what is missing or incorrect in the documentation -->
16+
17+
## Possible Solution
18+
<!--- Not obligatory, but feel free to suggest a content outline for larger topics -->
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Feature Request
3+
about: Want us to add something to AWC?
4+
title: "feat: add [what] to/in [where]"
5+
labels: 'status:triage'
6+
---
7+
8+
<!---
9+
Thanks for filing an issue! Before you submit, please read the following:
10+
11+
Search open/closed issues before submitting. Someone may have requested the same feature before.
12+
-->
13+
14+
# Feature Request
15+
<!--- Provide a general summary of the feature here -->
16+
17+
## Expected Behavior
18+
<!--- Tell us how the feature should work -->
19+
20+
## Current Behavior
21+
<!--- Explain how the feature would alter/enhance current behavior -->
22+
23+
## Possible Solution
24+
<!--- Ideas how to implement this feature -->
25+
<!--- What implementation solution would be ideal for you? -->
26+
27+
## Context
28+
<!--- What are you trying to accomplish? -->
29+
<!--- How has not having this feature affected you? -->
30+
<!--- What alternatives have you considered? -->
31+
32+
## Examples
33+
<!-- Examples help us understand the requested feature better -->
34+
<!-- Attach screenshots or images if they would add detail to your request -->

.github/ISSUE_TEMPLATE/rfc.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
name: Request For Comment (RFC)
3+
about: Want comments from the team and community on your proposal?
4+
title: "rfc: add [what] to/in [where]"
5+
labels: 'status:triage'
6+
---
7+
8+
<!---
9+
Thanks for filing an issue! Before you submit, please read the following:
10+
11+
Search open/closed issues before submitting. Someone may have created a similar RFC before.
12+
-->
13+
14+
# RFC
15+
<!--- Provide a detailed summary of the feature here -->
16+
17+
## Context
18+
<!--- What are you trying to accomplish? How has not having this feature affected you? -->
19+
<!--- What alternatives have you considered? What are you trying to accomplish? -->
20+
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
21+
22+
## Examples
23+
<!-- Examples help us understand the requested feature better -->
24+
<!-- Attach screenshots or images if they would add detail to your request -->

.github/pull_request_template.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<!---
2+
Thanks for filing a pull request! Before you submit, please read the following:
3+
4+
Search open/closed issues before submitting. Someone may have pushed the same thing before!
5+
6+
Provide a summary of your changes in the title field above.
7+
-->
8+
9+
# Pull Request
10+
11+
## Description
12+
<!---
13+
Provide some background and a description of your work.
14+
What problem does this change solve?
15+
Is this a breaking change, chore, fix, feature, etc?
16+
-->
17+
18+
### Issues
19+
<!---
20+
* List and link relevant issues here.
21+
-->
22+
23+
## Reviewer Notes
24+
<!---
25+
Provide some notes for reviewers to help them provide targeted feedback and testing.
26+
27+
Do you recommend a smoke test for this PR? What steps should be followed?
28+
Are there particular areas of the code the reviewer should focus on?
29+
-->
30+
31+
## Test Plan
32+
<!---
33+
Please provide a summary of the tests affected by this work and any unique strategies employed in testing the features/fixes.
34+
-->
35+
36+
## Checklist
37+
38+
### General
39+
<!--- Review the list and put an x in the boxes that apply. -->
40+
41+
- [ ] I have added tests for my changes.
42+
- [ ] I have tested my changes.
43+
- [ ] I have updated the project documentation to reflect my changes.
44+
- [ ] I have read the [CONTRIBUTING](https://github.com/adaptive-web/adaptive-web-components/blob/master/CONTRIBUTING.md) documentation for this project.
45+
46+
### Component-specific
47+
<!--- Review the list and put an x in the boxes that apply. -->
48+
<!--- Remove this section if not applicable. -->
49+
50+
- [ ] I have added a new component
51+
- [ ] I have modified an existing component
52+
53+
## ⏭ Next Steps
54+
<!---
55+
If there is relevant follow-up work to this PR, please list any existing issues or provide brief descriptions of what you would like to do next.
56+
-->

CONTRIBUTING.md

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# Contributing to AWC
2+
3+
## Getting started
4+
5+
### Machine setup
6+
7+
To work with the AWC [monorepo](https://en.wikipedia.org/wiki/Monorepo) you'll need Git, Node.js, and npm setup on your machine.
8+
9+
AWC uses Git as its source control system. If you haven't already installed it, you can download it [here](https://git-scm.com/downloads) or if you prefer a GUI-based approach, try [GitHub Desktop](https://desktop.github.com/).
10+
11+
Once Git is installed, you'll also need Node.js, which AWC uses as its JavaScript runtime, enabling its build and test scripts. Node.js instructions and downloads for your preferred OS can be found [here](https://nodejs.org/en/).
12+
13+
### Cloning the repository
14+
15+
Now that your machine is setup, you can clone the AWC repository. Open a terminal and run this command:
16+
17+
```shell
18+
git clone https://github.com/adaptive-web/adaptive-web-components.git
19+
```
20+
Cloning via SSH:
21+
22+
```shell
23+
git clone [email protected]:adaptive-web/adaptive-web-components.git
24+
```
25+
26+
### Installing and building
27+
28+
From within the `adaptive-web-components` folder where you've cloned the repo, install all package dependencies and build all workspaces (local dependencies) with this command:
29+
30+
```bash
31+
npm install & npm run build
32+
```
33+
34+
After the initial install, you can re-build all workspaces in the future with:
35+
36+
```bash
37+
npm run build
38+
```
39+
40+
### Developing in `adaptive-web-components`
41+
If you're interested in contributing changes to the `adaptive-web-components` component library, start by navigating to the `packages/adaptive-web-components` directory and starting the Storybook local server there.
42+
43+
```bash
44+
cd packages/adaptive-web-components
45+
npm run start
46+
```
47+
Storybook will automatically open in a browser window at `localhost:6006`.
48+
49+
### Submitting a pull request
50+
51+
If you'd like to contribute by fixing a bug, implementing a feature, or even correcting typos in our documentation, you'll want to submit a pull request. Before submitting a pull request, be sure to [rebase](https://www.atlassian.com/git/tutorials/merging-vs-rebasing) your branch (typically from master) or use the *merge* button provided by GitHub.
52+
53+
### Merging a pull request
54+
55+
If you are merging a pull request, be sure to use the pull request title as the commit title. The title should follow the [conventional commit guidelines](https://www.conventionalcommits.org/). It is recommended that if you are merging in pull requests regularly that you add a browser extension that will auto-correct the title for you. A few that should do this are [Refined GitHub](https://github.com/sindresorhus/refined-github) and [Squashed Merge Message](https://github.com/zachwhaley/squashed-merge-message).
56+
57+
### Recommended Settings for Visual Studio Code
58+
59+
You can use any code editor you like when working with the AWC monorepo. One of our favorites is [Visual Studio Code](https://code.visualstudio.com/). VS Code has great autocomplete support for TypeScript and JavaScript APIs, as well as a rich ecosystem of plugins.
60+
61+
Default VS Code settings for this project are configured as [Workspace settings](https://code.visualstudio.com/docs/getstarted/settings) in the `.vscode` directory. These settings override user settings for the workspace and are configured to ensure consistent code formatting across different environments.
62+
63+
## Contribution policy
64+
65+
A “Contribution” is work voluntarily submitted to a project. This submitted work can include code, documentation, design, answering questions, or submitting and triaging issues.
66+
67+
## Guiding principle
68+
69+
Owners, the steering committee, collaborators, code owners, and contributors work in concert with one another on behalf of the AWC community and prioritize the community's interests over their own.
70+
71+
The development, release, and work management processes must reflect this principle. Accepting contributions to the project requires a review by collaborators.
72+
73+
## Governance
74+
75+
### Owners
76+
77+
*Owners* have admin access and are responsible for the management, maintenance, and operations of the FAST repository.
78+
79+
### Steering committee
80+
81+
*Steering committee* members are key *collaborators* who have demonstrated design or technical expertise critical to driving the FAST project and community forward.
82+
83+
* Aaron Wentzel
84+
* Brian Heston
85+
* Jason Falk
86+
* Rob Eisenberg
87+
* Nathan Brown
88+
89+
### Collaborators
90+
91+
*Collaborators* have write access and have an active and sustained impact on the project and participate in triaging issues, reviewing code, mentoring, and working to improve the architectural quality.
92+
93+
### Code owners
94+
95+
As subject matter experts, *code owners* approve pull requests on the packages they own. There is a required minimum of one code owner for each package. *Code owners* are listed in [CODEOWNERS](https://github.com/adaptive-web/adaptive-web-components/blob/master/.github/CODEOWNERS).
96+
97+
### Contributors
98+
99+
*Contributors* have read access and can be anyone who has contributed a completed pull request to the project.
100+
101+
### Nominations & appointments
102+
103+
* To become a *contributor*, a community member must have a pull request approved and merged into the FAST project master branch.
104+
* To become a *collaborator*, a *contributor* will petition the *steering committee*, who will approve or deny the request.
105+
* To become a *code owner*, a *collaborator* will be (a) nominated by a *steering committee* member or (b) petition the *steering committee*, who will approve or deny the request.
106+
* To join the *steering committee*, a *collaborator* will be nominated by a *steering committee* member and the *steering committee*, who will approve or deny the request.
107+
108+
## Acceptance and consensus seeking process
109+
110+
Acceptance of contributions follows the consensus-seeking process.
111+
112+
All pull requests must be approved by an assigned *collaborator* before the pull request can be accepted. A *collaborator* will be assigned to a pull request within [a reasonable period of time](#response-time) of the pull request creation. The assignee will be responsible for:
113+
114+
1. Reviewing the pull request if they are not the creator of it
115+
2. Adding any additional reviewers to review at their discretion
116+
3. Ensuring the pull request is given feedback in [a reasonable period of time](#response-time) from *collaborators* or *code owners* with the expertise to evaluate the changes
117+
4. Merging the pull request
118+
119+
When a pull request : (a) has a significant impact on the project, (b) is inherently controversial, or (c) has not reached consensus with *collaborators*; add a "status:controversial" label to the pull request for the *steering committee* to review the pull request. Pull requests labeled with "status:controversial" are not approved until the *steering committee* reviews the issue and makes a decision.
120+
121+
Additionally, *owners* can temporarily enable [interaction limits](https://help.github.com/articles/limiting-interactions-with-your-repository/) to allow a "cool-down" period when hot topics become disruptive.
122+
123+
Specific *collaborators* or *code owners* can be added to a pull request by including their user alias in the "Reviewers" section.
124+
125+
### Response time
126+
127+
The amount of time can vary but at least 3 days during the typical working week and 5 days over weekends should be given to account for international time differences and work schedules. This is considered a reasonable period of time.
128+
129+
## Developer's Certificate of Origin 1.1
130+
131+
By making a contribution to this project, I certify that:
132+
133+
* a. The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
134+
* b. The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
135+
* c. The contribution was provided directly to me by some other person who certified (a), (b), or (c) and I have not modified it.
136+
* d. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
137+
138+
## Resources
139+
140+
Several open source projects have influenced our contribution policy:
141+
142+
* [Project Governance @Node](https://nodejs.org/en/about/governance/)
143+
* [Contributions @Node](https://github.com/nodejs/node/blob/master/CONTRIBUTING.md)
144+
* [Open Source @GitHub](https://github.com/blog/2039-adopting-the-open-code-of-conduct)
145+
* [Open Source examples @todogroup](https://github.com/todogroup/policies)

0 commit comments

Comments
 (0)