Skip to content

Commit 8928e07

Browse files
authored
Update/98/update contribution guide (#100) (#101)
* Updates to Contributing.md * Changes again * Adding new lines between branch examples
1 parent 612d8a0 commit 8928e07

1 file changed

Lines changed: 30 additions & 67 deletions

File tree

.github/CONTRIBUTING.MD

Lines changed: 30 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ This document plans to outline the following for _all_ contributors of the CodeD
77
1. [Chain of Command](#chain-of-command)
88
1. [Git Flow](#git-flow)
99
- [Workflow Overview](#Overview)
10-
- [Workflow Contribution Requirements](#contribution-requirements)
11-
- [Workflow Examples](#workflow-examples)
10+
- [Available Issues](#Available-Issues)
11+
- [Issue Branch](#Issue-Branch)
12+
- [Commits and Pull Requests](#commits-and-pull-requests)
13+
- [Main vs Dev Branch](#main-vs-dev-branch)
1214
1. [Setup Development Environment](#setup-development-environment)
13-
1. [Git Cheatsheet](#git-cheatsheet)
1415
1. [Other Resources](#other-resources)
1516

1617
---
@@ -19,9 +20,9 @@ This document plans to outline the following for _all_ contributors of the CodeD
1920

2021
# Chain of Command
2122

22-
The CodeDevils Website project managers are Ian Castellanos ([@IMBCIT](https://github.com/imbcit)). He controls the day-to-day operation of this project, with oversight and policy dictated by the CodeDevil Officers.
23+
The CodeDevils Website project managers are Pita Sherwood ([@PitaFLAME](https://github.com/PitaFLAME)) and Frankie Lin ([@frankjlin16](https://github.com/frankjlin16)). They control the day-to-day operation of this project, with oversight and policy dictated by the CodeDevil Officers.
2324

24-
> To see your CodeDevil officers, visit the `#info` channel in the CodeDevils Discord server.
25+
> To check out the projects and project leads, check out codedevils.org/projects
2526
2627
<br/>
2728

@@ -31,45 +32,44 @@ Forking is not necessary - use the origin repo's branches for your own code base
3132

3233
## Overview
3334

34-
#### Personal Branch
35+
#### Available Issues
3536

36-
This is your own branch. You can call it whatever you want locally and push it into the remote repository. Your working commits will be on this branch and when you are ready to create a pull request (PR) for a specific GitHub issue you will use your personal branch for that PR.
37+
When you want to work on the project, start with the GitHub Issues page. This is where we'll post available work for contributors. Each issue will have difficulty and field tags, as well as what the actual changes will entail.
3738

38-
#### Main Branch
39+
If you see an issue that you'd like to work on, go to the issue and comment on it saying that you'd like to work it. If you've done that, you've essentially 'claimed' the issue. The project lead will assign the issue to you, and you can begin working on the issue!
3940

40-
The `main` branch is the _production code_ that CodeDevils Website is currently operating on. Whatever is in `main` is what will be on the internet. PRs from personal branches to `main` will **require an approved code review from a project manager**.
41+
#### Issue Branch
4142

42-
## Contribution Requirements
43+
When you have an issue that you are working, you must start by creating an Issue Branch. When naming the branch, follow this naming convention:
44+
``` <TYPE>/<ISSUE-ID>/<SHORT-DESCRIPTION> ```
4345

44-
Observe the following in your git flow:
46+
Your branch's TYPE must be one of the following:
47+
- Fix - for issues that address errors, bugs, or broken things
48+
- Update - for changes and maintenance
49+
- Feature - for issues that request new content
50+
- Refactor - for issues that optimize the code
51+
- Style - for issues that make the code more readable, clean, or otherwise pretty
4552

46-
- Make an Issue prior to working on your code. We don't want you to work on something that is actually banned or already implemented!
47-
- Your personal development branches must start with your name and be consistent. E.g., `bobby-dev`, `bobby-new-feature-here`
48-
- Though there is no limit to the number of reviewers you request, your pull requests to `main` **must** at least include **a project manager**.
49-
- Comment in your code following the functionality and process within it.
50-
- Make sure that you have tested your code using your personal AWS account and personal Slack development bot. Be sure to include in your PR a link to a screen capture of you testing your feature. **NO CODE WILL BE APPROVED WITHOUT BEING TESTED FIRST**.
53+
Some example branch names:
5154

52-
## Workflow Examples
55+
```refactor/102/optimize-api-code```
5356

54-
### Marlee's Quick Patch (Simple)
57+
```feature/89/add-welcome-section```
5558

56-
> My name is Marlee, and I noticed a misspelling in the README.
57-
>
58-
> I would create a GitHub issue for this, then create a branch called `marlee-hotfix`, make the correction, then submit a pull request to `main` making sure to request review from [@IMBCIT](https://github.com/imbcit).
59+
```fix/110/fix-org-link ```
5960

60-
Good job Marlee!
6161

62-
### Clyde & Darryl's Calendar (Collab)
62+
#### Commits and Pull Requests
6363

64-
> My name is Clyde, and I'm working with Darryl on a sweet new command that allows something to do with calendars.
65-
>
66-
> I would create a GitHub issue for the new feature, then checkout a new branch entitled `calendar-dev`, acting as the default branch for the calendar between Darryl and I, making sure to keep it updated with `main`. Darryl and I would then have our own branches whatever we want to call them following the guideline, say `darryl-calendar` and `clyde-dev`. We push and pull from `calendar-dev` for development.
67-
>
68-
> When our cool new command is done, _making sure to pull `calendar-dev` from `main` so that there are not merge conflicts_, I would then make a pull request on `main`. Billy-Bob is good with calendars, so I would like his review too. I would request review from `@BillyBobUSA` along with a project manager such as [@IMBCIT](https://github.com/imbcit).
64+
After you have finished working on an Issue and you have a finished version of your code, commit it to your branch, and create a Pull Request to merge your Issue Branch to `dev`.
6965

70-
Nicely done!
66+
To the best of your ability, please try to keep the commits to your Issue Branch as few as possible. If there end up being a lot of commits on your branch, please squash them before you create your Pull Request.
7167

72-
---
68+
#### Main vs Dev Branch
69+
70+
The `main` branch is the _production code_ that CodeDevils Website is currently operating on. Whatever is in `main` is what will be on the internet. Contributors should never make a Pull Request to merge directly to `main`.
71+
72+
The `dev` branch is where all Pull Requests should point to. When creating a new branch, stem from `dev`. When creating a Pull Request, merge to `dev`. After enough time, or after a sprint, the changes in `dev` will be merged to `main` by the Project Lead.
7373

7474
<br/>
7575

@@ -126,43 +126,6 @@ pnpm dev
126126

127127
<br/>
128128

129-
# Git Cheatsheet
130-
131-
#### Checkout Existing Branch
132-
133-
```
134-
git checkout existing-branch
135-
```
136-
137-
#### Checkout a New Branch
138-
139-
```
140-
git checkout -B your-new-branch
141-
```
142-
143-
#### Push to Repo
144-
145-
```
146-
git push origin destination-branch
147-
```
148-
149-
Pro-tip: add `-u` to skip the naming of the branch in future pushes.
150-
151-
#### Update Current Branch from Repo
152-
153-
```
154-
git fetch && git pull
155-
```
156-
157-
#### Update Current Branch from Target Branch
158-
159-
```
160-
git fetch ; git merge target-branch
161-
```
162-
163-
Use Case: Your development branch (current branch) is behind `dev` and you want to update your branch with the code from `dev` (or some other target branch).
164-
165-
---
166129

167130
## Other Resources
168131

0 commit comments

Comments
 (0)