5 — Add slug to Project interface, kill ternary chain
Problem: softwareNavItems in projects.ts has a hardcoded ternary chain:
ts
p.name === 'concept-browser' ? 'concept-browser' : p.name === 'glossarist-desktop' ? 'desktop' : p.nameAdding a new project requires editing this chain. Violates Open/Closed.
Action:
- Add
slug: stringtoProjectinterface - Each project defines its own slug
softwareNavItemsusesp.slug
Files touched:
.vitepress/data/projects.ts
Done when: softwareNavItems has no conditional logic.