Skip to main content
在 Manus 中运行任何 Skill
一键导入
GitHub 仓库

effective-typescript-skills

effective-typescript-skills 收录了来自 marius-townhouse 的 83 个 skills,并提供仓库级职业覆盖和站内 skill 详情页。

已收集 skills
83
Stars
3
更新
2026-02-03
Forks
1
职业覆盖
1 个职业分类 · 已分类 100%
仓库浏览

这个仓库中的 skills

accurate-environment-model
软件开发工程师

Use when defining global types. Use when augmenting window. Use when typing environment variables. Use when working with build-time constants. Use when configuring type definitions.

2026-02-03
allowjs-mixing
软件开发工程师

Use when migrating JavaScript to TypeScript. Use when gradually adopting TypeScript. Use when working with mixed codebases. Use when converting large projects. Use when teams are learning TypeScript.

2026-02-03
async-over-callbacks
软件开发工程师

Use when writing asynchronous code. Use when tempted to use callbacks. Use when composing multiple async operations.

2026-02-03
avoid-anecdotal-types
软件开发工程师

Use when creating types from example data. Use when types don't match all cases. Use when API responses vary.

2026-02-03
avoid-inferable-annotations
软件开发工程师

Use when writing type annotations on variables. Use when TypeScript can infer the type. Use when code feels cluttered with types.

2026-02-03
avoid-numeric-index
软件开发工程师

Use when defining array-like types. Use when tempted to use number as index type. Use when understanding array keys.

2026-02-03
avoid-repeated-params
软件开发工程师

Use when functions have multiple parameters of same type. Use when parameter order is easy to confuse. Use when designing function signatures.

2026-02-03
avoid-unnecessary-type-params
软件开发工程师

Use when writing generic functions or types. Use when reviewing type signatures. Use when a type parameter only appears once. Use when tempted to add generics for "flexibility".

2026-02-03
avoid-wrapper-types
软件开发工程师

Use when typing primitives. Use when tempted to use String, Number, Boolean. Use when wrapper types appear in errors.

2026-02-03
branded-types
软件开发工程师

Use when primitive types need semantic distinction. Use when string or number types have different meanings. Use when you need nominal typing.

2026-02-03
callback-this-type
软件开发工程师

Use when callbacks use this. Use when API provides this context. Use when typing event handlers. Use when library sets this in callbacks. Use when documenting callback context.

2026-02-03
code-gen-independent
软件开发工程师

Use when confused about types at runtime. Use when trying to use instanceof with interfaces. Use when type errors don't prevent JavaScript output.

2026-02-03
codegen-over-complex-types
软件开发工程师

Use when types become extremely complex. Use when types mirror external schemas. Use when maintaining type-to-schema mappings. Use when types require extensive type-level logic. Use when types drift from data sources.

2026-02-03
compiler-performance
软件开发工程师

Use when build times are slow. Use when optimizing TypeScript projects. Use when configuring project references. Use when dealing with large codebases. Use when improving IDE responsiveness.

2026-02-03
conditional-types-over-overloads
软件开发工程师

Use when typing functions with multiple return types. Use when function behavior depends on input type. Use when dealing with union type inputs. Use when considering function overloads.

2026-02-03
consistent-aliases
软件开发工程师

Use when narrowing doesn't work as expected. Use when using variables for object properties. Use when refinements are lost.

2026-02-03
context-type-inference
软件开发工程师

Use when extracting values causes type errors. Use when callback types are wrong. Use when const assertions are needed.

2026-02-03
control-union-distribution
软件开发工程师

Use when conditional types behave unexpectedly with unions. Use when boolean or never types cause surprises. Use when needing to prevent distribution over unions. Use when recursive generic types don't distribute.

2026-02-03
create-objects-all-at-once
软件开发工程师

Use when building objects incrementally. Use when adding properties after creation. Use when TypeScript errors on dynamic object construction.

2026-02-03
currying-inference
软件开发工程师

Use when generic types aren't inferred. Use when builder patterns need better types. Use when creating new inference sites.

2026-02-03
different-variables-types
软件开发工程师

Use when tempted to reuse variables. Use when variable changes type. Use when using union types for multiple purposes.

2026-02-03
distinct-special-values
软件开发工程师

Use when tempted to use -1 or "" as special values. Use when indexOf returns -1. Use when special cases need representation.

2026-02-03
dom-hierarchy
软件开发工程师

Use when working with DOM APIs. Use when typing element references. Use when creating DOM utilities. Use when handling events. Use when manipulating the DOM.

2026-02-03
domain-language-types
软件开发工程师

Use when naming types. Use when types describe structure not meaning. Use when domain experts won't understand type names.

2026-02-03
dry-types
软件开发工程师

Use when duplicating type definitions. Use when interfaces share common fields. Use when types can be derived from other types.

2026-02-03
ecmascript-over-typescript-features
软件开发工程师

Use when choosing between TypeScript and ECMAScript features. Use when writing portable code. Use when considering enum or namespace. Use when targeting multiple JavaScript environments. Use when writing library code.

2026-02-03
editor-interrogation
软件开发工程师

Use when debugging type inference. Use when types behave unexpectedly. Use when learning unfamiliar code.

2026-02-03
evolving-types
软件开发工程师

Use when types change as code executes. Use when arrays are built incrementally. Use when working with any[] that narrows.

2026-02-03
excess-property-checking
软件开发工程师

Use when assigning object literals to typed variables. Use when confused by "unknown property" errors. Use when extra properties are flagged on object literals but not variables.

2026-02-03
exclusive-or-properties
软件开发工程师

Use when exactly one of several properties should be present. Use when modeling mutually exclusive options. Use when building component props with alternative configurations. Use when designing API parameters that have variants.

2026-02-03
exhaustiveness-checking
软件开发工程师

Use when handling tagged unions. Use when adding new cases to discriminated unions. Use when switch statements must cover all cases.

2026-02-03
export-public-types
软件开发工程师

Use when publishing libraries. Use when types appear in public APIs. Use when users need to reference types. Use when building reusable components. Use when designing library interfaces.

2026-02-03
function-type-expressions
软件开发工程师

Use when writing multiple functions with same signature. Use when implementing callbacks. Use when matching existing function types.

2026-02-03
functional-constructs-types
软件开发工程师

Use when building arrays in loops. Use when types don't flow through code. Use when considering map/filter/reduce.

2026-02-03
generics-as-functions
软件开发工程师

Use when defining generic types or functions. Use when constraining type parameters. Use when writing type-level code. Use when documenting generic types.

2026-02-03
hide-unsafe-assertions
软件开发工程师

Use when type assertions are necessary. Use when function implementations need any. Use when hiding unsafe code.

2026-02-03
imprecise-over-inaccurate
软件开发工程师

Use when types become too complex. Use when precision causes false positives. Use when accuracy is uncertain.

2026-02-03
index-signature-alternatives
软件开发工程师

Use when defining object types with dynamic keys. Use when tempted to use index signatures. Use when parsing CSV or JSON data.

2026-02-03
iterate-objects-safely
软件开发工程师

Use when iterating over object keys and values. Use when for...in loops produce type errors. Use when Object.entries returns any types. Use when dealing with prototype pollution concerns. Use when considering Map vs object.

2026-02-03
liberal-accept-strict-return
软件开发工程师

Use when designing function signatures. Use when creating APIs. Use when parameters have optional fields but return types feel too broad.

2026-02-03
当前展示该仓库 Top 40 / 83 个已收集 skills。