CtrlK
BlogDocsLog inGet started
Tessl Logo

typescript

TypeScript conventions and rules for Graph Explorer, including branded types, function style preferences, and type safety patterns.

70

1.00x
Quality

58%

Does it follow best practices?

Impact

85%

1.00x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./.kiro/skills/typescript/SKILL.md
SKILL.md
Quality
Evals
Security

TypeScript Conventions

General Rules

  • Do not change the VS Code setting typescript.autoClosingTags
  • Prefer named function syntax over anonymous arrow functions for module-level declarations (e.g., function handleClick() {} over const handleClick = () => {}). Arrow functions within function scope are fine.
  • Every commit should have no type errors
  • Use explicit type aliases instead of ReturnType<typeof ...> when available (e.g., use AppStore instead of ReturnType<typeof getAppStore>)

Branded Types

The project uses branded types from @/utils for type safety. These prevent accidental mixing of similar types at compile time.

TypeCreator FunctionLocation
VertexIdcreateVertexId()@/core/entities/vertex
VertexTypecreateVertexType()@/core/entities/vertex
EdgeIdcreateEdgeId()@/core/entities/edge
EdgeTypecreateEdgeType()@/core/entities/edge
EdgeConnectionIdcreateEdgeConnectionId()@/core/StateProvider/edgeConnectionId
ConfigurationIdcreateNewConfigurationId()@/core/ConfigurationProvider/types
RenderedVertexIdtoRenderedVertexId()@/core/StateProvider/renderedEntities
RenderedEdgeIdtoRenderedEdgeId()@/core/StateProvider/renderedEntities
IriNamespacesplitIri()@/utils/rdf
IriLocalValuesplitIri()@/utils/rdf
RdfPrefixgeneratePrefix()@/utils/rdf
NormalizedIriNamespacenormalizeNamespace()@/utils/rdf

Always use the appropriate branded type instead of string when working with these identifiers.

Repository
aws/graph-explorer
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.