Project notes

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.


touch ~/.gitignore_global

to create a .gitignore_global file in your home directory.


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

to configure git to use .gitignore_global as a global exludes file.

Add the following


to to .gitignore_global to ignore a .note/ directory in any project that is under version control with git.

For example, for a project I'm currently working on, my .note/ directory currently looks like this:

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

Hope it helps!

Do you find this article helpful?

Do you need help with your PHP project?