返回 Skill 列表
extension
分类: 开发与工程无需 API Key

code-review-ts

针对TypeScript的代码审查指南,重点关注类型安全和TypeScript惯用法

person作者: jakexiaohubgithub

TypeScript Code Review

Includes all guidelines from code-review skill, plus TypeScript-specific rules.

Prefer Strong Types; Avoid Type Inspection on Known Types

The reviewer MUST:

  • Avoid runtime type inspection (typeof, instanceof) when the type is known or enforced by TypeScript.
  • Restrict runtime checks to untyped inputs or boundary validation (e.g., API payloads).

Discouraged:

function labelCount(count: number) {
  if (typeof count === "number") return `${count} items`;
  return "n/a";
}

Avoid any and unknown When Possible

The reviewer MUST:

  • Reject any unless it is a last-resort boundary with clear justification.
  • Require immediate narrowing of unknown with explicit type guards.

The reviewer SHOULD:

  • Prefer generics, satisfies, and well-scoped interfaces over any.

Type Casting Must Be Justified

The reviewer MUST:

  • Require a comment or invariant when using as, non-null assertions (!), or unsafe casts.
  • Prefer satisfies or type guards before asserting a type.

Acceptable with proof:

const payload = parse(input) as Payload; // validated by parse schema

Additional TypeScript Guidelines

The reviewer SHOULD:

  • Encourage use of strict TypeScript compiler options
  • Prefer readonly for immutable data
  • Use discriminated unions over type assertions
  • Prefer unknown over any for external data
  • Use template literal types where appropriate