For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /packs/languages/typescript/naming.md.
Quick start

Naming

Let the containing directory supply context, then name the operation or value precisely.

Conventions

Why

packs/manifest.ts is easier to navigate than a repeated pack prefix. A name such as findGitCommit tells a caller more than a vague resolve helper.

KindConventionExample
Files and directorieskebab-casesources/local/directory.ts
Functions and valuescamelCasereadManifest, manifest
TypesPascalCaseReadManifestParams
Booleans and predicatesis, has, can, shouldisInstalled
Stable constants and literal catalogsSCREAMINGSNAKECASEMAX_PACK_BYTES
Schemas and clientscamelCasepackSchema
Generic parametersWhole words in SCREAMINGSNAKECASECONTENT, SOURCE_KIND

Rules

  • MUST apply the table's casing conventions to newly authored declarations. [review]
  • MUST choose operation verbs for functions and domain nouns for values. [review]
  • MUST spell out generic parameter names rather than using single letters. [review]
  • MUST put related literals in an as const catalog and derive its union type. [review]
  • SHOULD collect related fields beneath a meaningful domain object instead of repeating the same prefix. [review]
  • MAY retain filenames imposed by tooling or established conventions, such as README.md, AGENTS.md, and LICENSE. [review]

[review]

Configured lint checks cover their supported naming rules. Review checks operation verbs, domain meaning, and the remaining casing conventions.

Enforcement

Configured lint checks cover their supported naming rules. Review checks operation verbs, domain meaning, and the remaining casing conventions.