Freshness anchor: March 2026.
- This repository is a Node.js and TypeScript CLI package.
- Use
pnpmonly. - Prefer small, focused changes over broad refactors.
- Use
constarrow functions by default. - Let TypeScript infer return types unless
neveris required. - Prefer
satisfiesoverasfor type validation. - Use
??instead of||for defaulting. - Keep comments rare and focused on why.
- Remove dead code instead of leaving it behind.
- Use
.jsextensions in relative TypeScript imports.
- Run
pnpm typecheckafter code changes. - Run
pnpm testafter code changes. - Run
pnpm buildfor release-facing or package-shape changes. - Never leave lockfile or dependency drift unresolved.
- Unit tests live in
src/__tests__/. - Mock network calls in tests.
- Keep tests focused on one concept each.
- When changing generators, cover output changes with tests when practical.
When changing files in src/generators/, verify:
- Header inclusion and omission rules.
- Correct framework imports.
- Correct component naming.
- Correct output extension behavior in barrel files.
- Correct
"use client"behavior for applicable formats.
src/cli.ts: command surface.src/config.ts: config loading and resolution.src/fetcher.ts: metadata and SVG fetch flow.src/optimizer.ts: SVGO optimization.src/utils/naming.ts: naming pipeline.src/generators/: framework emitters and shared helpers.src/__tests__/: unit tests.
- Use
material-symbols-cli-developmentfor package work. - Use
material-symbols-cli-usagefor installation and integration questions. - Use
typescript-best-practicesfor any TypeScript or JavaScript change. - Use
vercel-react-best-practicesonly when changing React-family generator output such asmui,react,preact,solid, orqwik.