Skip to content

Setup your repo with a README complete with relevant badges for your tools, license, tracking dependencies and file structure clearly highlighting my best practices for development and deployment workflows | DRY - lazy programmer

License

Notifications You must be signed in to change notification settings

NdagiStanley/repo-boiler-plate

Repository files navigation

repo-boiler-plate

This is a boilerplate you can use to have your repo set with my best practices: a README, git workflows, necessary tools, dependencies, file structure etc.

You can create a repo out of this template.

Otherwise for a repo you've already started; here's a simple command to run at the root of your repository. (Please, ensure you commit your code before doing so. By that I mean; nothing should be in the staging area of git before running this so that you can much more easily decide which changes you are pulling in)

git clone https://github.com/NdagiStanley/repo-boiler-plate/.git && rm -rf repo-boiler-plate.git && cp -r repo-boiler-plate/. . && rm -rf repo-boiler-plate

GIT

Workflows:

  • main (Simple solo project)
  • main - dev (Low complexity project with collaborators)
  • main - staging - develop (Standard project)
  • main - staging - develop - feature-review-... (Highly complex project)

Branch naming conventions:

  • task/...
  • fix/... or fx-..
  • feat/... or ft-..

Or use branch names generated by your Project Management tool or issue tracker of choice.

Necessary Tools

A bad workman blames his tools!

Nonetheless, I advocate for "build your tooling so that it in hand builds you".

Below is my tooling. You can use it as is or modify it to suit your needs.

Contained herein are Markdown badges. These badges (seen when you collapse the sections below) are corresponding with the tooling needed. Upon cloning the repo you simply edit the service's username and repo-name or project-name and where applicable, the branch-name.

General

Continuous Integration with AppVeyor, CircleCI, GitHub actions, Netlify, SemaphoreCI etc.
Code quality analysis with Code Climate
Licensing
Containerization with Docker
Documentation on Read the Docs

Matters open-source on GitHub

  • torvalds/linux

    GitHub commit activity

  • NdagiStanley/vue-django

    GitHub issues GitHub stars GitHub forks

    GitHub contributors GitHub release Open Collective backers

Packaging

In general, SemVer - Semantic Versioning should be adhered to
Python packages on PyPI
Packaging in NPM
Packaging in VS Marketplace

Dependencies

Dependencies across different language stacks

I use Dependabot, David DM, Libraries and Requires

Vulnerabilities on Snyk

Files

curl https://raw.githubusercontent.com/NdagiStanley/repo-boiler-plate/main/.editorconfig > .editorconfig
curl https://raw.githubusercontent.com/NdagiStanley/repo-boiler-plate/main/netlify.toml > netlify.toml

cspell

touch cspell-wordlist.txt && curl https://raw.githubusercontent.com/NdagiStanley/repo-boiler-plate/main/cspell.json > cspell.json
  • .circleci/config.yml file for CircleCI located at root of your repository

  • .dependabot/config.yml file for Dependabot located at root of your repository (on the default branch)

  • .editorconfig file, located at the root of the repo. Used to help contributors define and maintain consistent coding styles between different editors and IDEs

  • .gitignore file. Works with my .gitignore_global file.

    Speaking of .gitignore, find the default .gitignore files here. For example, the extensive .gitignore for Python projects is at https://github.com/github/gitignore/blob/main/Python.gitignore, hence: (Others: Node, Go, Rust, Ruby in place of Python in the script)

    curl https://raw.githubusercontent.com/github/gitignore/main/Python.gitignore > .gitignore

References:

About

Setup your repo with a README complete with relevant badges for your tools, license, tracking dependencies and file structure clearly highlighting my best practices for development and deployment workflows | DRY - lazy programmer

Topics

Resources

License

Stars

Watchers

Forks