- antfu/eslint-config
- Style error silencing is commented out
starter-ts is my starter/boilerplate for typescript projects. This template assumes you are using Linux, or the included Dev Container.
- 👌 TypeScript
- 🧐 ESLint + stylistic formatting rules (antfu)
- 💯 Vitest
- 📦 tsdown
- 📚 A few more goodies like:
- changelogen release pipeline, driven by GitHub Actions with npm trusted publishing
- lint-staged pre-commit hook
# npm
npm install starter-ts
# bun
bun add starter-ts
# pnpm
pnpm install starter-ts// ESM
import { hello } from 'starter-ts'
hello('world')Releases are version-first and dispatched by hand: one workflow run does the whole release,
so a git push on its own never publishes anything.
- Go to Actions → Release → Run workflow and give it the version to ship, e.g.
0.2.0. .github/workflows/release.ymlverifies the version, lints/type-checks/tests, then lets changelogen write the changelog, bumppackage.json, commit and tagv<version>. It pushes that commit and tag, creates the GitHub release, and publishes to npm with a short-lived OIDC token and--provenance.
Tick dry-run to do everything up to the commit and stop there — nothing is written back.
Locally, pnpm run release:check <version> validates a version against package.json, and
pnpm run release:preview prints the changelog the next release would get.
One-time setup: publish the package once by hand (npm only offers a trusted publisher for a
package that already exists), then on npmjs.com enable Settings → Publishing access → Trusted
Publishing for namesmt/starter-ts with the workflow filename release.yml.
- Become the legendary 10000x developer