A naming pattern that scales with a project
A simple, human-readable naming pattern helps files remain findable, sortable, and shareable as projects grow. The goal is consistent order and a few guardrails, not a filename that describes everything.
Why naming breaks down
Names often start clear and drift slowly. One person adds a date, another abbreviates the project, and someone else writes final-final because the earlier final copy changed. Over time, alphabetical sorting becomes useless and people open several files just to identify the current one.
- Inconsistent field order prevents reliable sorting.
- Missing context forces people to open files to identify them.
- Too much metadata produces brittle names that are hard to type.
- Local abbreviations stop making sense when work changes hands.
The pattern
Use a short set of fields in a fixed order, separated by hyphens. Include only the fields that help someone identify, sort, or act on the file.
YYYY-MM-DD-project-phase-type-subject-v##-status.extNot every file needs every field. A durable final deliverable may need the project, subject, version, and status. A meeting note may need only the date, project, and document type.
Field rules
- Date
- Use
YYYY-MM-DDonly when chronological sorting or event context matters. - Project
- Choose one short, stable slug. Do not rename it midway through the project.
- Phase
- Use a phase only when it changes how the file is grouped or retrieved.
- Version
- Use zero-padded numbers such as
v01,v02, andv03. - Status
- Use the shared vocabulary: draft, reviewed, approved, final, or archived.
Worked examples
2026-07-10-river-folder-handoff-v03-reviewed.pdfA dated review copy where version and review state both affect use.
project-brief-current.mdA living project brief with one obvious current copy.
archive-inventory-2026.csvA yearly inventory where the year defines the reporting period.
final-final-2.pdfIf an approved file changes, increment the version and run approval again. Do not preserve a false final state.
When to stop encoding metadata
A filename is not a database row. Keep ownership, long descriptions, approvals, retention notes, and open decisions inside the document, a README, or a package index. If a field does not help people find or choose the file, it probably does not belong in the name.
Put it into practice
- Collect ten representative files from one active folder.
- Write the minimum fields needed to distinguish them.
- Choose one field order and one separator.
- Rename the sample set and inspect alphabetical sorting.
- Document the convention in the project README.
Do not mass-rename an archive until you have tested links, references, and downstream tools that may depend on existing paths.
