Apply these opinionated TypeScript conventions whenever writing or reviewing TypeScript: branded types for domain modeling, discriminated unions for state, `satisfies` over `as`, const objects instead of enums, type-only imports, and the strict tsconfig baseline beyond `strict: true`. Also use for monorepo project references and incremental build setup.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# TypeScript
House conventions for TypeScript 5+. Apply them to code you are writing or changing — don't refactor untouched files to match unless asked.
## Conventions
- **Model the domain in types, not in checks.** Branded types (`type UserId = string & { readonly __brand: 'UserId' }`) and discriminated unions push errors to compile time, where they cost nothing. A runtime guard catches the same bug in production.
- **Discriminated unions for anything with states** — request lifecycles, form state, parse results. The compiler then forces every state to be handled, so a new variant surfaces as an error rather than a silent fallthrough.
- **`satisfies` over `as`.** `satisfies` validates against a type while keeping the narrow inferred literal; `as` throws the check away. Reach for `as` only when you know something the compiler cannot, and say why in a comment.
- **Const objects over `enum`.** `as const` objects are plain values with no emit and no nominal-typing surprises; `enum` generates runtime code and `const enum` breaks under `isolatedModules`.
…
The line at the top of this page pins the label git:20261013.ecfffa1, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_txbayfhc7cgfwett
GET https://markdownregistry.com/api/v1/resolve?ref=alexander-danilenko/cortex-ai-skills/typescript
GET https://markdownregistry.com/api/v1/blob/b2ef9c5aeddaa892af8e3281faf6c7787af20423530db1570303f400a68838ec
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
alexander-danilenko/cortex-ai-skills · plugins/common/cortex-communication/skills/answer-buzzkill/SKILL.md · Write a short, fact-checked reply that answers a colleague's question in one meaning only, ready to copy and paste. The…
alexander-danilenko/cortex-ai-skills · plugins/common/cortex-communication/skills/humanize-text/SKILL.md · Remove signs of AI-generated writing from text. Use after drafting to make copy sound more natural and human-written…
alexander-danilenko/cortex-ai-skills · plugins/common/cortex-communication/skills/simple-english/SKILL.md · Write or audit technical text against ASD-STE100 Simplified Technical English so a tired, non-native reader understands…
alexander-danilenko/cortex-ai-skills · plugins/engineering/cortex-coderabbit/skills/resolve-feedback/SKILL.md · Resolve CodeRabbit review feedback on a GitHub pull request. Collects every open CodeRabbit finding (inline threads…
alexander-danilenko/cortex-ai-skills · plugins/engineering/cortex-jira/skills/qa-scope/SKILL.md · Draft the QA scope and plain-language test scenarios for a Jira ticket — brief one-liners with automated test…
alexander-danilenko/cortex-ai-skills · plugins/engineering/cortex-jira/skills/report-comment/SKILL.md · Turn the git commits for a Jira ticket into a short, business-friendly implementation report and save it as local…
alexander-danilenko/cortex-ai-skills · plugins/engineering/cortex-knowledge/skills/documentation/SKILL.md · ALWAYS invoke for any task involving docstrings, JSDoc/TSDoc, or REST API documentation — even when the request seems…
alexander-danilenko/cortex-ai-skills · plugins/engineering/cortex-knowledge/skills/learn-with-docs-refresh/SKILL.md · Audit and maintain the learnings in `docs/solutions/` against the current codebase — fix drifted paths and links, merge…
alexander-danilenko/cortex-ai-skills · plugins/engineering/cortex-knowledge/skills/learn-with-docs/SKILL.md · Capture a solved, verified problem as a durable learning in `docs/solutions/` so the next agent or engineer does not…
gaia-react/gaia · frontend/.claude/skills/typescript/SKILL.md · Applies GAIA's patterns and conventions for all TypeScript code. Use this skill whenever writing or reviewing…
dalestudy/skills · skills/typescript/SKILL.md · TypeScript 타입 정의 및 베스트 프랙티스 스킬. 다음 상황에서 사용: (1) TypeScript 파일(.ts, .tsx) 작성 또는 수정 시, (2) 타입 정의(interface, type) 작업 시…
zhaojiannet/canon · plugins/lockstep-typescript/skills/typescript/SKILL.md · Enforce TypeScript 7 strict type-checking. Use when editing .ts/.tsx or tsconfig.json, or when the user mentions…