ts-google
43
总安装量
43
周安装量
#4910
全站排名
安装命令
npx skills add https://github.com/pproenca/dot-skills --skill ts-google
Agent 安装分布
claude-code
35
codex
32
gemini-cli
32
antigravity
30
opencode
30
cursor
26
Skill 文档
Google TypeScript Best Practices
Comprehensive TypeScript style guide based on Google’s internal standards, designed for AI agents and LLMs. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Writing new TypeScript code
- Organizing modules and imports
- Designing type annotations and interfaces
- Creating classes and functions
- Reviewing code for style consistency
- Refactoring existing TypeScript code
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Module Organization | CRITICAL | module- |
| 2 | Type Safety | CRITICAL | types- |
| 3 | Class Design | HIGH | class- |
| 4 | Function Patterns | HIGH | func- |
| 5 | Control Flow | MEDIUM-HIGH | control- |
| 6 | Error Handling | MEDIUM | error- |
| 7 | Naming & Style | MEDIUM | naming- |
| 8 | Literals & Coercion | LOW-MEDIUM | literal- |
Quick Reference
1. Module Organization (CRITICAL)
module-named-exports– Use named exports over default exportsmodule-no-mutable-exports– Avoid mutable exportsmodule-es6-modules– Use ES6 modules exclusivelymodule-no-namespaces– Avoid TypeScript namespacesmodule-import-paths– Use relative paths for project importsmodule-import-type– Use import type for type-only importsmodule-export-api-surface– Minimize exported API surface
2. Type Safety (CRITICAL)
types-no-any– Never use the any typetypes-prefer-interfaces– Prefer interfaces over type aliases for objectstypes-explicit-structural– Explicitly annotate structural typestypes-nullable-patterns– Handle nullable types correctlytypes-array-syntax– Use consistent array type syntaxtypes-no-wrapper-types– Never use wrapper object typestypes-prefer-map-set– Prefer Map and Set over index signaturestypes-no-empty-object– Avoid empty object type
3. Class Design (HIGH)
class-parameter-properties– Use parameter properties for constructor assignmentclass-readonly-properties– Mark properties readonly when never reassignedclass-no-private-fields– Use TypeScript private over private fieldsclass-no-static-containers– Avoid container classes with only static membersclass-constructor-parens– Always use parentheses in constructor callsclass-no-prototype-manipulation– Never manipulate prototypes directly
4. Function Patterns (HIGH)
func-declarations-over-expressions– Prefer function declarations over expressionsfunc-arrow-concise-bodies– Use concise arrow function bodies appropriatelyfunc-avoid-this-rebinding– Avoid rebinding thisfunc-rest-parameters– Use rest parameters over argumentsfunc-generator-syntax– Use correct generator function syntaxfunc-default-parameters– Use default parameters sparingly
5. Control Flow (MEDIUM-HIGH)
control-always-use-braces– Always use braces for control structurescontrol-triple-equals– Always use triple equalscontrol-for-of-iteration– Prefer for-of over for-in for arrayscontrol-switch-default– Always include default case in switchcontrol-no-assignment-in-condition– Avoid assignment in conditional expressions
6. Error Handling (MEDIUM)
error-throw-errors– Always throw Error instanceserror-catch-unknown– Type catch clause variables as unknownerror-empty-catch-comments– Document empty catch blockserror-avoid-assertions– Avoid type and non-null assertions
7. Naming & Style (MEDIUM)
naming-identifier-styles– Use correct identifier naming stylesnaming-descriptive-names– Use descriptive namesnaming-no-decorative-underscores– Avoid decorative underscoresnaming-no-interface-prefix– No I prefix for interfacesnaming-constants– Use CONSTANT_CASE for true constants
8. Literals & Coercion (LOW-MEDIUM)
literal-single-quotes– Use single quotes for stringsliteral-number-formats– Use correct number literal formatsliteral-explicit-coercion– Use explicit type coercionliteral-array-constructor– Avoid Array constructor
How to Use
Read individual reference files for detailed explanations and code examples:
- Section definitions – Category structure and impact levels
- Rule template – Template for adding new rules
Reference Files
| File | Description |
|---|---|
| AGENTS.md | Complete compiled guide with all rules |
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |