How I start new projects.
I use yarn for all my projects these days, and I have my yarnrc shortcuts set up so I use
I've learned that many projects benefit from a multi-package repo setup from the beginning, and it's very little overhead to do it, so I add the following to package.json, and make a packages directory.
JS doesn't come with a formatting tool like go fmt or rust, so I install and configure prettier to run on everything I care about. This usually involves lint-staged as well.
Jest is the best-in-class test runner with support for multiple "projects" which interacts quite well with multi-package repos.
Because we're in a multi-package yarn workspaces repo, we can use changesets to handle releases, including their github action.