This document plans to outline the following for all contributers of the Flameboi Slack API. Please follow these guidelines to the best of your knowledge and understanding, and feel free to ask @stucamp or @KevinThePepper if you have any questions or need help!
- Chain of Command
- Git Flow Overview
- Workflow Contribution Requirements
- Workflow Examples
- Quality of Code Requirements
- Git Cheatsheet
- Good Resources
The Flameboi Slack API project managers are Stu Campbell (@stucamp) and Kevin Shelley (@KevinThePepper). They control the day-to-day opperation of this project, with oversight and policy ditacted by the CodeDevil Officers.
To see your CodeDevil officers, visit the #about channel of the CodeDevils Slack.
Overall, the git flow is relaxed and laidback. You, as a contributer, have lots of wiggle room to make your own inputs in your commits to this repo. Forking is not neccesary - use the origin repo's branches for your own code bases. You have full control over your own development branches and git flow. That said, there are some general guidelines you need to follow.
The dev branch contains the latest source code for the Flameboi Slack API. It is a protected branch, and is the default branch you will submit pull requests to when submitting your contributions.
The master branch is the production code that Flameboi is currently opperating on. Whatever is in master is what will be on Slack. Pull requests from dev to master will only be intiated and managed by the project manager(s).
Observe the following in your git flow:
- 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!
- Your personal development branches must start with your name and be consistent. E.g.,
bobby-dev
,bobby-new-feature-here
- Though there is no limit to the number of reviewers you request, your pull requests to dev must at least include all the project managers.
- Comment in your code following the functionality and process within it.
My name is Marlee, and I noticed a mispelling in the README.
I would create a branch called
marlee-hotfix
, make the correction, then submit a pull request todev
making sure to request review from @stucamp and @KevinThePepper.
Good job Marlee!
My name is Clyde, and I'm working with Darryl on a sweet new command that allows something to do with calendars.
I would checkout a new branch entitled
calendar-dev
, acting as the default branch for the calendar between me and Darryl, making sure to keep it updated withdev
. Me and Darryl would then have our own branches whatever we want to call them following the guideline, saydarryl-calendar
andclyde-dev
. We push and pull fromcalendar-dev
for development.When our cool new command is done, making sure to pull
calendar-dev
fromdev
so that there are not merge conflicts, I would then make a pull request ondev
. Billy-Bob is good with calendars, so I would like his review too. I would request review from @BillyBobUSA along with the project managers @stucamp and @KevinThePepper.
Nicely done boys!
TODO - TBD by Stu and/or Kev
git checkout existing-branch
git checkout -B your-new-branch
git push origin destination-branch
Pro tip: add -u
to skip the naming of the branch in future pushes.
git fetch && git pull
git fetch ; git merge target-branch
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).
Installing Git - https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Git Basics - https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository