Co-Authored-By: Claude ... (or any AI/agent) trailer to commit messages. Write the commit message without it.type(scope): subject, with an optional body and footer. Common types: feat, fix, refactor, docs, chore, test, perf, style, build, ci. Mark breaking changes with ! after the type/scope and a BREAKING CHANGE: footer.docs(sysadmin): add Cisco 3750 config note, chore(create_note): ...) so git log stays grep-friendly.Use create_note.sh to create new notes — do not touch a file manually. The script handles the date-prefixed filename, the frontmatter stub, and drops the file into uncategorized/.
The frontmatter schema is fixed. Every note has these keys, in this order:
1---
2title:
3date:
4uuid:
5slug:
6draft: true
7description:
8tags:
9---
Do not add new keys, rename, or drop any — downstream Hugo or Gatsby consumers may break silently. draft: true is the Hugo-style convention, chosen deliberately over Gatsby’s status: draft so both generators work.
The uuid field is a plain 14-digit YYYYMMDDHHMMSS string — no hyphens (e.g. 20140521153218). This is distinct from the filename prefix format, which uses hyphens (YYYY-MM-DD-HHMMSS). Do not copy the filename prefix verbatim into the uuid field.
Filenames use a date-prefix convention:
YYYY-MM-DD-HHMMSS-slug.md (or YYYY-MM-DD-HHMMSS.md when there’s no title)YYYYMMDDHHMMSS-slug.md — do not rename these retroactively; the UUID in the filename is a stable identifier.YYYY-MM-DD-slug.md — do not pad with -000000- just to fill the HHMMSS slot. The uuid frontmatter field is separate and still gets the full 14-digit YYYYMMDDHHMMSS form (padded zeros are correct there).uncategorized/ into a topic folder (linux/, reactjs/, sysadmin/, etc.). Do not invent nested subcategories.README.md or summary/index files inside topic directories. The repo’s top-level README.md is the only doc.node_modules, nothing that would bloat the submodule for the parent site.