A collection of documentation on project contribution guidelines and general adopted practices. This project itself should conform to these guidelines.
#Project Contribution ##Branching Model All projects will follow the gitflow branching model, using gitflow.
##Project Creation
- Clone the repository.
- Initialize git flow:
git flow init -d
#Development
Features must be named in the format: feature/feature-name
this can be achieved without gitflow, but using gitflow makes it that much easier.
- Create a new feature:
git flow feature start new-feature
- Do your work, commit as needed.
- Publish the feature:
git flow feature publish new-feature
- Submit a pull request.
- When good, merge or:
git flow feature finish new-feature
Completing a feature will merge it into the develop
branch which is used for integration purposes.
The master
branch is used for production code.
##Code Specific Guidlines specific to different programming languages and frameworks are found at thier respective pages:
- RUBY.md
#Testing Test all the things. More to come...
#Documentation
"Where is documentation?"
- Projects must include a
CHANGELOG.md
file to document changes, see this project's for formatting guidlines. - Projects must include a
VERSION
file to record the semanitc version number.
#Releasing Release names should follow the semantic versioning protocol:
- Start a release:
git flow release start 1.0.1
- Commit version bump, final tweaks and changelog updates.
- Finish a release:
git flow release finish 1.0.1
- Deploy
master
branch.
#Conforming
To mark a project as conforming with these guidelines in your own documentation simply plop this little snippet in your README.md
file:
##Contribution Guidelines
This project conforms to the [neverstopbuilding/craftsmanship](https://github.com/neverstopbuilding/craftsmanship) guidlines. Please see that repository for details on project administration.