My Perfected File Naming Format
Today I wanted to share my perfected file naming format and explain why it looks the way it does on all the files you've seen so far and will see in the future. First, l'll introduce it to you, then I'll break it down. I've also included a .pdf for easy reading and a .txt file for using as a reference in your terminal. ====== THE NAMING FORMAT: title_descriptor_YYYYMMDDtHHMM_m####.ext title_descriptor_YYYYMMDDtHHMM_p####.ext For this post it would be: theforge_my_perfected_file_naming_format_20260405t0714_m0500.txt ====== THE COMPONENTS: - title_descriptor — To represent the contents, the name should be all lowercase words, separated by underscores; no capital letters, spaces, dashes, or special characters. - YYYYMMDD — To represent the date, I use an ISO 8601 adjacent format with a 4 digit year, a 2 digit month, and a 2 digit day (the date of creation or export). - tHHMM — To represent the time, I also use an ISO 8601 adjacent format with a lowercase letter ‘t’ to indicate the start of the documented time, followed by 24-hour time, then the hour and minutes. For the UTC time offset, I use two different indicators depending on if the timezone is ahead, or behind, UTC. - m#### — To represent a time behind UTC the offset indicating character is an "m" for minus # of hours (e.g., m0500 = UTC-5). - p#### — To represent UTC or a time ahead of UTC, the offset indicating character is a "p" for plus # of hours, and standard UTC is simply “0000” (e.g., p0200 = UTC+2 and p0000 = UTC). - .ext — To represent the file type I use the corresponding file extension (e.g., .txt, .md, .pdf, .csv, etc.) at the end. If I don't know the file type, or the file’s contents will be switching file types, I just use ".ext" as a placeholder. EXAMPLES: ai_assistant_summary_20251005t1140_m0500.txt guardian_druid_builds_20251102t1745_p0200.pdf unix_cli_reference_20251001t0930_p0000.txt ====== THE MANDATORY RULES: 1. Use only lowercase letters, numbers, periods and underscores.