Skip to content
Public template

About

Minimal template for building a Node.js library and CLI in TypeScript

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Repository files navigation

Node.js Starter

A minimal template for building a Node.js library in TypeScript with ESM support and an optional CLI. Ships pre-configured with formatting, linting, 100% test coverage enforcement, pre-commit hooks, and CI.

Getting Started

Create a new repository from this template on GitHub using this link, or clone it locally and point it at your own remote.

Setup

Install pnpm, then install dependencies:

pnpm install

Install Lefthook, then register the pre-commit hook:

lefthook install

Customizing

Replace or extend the template files to fit your project:

  • src/cli.ts — Replace or remove the placeholder CLI. Remove this file, the bin entry in package.json, and the yargs and @types/yargs dependencies if your project doesn't need a CLI.
  • src/fibonacci.ts — Replace with your own library logic.
  • src/index.ts — Update the public API exports to match your library.
  • CLAUDE.md — Replace with guidance specific to your project.
  • LICENSE — Replace with your preferred license, or keep the Unlicense.
  • package.json — Update the package name, description, version, author, and other metadata.
  • README.md — Replace with a description of your project.

Development

Write code in src/. Test files live alongside source as *.test.ts. Run the test suite with:

pnpm vitest run

The project enforces 100% code coverage on every run.

Each git commit runs the pre-commit hook registered during setup, which checks your changes and fixes what it can in place. If it fails, fix any reported issues, re-stage the changed files, and commit again.

After committing, push to main or open a pull request from another branch — CI will run the same checks across all files, plus additional checks of its own.

Releasing

Update the version in package.json, push a version tag, and create a GitHub Release. To publish to the npm registry, run:

pnpm publish

Framework-Specific Templates

For a more opinionated starting point in a specific framework:

About

Minimal template for building a Node.js library and CLI in TypeScript

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages