A curated set of best practices, theories and tools for developers.
Best practices are constantly changing and if you have ever found yourself thinking "I should do this for my other projects", then this repo is for you!
The format of this guide will be to mimic a development workflow process and provide the theory, tool and enforcement for each step. Each part of the workflow is dictated by the following principles:
- Thorey (Best Practices or Standards)
- Utility (Resources & Tools)
- Enforcement (CI/CD)
Arguably the most critical component to maintain consistancy within and amongst projets is having a written refrence/guide/standards/thorey/convention. All the tools will stem from the thorey to simplify the implementation.
Once a theory has been written down and can be refrefrenced it is not practical to have to memorize all the nuancies. This is where utilities come into play, a utility is simply a tool that can be used by developers to adhear to the guiding principles while developing.
This final principal is intended to be implemented at a project level that can ensure a project maintains consistancy between contributors.
Establishing a workflow prior to diving into a project goes a long ways. The workflow folder provides some information on things to consider such as versioning.
Agnostic of the language, framework or platform, most projects are going to be tied togeather by the usage of git. By properly settingup git projects can properly leverage all the CI/CD tools available on repository management sites such as GitHub.
Integration Script - git_setup.sh
Formatting standards should follow Conventional Commits
Tools: conventional-commit enforce-git-message
Enforcement: Commister CI
Everyon's favorite part of development is creating well formatted, useful documentation. Documentation can be split into two categories, internal and external.
Convention For Standard README.md
Any documentation that is intended to be consumed by the developer(s).
Tools: auto-changelog
Any documentation that will be refrenced by external users, example of this documention includes API and guides.
API Documentation Generator slatedocs