How you write your code is probably different for everyone, but over the years, I have developed a system that has proved itself useful for a couple of years now and makes things super simple for organizing. Here is my home directory source tree setup with some short descriptions of each location:

├── .sh.d
├── src
│   ├──
│   └──
├── .gitconfig
├── .gitconfig-personal
├── .gitconfig-work

Overall, my pattern has been to keep work in the and my public projects in Pesonal projects are also kept in but that is a preference of mine as I am not writing any software that is making any money. If that were the case, I would be using a separate computer and not the company’s property to create the product.

  • Mkdocs

    If you are okay with MarkDown, writing software, and documentation, then I highly suggest using MkDocs. This Python based project starts with a mkdocs.yml file to describe the project, navigation, options, theme, and plugins.

  • Gitconfig

    splitting the config Gitconfig is a interesting file when you are able to use an if statement based on the directory of a project. Below is my tree for projects that both define personal and professional configurations.