Picking an npm package name people can find
npm package names are first come, first served, and with millions of packages published, most short, obvious names went years ago. This npm name checker asks the registry directly whether a name is taken, so you know before you write a README around it.
Being unused isn't always enough. To stop typosquatting, npm rejects a new name that matches an existing package once periods, hyphens and underscores are removed. That's why "react-dom" can't be registered by someone else as "reactdom". The checker tests that punctuation-free twin too and tells you when npm is likely to refuse your name, which saves a failed npm publish.
If the name is gone, scopes are the easy answer. A scoped package like @yourname/tool only has to be unique inside your scope, and installs work exactly the same way. Many well-known projects publish under an organization scope for exactly this reason.
For a project you want people to adopt, the package name is one part of the identity. A matching GitHub organization, a short .dev or .io domain for the docs and the same handle on social media make the project easier to trust. The links after each check take you straight to those.