Project notes

Berlin, Germany

In almost every project I work on, I take notes in Markdown files, keep track of small lists of things that need to be done, or create small scripts - and most of these are not important enough to find their way into a journal, an issue tracker, or version control.

I have observed developers who keep these files untracked within or in a separate directory outside of the project. I keep these files within the project. This way, they are always in reach.

In 2014, Jetbrains introduced the Scratch Files feature.

However, there’s something better that you might have been using already and does not depend on features provided by your IDE: a global .gitignore file.

If you are not using a global .gitignore file yet, run

$ touch ~/.gitignore_global

to create it and

$ git config --global core.excludesfile ~/.gitignore_global

to configure git to use it.

Add the following to .gitignore_global

diff --git a/.gitignore_global b/.gitignore_global
index f32e31a..2e2d2c0 100644
--- a/.gitignore_global
+++ b/.gitignore_global
@@ -1,2 +1,3 @@
 .idea/
+.notes/
 .DS_Store

to ignore a .notes directory in any project that is under version control with git.

For example, for a project I’m currently working on, my .notes directory currently looks like this:

.notes
├── XYZ-123         # sub-directory for issue XYZ-123
│   ├── commits.md  # list of commit hashes kept as a backup
│   ├── test.php    # small script for prototyping
│   └── todo.md     # list of todos for a ticket in Markdown
├── todo.md         # list of general todos in Markdown
└── XYZ-234.md      # notes regarding issue XYZ-234

Hope it helps!