Devnotes.md: Just Another Markdown File — Not for AI, but for Humans

Edu Depetris

- Jan 19, 2026
  • Dx
  • Programming Habits
  • Productivity
More than 13 years ago, I saw my guru doing something that I still do today for every single project I work on.

TL;DR

I create a .devnotes.md file at the root of the project, add it to .gitignore, and put all my stuff there. As simple as that.

devnotes.mp4 142 KB


Why do I do this?


I often find myself writing project-specific commands, database queries, storing secret credentials 😰, leaving notes for my future self, and so on. This is inevitable in any project I work on.


How do I keep these notes?


Many years ago, during a pair-programming session, I saw my guru open a .notes file he was using to store some Capistrano commands (I don’t remember exactly, but it might have been something like that). At that moment, something clicked in my head.

Why was I keeping project-specific information in a different place from the project itself?
The solution was simple—and brilliant. Just create a notes file inside the project and add it to .gitignore.


Evolution over time


Over the years, I evolved this technique in many different ways. I experimented with different file names and formats, for example:

  • notes.txt
  • notes
  • devnotes
  • devnotes.md
  • devnotes/notes.md

…and many more.

At some point, I got myself into a dev notes hype and decided to write an open-source CLI tool that would create this setup for me with a simple command:

devnotes init

That was great. I could generate my notes file instantly.

But then my computer stopped working, and I had to migrate to another machine. That’s when I realized I had lost all my notes—because, of course, they were in .gitignore.

Apparently, that was enough motivation for me to extend the tool by adding sessions and a way to push and pull notes. That’s how these commands were born:

  • devnotes login
  • devnotes push

(all the commands here)

It worked well, but since I clearly had too much free time 😅, I decided to add a UI for users who wanted to browse all their notes through a web interface. And boom—the Devnotes dashboard was born: https://github.com/edudepetris/devnotes

Finally, I promoted it so people could actually use it. A few days later, https://devnotes.edudepetris.dev/ was up and running.


The reality


The reality is that I wasn’t using my own software.
It was—and still is—much simpler for me to just run:

touch devnotes.md

than to install a CLI and run multiple commands.

But that was never the real purpose.

The real goal wasn’t to build a tool or a hub—it was an excuse to try new technologies and learn more about what I love doing.



Some tips for your dev notes files


  • Over time, the .md extension was the clear winner: it’s easy to read and benefits from Markdown rendering.
  • When a project is complex, having a .devnotes/ folder is much more organized than a single file.
  • You can teach Git to ignore these files globally by adding your pattern in .gitignore_global  (thanks to Eze for this trick).

🎉 Happy Coding.