# Typescript Guidelines

> General rules

- Skill: `enso-org/typescript-guidelines` (Agent Skill)
- Install (CLI): `npx skillmds@latest add enso-org/typescript-guidelines`
- Raw SKILL.md: https://api.skillmd.com/api/skills/enso-org/typescript-guidelines/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: enso-org (https://skillmd.com/u/enso-org)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/enso-org/typescript-guidelines

---


## General rules

- Do not add typecasts if not necessary. First make sure the cast is needed for
  proper typechecking. Then consider adding assertions or guards ensuring the
  value's type is correct.
- The type aliases should be used only when the type is really complex (multiple
  nested generic arguments, for example), or if the aliast name would provide
  useful information besides the variable's/parameter's name.
- If writing comments, do not mention code's history or how things _no longer_
  run, except as a cautionary tale to not repeat errors.

## Documentation Comments

- The docstrings should be created for exported, or non-obvious private
  entities.
- They goal is to understand what given entity _is_. Do not focus on how it is
  used, unless it is useful as an example to understand the entity itself. Do
  not mention details which are easily deduced from the name or code itself.
- They should not focus on implementation details, unless it may be somehow
  important to the dev using the entity (like time complexity).
- @file documentation should be a very short summary of module. The more
  detailed description should be on the main function/class defined in module.

