## Why
Plugin and marketplace names can flow into generated install commands, so the
plugin creator must reject names outside the supported identifier syntax before
using them or changing files.
## What changed
- Centralize validation for plugin names, including dotted names, and marketplace
names.
- Apply validation when reading marketplaces, validating manifests, updating
cachebusters, and scaffolding plugins.
- Validate existing marketplace state before scaffold writes so invalid or
duplicate entries leave plugin and marketplace files unchanged.
## Testing
Add regression tests for accepted identifiers, unsafe and malformed names,
dotted plugin names, and failure paths that must not modify files.
GitOrigin-RevId: 9db68c2313a1539c5ab44d777966e33b460ceb71