My project template for Node.js projects — a usable skeleton with linting, formatting, testing, and build tooling already configured.
- Clone the repo into a new directory (optionally run
rm -rf .gitto start fresh) - Copy
.env.exampleto.envand fill in any required variables - Run
npm install - Run
npm run devto start the app in watch mode
Requires Node.js v24. Use fnm to manage Node versions — it will automatically switch to the pinned version when you enter the directory:
fnm use| Command | Description |
|---|---|
npm run dev |
Run the app in watch mode with tsx |
npm run build |
Compile a production bundle with esbuild |
npm start |
Run the compiled output |
npm test |
Run tests with Vitest |
npm run test:watch |
Run tests in watch mode |
npm run type-check |
Type-check without emitting |
npm run lint |
Lint with ESLint |
npm run format |
Format with Prettier |
Tests use Vitest. Test files live in src/__tests__/.
npm testThis repo uses Semantic Versioning (often referred to as semver).
Thinking of contributing to this repo? Awesome! 🚀
Please follow the Contribution guide and follow the Code of Conduct.