Developer Experience
Scripts
generate-icons, submit-sitemap, validate-pseo, check-claims.
Overview
Scripts live in scripts/ and are run via package.json:
| Script | Command | Description |
|---|---|---|
| generate-icons | pnpm generate:icons | Generate app icons from source |
| submit:sitemap | pnpm submit:sitemap | Submit sitemap to IndexNow |
| submit:bing | pnpm submit:bing | Instructions for Bing Webmaster Tools |
| validate:pseo | pnpm validate:pseo | Required pSEO blocks, FAQ floor, last-verified recency |
| check:claims | pnpm check:claims | Editorial claim gate (regex + TypeSafe) |
generate-icons
scripts/generate-icons.js — Generates favicon and app icons in various sizes. Run after adding or changing the source icon.
submit:sitemap
scripts/submit-sitemap.ts:
- Reads sitemap segments from
lib/seo/sitemap.ts - Submits URLs to IndexNow API
- Requires
INDEXNOW_KEYenv var - Use after deploying new content to notify search engines
submit:bing
scripts/submit-to-bing.ts — Prints instructions for manually submitting your sitemap to Bing Webmaster Tools. Does not auto-submit.
validate:pseo
scripts/validate-pseo.js checks comparison, alternatives, integration, glossary, and persona JSON:
- Required headings (Quick Answer, Evidence, Best For)
- At least 3 FAQs
dateModifiednot older than 180 days
Run before deploying pSEO changes. This is structure only. It does not read whether the copy overclaims.
check:claims
scripts/check-claims.ts — pnpm check:claims
- Collects blog MDX, docs MDX, and
content/pseo/*.json - Fails on banned referee phrases in code
- Sends each page plus
productFactsto TypeSafe Jev (jev-1.13.0) for five yes/no judgments - Requires
TYPESAFE_API_KEYunless you pass--dry-runor--self-test
Useful flags: --path content/blog/foo.mdx, --kind pseo, --strict, --json.