A starter template for new Node.js projects. Use this as a foundation for your next application or service.
- Features
- Requirements
- Getting Started
- Development
- Testing
- Errors / Troubleshooting
- Security
- Customization
- Support
- License
- Pre-configured for Node.js (ESM)
- Environment variable support via dotenv
- Logging and signal handling via
@eliware/common - Jest for testing
- MIT License
- Node.js 26 or newer
- A new project directory and environment appropriate to the application you build from this template
-
Clone this template:
git clone https://github.com/eliware/project-template.git cd project-template rm -rf .git git init npm install -
Update project details:
- Edit
package.json(name, description, author, etc.) - Update this
README.mdas needed - Change the license if required
- Edit
-
Main entry:
project-template.mjs -
Start your app:
node project-template.mjs
-
Add your code in new files and import as needed.
-
Run tests and coverage-gap checks with:
npm test npm run test:gaps npm run lint npm run pack -
Add your tests in the
__tests__folder or alongside your code.
Keep the template relationship when cloning specialized templates. Use origin for the new project and upstream for this template, then fetch and review upstream changes before merging.
- Replace or extend the logging and signal handling as needed.
- Add dependencies and scripts to fit your project.
- Remove or modify template files and sections.
This repository is a starter application, not a production service. Replace placeholder metadata and application logic after cloning. Keep .env local, verify configuration before startup, and use registerSignals/registerHandlers for explicit graceful shutdown and error handling.
Never commit .env, tokens, passwords, private keys, or credential-bearing URLs. Store secrets in the deployment environment or secret manager, and review dependencies and permissions before deploying a derived project.
For help, questions, or to chat with the author and community, visit:


