Skip to content

Commit 3ae34e5

Browse files
committed
docs: integrate UC OSPO community health templates and guides
1 parent fff77f4 commit 3ae34e5

File tree

6 files changed

+654
-126
lines changed

6 files changed

+654
-126
lines changed

CONTRIBUTING.md

Lines changed: 209 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,217 @@
1-
# Contributing to the UC OSPO Education Website
1+
# CONTRIBUTING
22

3-
We welcome contributions to the UC OSPO Education Website! This project aims to provide a welcoming and accessible platform for learners interested in open source.
3+
[TODO: rename this file to `README.md`; i.e. remove the template reference]
44

5-
This guide will help you get started with contributing to this project.
5+
This is a template document for UC projects can use to help build the documentation in your project repos. It requires editing before it is ready to use, and you can find guides for using these templates on [our website](https://ucospo.net/oss-resources/#template-guides). Please feel free to [reach out to our Laura](mailto:[email protected]), our Community Manager, if you have any questions!
66

7-
## Code of Conduct
7+
Search for the word `TODO` in this template to identify parts that require customization; e.g. line 3 above lets you know you should rename this file.. When you finish editing the template, remove the `TODO` bits.
8+
9+
[TODO: delete the lines between line 1 and the "Welcome" heading]
10+
11+
## Welcome!
12+
13+
[TODO: edit welcome text below]
14+
15+
Welcome! We're glad you want to contribute to our project! 💖
16+
17+
As you get started, you're in the best position to give us feedback on areas of our project that we need help with including:
18+
19+
* Problems found during setting up a new developer environment
20+
* Gaps in our Quickstart Guide or documentation
21+
* Bugs in our automation scripts
22+
23+
If anything doesn't make sense, or doesn't work when you run it, please open a bug report and let us know!
24+
25+
## Table of Contents
26+
27+
[TODO: edit the Table of Contents]
28+
29+
* [Ways to Contribute](#ways-to-contribute)
30+
* [Come to Community Calls](#come-to-community-calls)
31+
* [Finding an Issue](#finding-an-issue)
32+
* [Setting Up a Dev Environment](#setting-up-a-dev-environment)
33+
* [Running Tests](#running-tests)
34+
* [Asking for Help](#asking-for-help)
35+
* [Norms for Commits](#norms-for-commits)
36+
* [Pull Request Lifecycle](#pull-request-lifecycle)
37+
* [Code of Conduct](#code-of-conduct)
38+
39+
## Ways to Contribute
40+
41+
[TODO: edit this to reflect the kinds of contributions you'd like to receive for your project]
42+
43+
We welcome many different types of contributions, including:
44+
45+
* New features
46+
* Builds, CI/CD
47+
* Bug fixes
48+
* Documentation
49+
* Issue Triage
50+
* Answering questions on Slack/Mailing List
51+
* Web design
52+
* Communications/Social Media/Blog Posts
53+
* Release management
54+
55+
Not everything happens through a GitHub pull request. Please come to our meetings](TODO) or [contact us](/UC-OSPO-Network/templates/blob/d8ba9301beb523c10a7195ddf0fb70a068312022/TODO) and let's discuss how we can work together.
56+
57+
## Come to Community Calls
58+
59+
[TODO: Maybe your project doesn't have [community calls](https://opensource.com/open-organization/16/1/community-calls-will-increase-participation-your-open-organization), in which case you can omit this section. But you might consider trying them out!]
60+
61+
Anyone interested in our project is welcome to come to any of [our community calls](TODO: add a link to your community calls)! You never need an invite to join us. In fact, we want you to join us, even if you don’t have anything you feel like you want to contribute. Just being there is enough!
62+
63+
You don’t have to turn on your video. The first time you come, just introducing yourself is perfectly fine. Over time, we hope that you feel comfortable voicing your opinions, giving feedback on others’ ideas, and even sharing your own ideas, and experiences.
64+
65+
## Finding an Issue
866

9-
Please note that this project is released with a [Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project, you agree to abide by its terms.
10-
11-
## How to Contribute
12-
13-
There are many ways to contribute, not just by writing code:
14-
15-
* **Reporting Bugs:** If you find a bug, please open an [issue](https://github.com/UC-OSPO-Network/education/issues) and describe the problem in detail.
16-
* **Suggesting Enhancements:** Have an idea for a new feature or improvement? Open an [issue](https://github.com/UC-OSPO-Network/education/issues) to discuss it.
17-
* **Writing Documentation:** Improving our documentation (guides, explanations, examples) is always welcome.
18-
* **Submitting Code:**
19-
1. **Fork** the repository.
20-
2. **Clone** your forked repository to your local machine.
21-
```bash
22-
git clone https://github.com/YOUR_GITHUB_USERNAME/education.git
23-
cd education
24-
```
25-
3. **Install dependencies**:
26-
```bash
27-
npm install
28-
```
29-
4. **Create a new branch** for your feature or bug fix:
30-
```bash
31-
git checkout -b feature/your-feature-name
32-
# or
33-
git checkout -b bugfix/issue-description
34-
```
35-
5. **Make your changes**.
36-
6. **Run the development server** to preview your changes:
37-
```bash
38-
npm run dev
39-
```
40-
7. **Test your changes**: Ensure everything works as expected and doesn't introduce new bugs.
41-
8. **Commit your changes** with a clear and concise commit message. Follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) guidelines (e.g., `feat: add new filter option`, `fix: correct typo on homepage`).
42-
```bash
43-
git add .
44-
git commit -m "feat: your commit message"
45-
```
46-
9. **Push your branch** to your forked repository:
47-
```bash
48-
git push origin feature/your-feature-name
49-
```
50-
10. **Open a Pull Request (PR)** to the `main` branch of the original repository.
51-
* Provide a clear title and description for your PR.
52-
* Reference any related issues (e.g., `Closes #123` or `Fixes #123`).
53-
54-
## Development Setup
55-
56-
### Local Development
57-
58-
1. **Clone the repository:**
59-
```bash
60-
git clone https://github.com/UC-OSPO-Network/education.git
61-
cd education
62-
```
63-
2. **Install dependencies:**
64-
```bash
65-
npm install
66-
```
67-
3. **Start the development server:**
68-
```bash
69-
npm run dev
70-
```
71-
This will start a local server, usually at `http://localhost:4321`.
72-
73-
### Build for Production
74-
75-
To build the project for production, run:
76-
77-
```bash
78-
npm run build
67+
[TODO: edit this section as needed]
68+
69+
We have good first issues for new contributors and help wanted issues suitable for any contributor. [good first issue](/UC-OSPO-Network/templates/blob/d8ba9301beb523c10a7195ddf0fb70a068312022/TODO) has extra information to help you make your first contribution. [help wanted](/UC-OSPO-Network/templates/blob/d8ba9301beb523c10a7195ddf0fb70a068312022/TODO) are issues suitable for someone who isn't a core maintainer and is good to move onto after your first pull request.
70+
71+
Sometimes there won’t be any issues with these labels. That’s ok! There is likely still something for you to work on. If you want to contribute but you don’t know where to start or can't find a suitable issue, you can [TODO: explain how people can ask for an issue to work on].
72+
73+
Once you see an issue that you'd like to work on, please post a comment saying that you want to work on it. Something like "I want to work on this" is fine.
74+
75+
## Setting up a Dev Environment
76+
77+
[TODO: edit the steps provided for what's needed for your project]
78+
79+
Clone the project:
80+
81+
```shell
82+
git clone yourprojecturl
83+
```
84+
85+
Install dependencies:
86+
87+
```shell
88+
install command
7989
```
8090

81-
This will generate the static files in the `dist/` directory.
91+
## Running Tests
92+
93+
[TODO: Describe the process you use to test code in your project]
94+
95+
1. Step one
96+
2. Step two
97+
98+
## Asking for Help
99+
100+
The best way to reach us with a question when contributing is to ask on:
101+
102+
[TODO: Pick the way(s) that you prefer people ask for help]
103+
104+
* The original Github issue
105+
* The developer mailing list
106+
* Our Slack channel
107+
108+
## Norms for Commits
109+
110+
[TODO: edit this section to reflect what's needed for your project]
111+
112+
Our project uses [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), and we require [commit signing](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits). Please let us know if you need help with these!
113+
114+
## Pull Request Lifecycle
82115

83-
## Getting Help
116+
[TODO: Edit the text below to describe your pull request process. You don't need to adopt every aspect! Pick and choose what makes sense for *your* project]
117+
118+
### Before You Submit
119+
120+
When you submit your pull request, or you push new commits to it, our automated systems will run some checks on your new code. We require that your pull request passes these checks, but we also have more criteria than just that before we can accept and merge it. We recommend that you check the following things locally before you submit your code:
121+
122+
* First thing to check
123+
* Another thing to check
124+
125+
#### When to Submit
126+
127+
Submit your pull request when you have a working implementation that addresses the issue or feature request. Your code should be tested and ready for review, even if you're open to suggestions for improvements.
128+
129+
#### Draft vs. Ready PRs
130+
131+
* Use **Draft PRs** when your work is incomplete or you want early feedback on your approach
132+
* Convert to **Ready for Review** when your implementation is complete and tested
133+
* Mark as ready even if you expect minor changes during review
134+
135+
#### Branch Strategy
136+
137+
Create a feature branch from the latest `main` branch. Use descriptive branch names like `feature/add-user-authentication` or `fix/memory-leak-in-parser`.
138+
139+
### Submission Process
140+
141+
#### PR Scope
142+
143+
We prefer **small, focused pull requests** that address a single issue or implement one feature. Large PRs are harder to review and more likely to conflict with other changes. If your feature is large, consider breaking it into multiple PRs.
144+
145+
#### Signaling Readiness
146+
147+
* Remove "Draft" status when ready for review
148+
* Ensure all CI checks are passing
149+
* Include a clear description of what the PR does and why
150+
* Link to relevant issues using "Fixes #123" or "Addresses #456"
151+
152+
### Review Process
153+
154+
**Initial Review Timeline**: Expect an initial review within **3-5 business days**. Complex PRs may take longer.
155+
156+
**Follow-up Reviews**: After addressing feedback, expect follow-up reviews within **2-3 business days**.
157+
158+
#### Requesting Reviews
159+
160+
* After pushing changes, add a comment like "Ready for re-review" or "@mention" specific reviewers
161+
* If your PR hasn't been reviewed after the expected timeline, add a polite comment requesting status
162+
* For urgent fixes, mention the urgency in your comment
163+
164+
### Handling Common Situations
165+
166+
#### Stalled Pull Requests
167+
168+
If your PR appears stalled:
169+
170+
1. First, check if all feedback has been addressed
171+
2. After 1 week of no activity, add a polite comment requesting status
172+
3. If still no response after another week, reach out via [preferred communication channel]
173+
174+
#### Abandoned Pull Requests
175+
176+
If you can no longer continue work on your PR:
177+
178+
* Comment on the PR explaining the situation
179+
* Maintainers may either:
180+
* Take over the PR and push additional commits to complete it
181+
* Close the PR and create a new issue for others to pick up
182+
* Close the PR if the change is no longer needed
183+
184+
#### Follow-up Work
185+
186+
* Small follow-up changes should be addressed in the same PR when possible
187+
* Larger follow-ups or new issues discovered during review should be handled in separate issues/PRs
188+
* Use "TODO" comments sparingly and create follow-up issues for any deferred work
189+
190+
### After Your PR is Merged
191+
192+
**Release Timeline**: Merged pull requests are included in the next release, which typically happens:
193+
194+
* **Patch releases**: Every 2-4 weeks for bug fixes
195+
* **Minor releases**: Every 1-3 months for new features
196+
* **Major releases**: As needed for breaking changes
197+
198+
#### Release Process
199+
200+
After merge, your changes will:
201+
202+
1. Be available immediately in the `main` branch
203+
2. Go through additional testing in our staging environment
204+
3. Be included in the next scheduled release
205+
4. Be documented in the changelog with attribution
206+
207+
#### Staying Updated
208+
209+
Watch the repository to be notified when your contributions are released. We'll also tag you in release notes when your PR introduces significant changes.
210+
211+
---
212+
213+
*Questions about the PR process? Feel free to ask in the issue comments, discussions, or reach out to the maintainers directly.*
214+
215+
## Code of Conduct
84216

85-
If you have any questions or get stuck, please open an [issue](https://github.com/UC-OSPO-Network/education/issues), and we'll do our best to help you out!
217+
Please read our [Code of Conduct](TODO: link to your project's CoC)

LICENSE

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,38 @@
1-
MIT License
2-
3-
Copyright (c) 2025 UC OSPO Network
4-
5-
Permission is hereby granted, free of charge, to any person obtaining a copy
6-
of this software and associated documentation files (the "Software"), to deal
7-
in the Software without restriction, including without limitation the rights
8-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9-
copies of the Software, and to permit persons to whom the Software is
10-
furnished to do so, subject to the following conditions:
11-
12-
The above copyright notice and this permission notice shall be included in all
13-
copies or substantial portions of the Software.
14-
15-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
SOFTWARE.
1+
[TODO: rename this file to `license.txt`; i.e. remove the template reference]
2+
3+
This is a template document for UC projects can use to help build the documentation in your project repos. It requires editing before it is ready to use, and you can find guides for using these templates on [our website](https://ucospo.net/oss-resources/#template-guides). Please feel free to [reach out to our Laura](mailto:[email protected]), our Community Manager, if you have any questions!
4+
5+
Search for the word `TODO` in this template to identify parts that require customization; e.g. line 3 above lets you know you should rename this file.. When you finish editing the template, remove the `TODO` bits.
6+
7+
IMPORTANT: WE'VE INCLUDED THE BSD 3-CLAUSE LICENSE BELOW, BUT THIS DOESN'T CONSTITUTE LEGAL ADVICE AND YOU SHOULD CHECK WITH YOUR CAMPUS'S TECH TRANSFER OFFICE TO SEE WHAT THE BEST OPTIONS ARE FOR YOUR PROJECT. You can also check out a list of [UC-approved licenses](https://security.ucop.edu/resources/open-source-software-licensing.html) provided by the UC Office of the President.
8+
9+
[TODO: delete the lines above the "BSD 3-Clause License]
10+
11+
BSD 3-Clause License
12+
13+
Copyright (c) 2025, UC OSPO Network
14+
15+
Redistribution and use in source and binary forms, with or without
16+
modification, are permitted provided that the following conditions are met:
17+
18+
1. Redistributions of source code must retain the above copyright notice, this
19+
list of conditions and the following disclaimer.
20+
21+
2. Redistributions in binary form must reproduce the above copyright notice,
22+
this list of conditions and the following disclaimer in the documentation
23+
and/or other materials provided with the distribution.
24+
25+
3. Neither the name of the copyright holder nor the names of its
26+
contributors may be used to endorse or promote products derived from
27+
this software without specific prior written permission.
28+
29+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
30+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
32+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
33+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
36+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
37+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)