- Escape backslashes as well as pipes in markdown table cells
- Decide gist/discussion/npm-page links by parsed hostname instead of substring or unanchored regex checks (README, site)
- Encode every '/' in scoped npm names; validate npm names before calling the registry
- The REST helper only calls https://api.github.com and rejects dot segments
- npm ci --ignore-scripts in every workflow (no dependency needs install scripts)
- Move write permissions to job level in issues.yml and site.yml
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A single unparseable entry used to blank a whole README category and still exit 0. generate-readme and export-json now validate the whole catalog and refuse to write on any problem, check that every entry renders exactly once, and escape contributor text. Plugins are grouped by primary topic and other categories by kind; plugins show V2 / V1 only / unverified; section headers show counts; a Recently Added table comes from git history. registry.json gains kind, topics, also, compat, repoPath and npmPackage (existing fields unchanged).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Update `generate-readme.yml` to trigger on `main` branch pushes.
- Change `generate-readme.js` exit code to 1 on errors for CI failure.
- Fix formatting in `template.js` for entry summary HTML.
- Renames the `description` field to `tagline` in schema and data files.
- Renames the `full_description` field to `description` in schema and data files.
- Updates all relevant YAML data files, documentation, and templates to reflect these changes.
- Adjusts character limits and descriptions for the new fields.