Why
Capability spec names and change names are stored as kebab-case directory names (e.g., nav-integration, change-pages, readable-sidebar-labels). The plugin currently renders these raw names verbatim as sidebar labels and page headings, making the documentation look machine-generated and hard to read.
What Changes
- Add a
humanizeLabel()utility that converts kebab-case strings to Title Case (e.g.,nav-integration→Nav Integration) - Apply this transformation everywhere a name is used as a human-visible label:
- Sidebar
textfor spec items and change items # Headingon generated spec pages (generateSpecPage)# Headingon generated change index pages (generateChangeIndexPage)- Link text in the specs index page (
generateSpecsIndexPage) - Link text in the changes index page (
generateChangesIndexPage)
- Sidebar
Capabilities
New Capabilities
label-humanization: Utility function that converts kebab-case identifiers to human-readable Title Case labels for display in VitePress sidebar and page headings.
Modified Capabilities
sidebar-generation: Sidebartextfields for spec and change items now use humanized labels instead of raw kebab-case names.spec-pages: Generated spec page# Headinguses humanized label.change-pages: Generated change index page# Headinguses humanized label.
Impact
src/utils.ts— addhumanizeLabel(), apply it in all page generators and sidebar builders- Pure cosmetic change; no structural or behavioral changes to generated pages
- No breaking changes to the public API