Over the last few decades of developing software, we have gained valuable insights into best practices and standards. The following are our internal software development guidelines, which we are sharing with the world. Where possible, we are releasing this content under Creative Commons license. For derivative works, we have followed the licensing guidelines of the original work. Refer to the license on the footer of each page for licensing details.
DS-0001 Conventional Commits
Overview Conventional Commits is a widely adpoted standard way of writing a commit message.
Before proceeding further, please peruse the full spec from the Conventional Commits offical website.
The short summary of a conventional commit message is:
<type>[(scope)][!]: <description> <blank line> [body] <blank line> [footer(s)] Types This DS-0001 standard recommends the use of the following types:
build: Changes that affect the build system or external dependencies chore: A code change that is neither a feat or a fix (example: bumping versions of dependencies) ci: Changes to CI configuration files and scripts docs: Documentation only changes feat: A new feature fix: A bug fix perf: A code change that improves performance refactor: A code change that neither fixes a bug nor adds a feature revert: A commit that reverts a previous commit style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) test: Adding missing tests or correcting existing tests wip: Indicates this commit is a Work-In-Progress Scopes Every repo should have a list of scopes clearly defined in the repo’s README file.