Template doesn't ship with an eslint.config.js. ESLint v9 flat-config is
required and there's no sensible default for an empty skeleton — User adds
it after Use-Template + can re-add the lint step then. Type-check via tsc
runs fine and stays in CI.
setup-node with cache: 'npm' fails because the template ships without
package-lock.json. README documents the path to switch to 'npm ci' once
the downstream repo has a lock file.