https://blog-silas.vercel.app/posts/how-to-use-semantic-commits/