The most gigachad project setup for TypeScript.
- Containerize with Docker
- Deliver continuously with GitHub Workflow
- Document with TypeDoc
- Enforce format-on-save in VSCode
- Execute workflows locally with
act
- Format with Prettier
- Lint code with ESLint
- Lint markdown with markdownlint
- Manage packages with pnpm
- Pledge your respect with the Contributor Covenant
- Run with Node.js
- Test units with Vitest
- Update dependencies with Dependabot
This template offers a GitHub Workflow to help you automatically publish a version to both NPM, the GitHub Package Registry and in GitHub Releases on the push of a tag.
Start by updating your version number:
VERSION=$(pnpm version patch --no-git-tag-version)
git checkout -b "release/$VERSION"
git commit --all --message "🔖 $VERSION"
git push --set-upstream origin "release/$VERSION"
gh pr create --base main --draft --fill --head "release/$VERSION" --title "🔖 $VERSION"
Once your CI passes, merge the pull request, wait for the CI to pass again then push a new tag:
git checkout main
git pull --autostash --prune --rebase
git tag "$VERSION" --annotate --message "🔖 $VERSION" --sign
git push --tags
To publish on NPM, you'll need to provide your NPM token.
- Sign in to https://www.npmjs.com
- Access Tokens / Generate New Token / Classic Token / Automation / Generate Token
- Copy that token and save it in your project's secrets at
/settings/secrets/actions/new
with the nameNODE_AUTH_TOKEN