- Pin TypeScript as a direct dependency. It was only present transitively
via typescript-eslint, so nothing enforced tsconfig.json and nine
latent type errors had gone unnoticed.
- Add `pnpm typecheck` (`tsc --noEmit`) and document it.
- Add .npmrc with engine-strict, so the declared Node and pnpm ranges
are actually enforced.
- Ignore doc_build/ in ESLint. It was unignored and reported 1650 errors
from build output, which made lint unusable as a gate.
- Refresh README, CLAUDE.md, AGENTS.md and CONTRIBUTING.md to match the
current structure, build targets and navigation rules.
- Add tag frontmatter to all 6 blog articles (3 articles × 2 locales)
- Complete i18n.json with all 26 text keys for en-gb and zh-hans
- Install and configure Tailwind CSS v4 with PostCSS
- Create Tags component using Tailwind utility classes
- Inject Tags into DocLayout via theme override
- Fix zh-hans homepage icon extension