A sane, opinionated template for esm node projects written in typescript that doesn't rely on transpilation - typescritp is ran directly by node.
For new, node lts (currently v24) projects.
Uses:
- biome for linting and formatting
- commitlint for linting commit messages
- husky for git hooks
- lint-staged for checks on commit
- vitest for testing
Runs the project in watch mode.
Runs the project.
Runs tests.
Runs biome in fix mode (only safe fixes) to lint and format the project.
Runs type checking using tsc.
You might want to install the recommended extensions in vscode. Search for @recommended in the extensions tab, they'll show up as "workspace recommendations".
If you have been using eslint and prettier and their extensions, you might want to disable eslint entirely and keep prettier as the formatter only for certain types of files.
This is done by the .vscode/settings.json file.
Debug configurations are also included (for source using tsx and for bundle using the generated source maps).