Template Repository for TypeScript
- 🛡️ Strict ESLint setup via eslint-config-typed, with
jitienabling a TypeScripteslint.config.mts. - 📝 Built-in spelling and formatting checks with cspell / markdownlint / Prettier.
- 🧪 Vitest for unit testing with coverage; workflows included to upload results to codecov.io.
- 🔄 CI runs lint / type-check / test, enforces no post-Prettier diffs, and sends coverage to Codecov.
- 🏗️
buildgenerates per-directoryindex.mts, removes unused runtime code with Rollup, and runs type checking. - 🚀 semantic-release triggers on merges to
main, handling versioning, changelog updates, npm publish, and GitHub Releases. - 📚 TypeDoc generates docs and auto-deploys them to GitHub Pages.
- 📦
pnpmprovides strict dependency management (pnpm-lock.yamlincluded). - 📦 Dependabot auto-creates PRs for npm dependencies and GitHub Actions updates.
- 🔐 github-settings-as-code tracks repository settings and rulesets as code, detecting changes via diffs.
- 🔄
AGENTS.mdis shared via submodule to sync operational rules across repositories.
git clone https://github.com/{owner}/{repo}.git
git submodule update --init --recursive
pnpm i- Rename the part that says "typescript-template".
- Remove
--dry-runfrom.github/workflows/release.yml - Update README.md
- Run
pnpm run check-alland fix errors if exist.
- Copy
.env.exampleto.envand set Personal Access Token withrepoaccess. - Run
pnpm run gh:apply-allto update GitHub Repository Settings. - Set Actions secrets on the GUI settings page (https://github.com/{owner}/{repo}/settings/secrets/actions).
NPM_TOKEN- Open https://www.npmjs.com/settings/{your-user-id}/tokens -> Generate New Token -> Classic Token -> Select
Automationand generate. - Required for semantic-release to run npm publish
- Open https://www.npmjs.com/settings/{your-user-id}/tokens -> Generate New Token -> Classic Token -> Select
SEMANTIC_RELEASE_GIT_PERMISSION_BOT_PRIVATE_KEY- https://github.com/apps/semantic-release-git-permission -> App settings -> Generate a private key
- Required for
@semantic-release/gitto perform a git commit to the main branch
PERSONAL_ACCESS_TOKEN- The same value as
1. - Required for
.github/workflows/backup-repository-settings.ymlto run
- The same value as
- Set Dependabot secrets on the GUI settings page (https://github.com/{owner}/{repo}/settings/secrets/dependabot).
DEPENDABOT_AUTO_MERGE_BOT_PRIVATE_KEY- https://github.com/apps/dependabot-auto-merge-permissions -> App settings -> Generate a private key
PERSONAL_ACCESS_TOKEN- The same value as
1. - Required for
.github/workflows/backup-repository-settings.ymlto run
- The same value as
- Go to Pages and change Build and deployment > Source to be "Github Actions".
- Update
AGENTS.mdin the common repository (common-agent-config) - Update the submodule in each project
git submodule update --remote --merge
git add agents/common
git commit -m "Update AGENTS.md"