Claude-skill-registry coding-standard-javascript
Enforce JavaScript/ES6+ and TypeScript coding standards including camelCase variables, PascalCase classes, and kebab-case filenames.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/coding-standard-javascript" ~/.claude/skills/majiayu000-claude-skill-registry-coding-standard-javascript && rm -rf "$T"
manifest:
skills/data/coding-standard-javascript/SKILL.mdsource content
JavaScript/TypeScript Coding Standards
When reviewing or generating JavaScript/TypeScript code, follow these rules:
File Naming
- Source files: Use kebab-case (e.g.,
,user-service.js
)api-client.ts - Component files: Use kebab-case (e.g.,
,user-profile.js
)data-table.tsx - Test files: Use
or.test.js
suffix (e.g.,.spec.js
)user-service.test.js - Type definition files: Use
suffix (e.g.,.d.ts
)api-types.d.ts
Variable Naming
- Variables: camelCase (e.g.,
,userName
,isActive
)totalCount - Constants: UPPER_SNAKE_CASE for true constants (e.g.,
,MAX_RETRIES
)API_BASE_URL - Boolean variables: Prefix with
,is
,has
,can
(e.g.,should
,isLoading
)hasError
Function Naming
- Functions: camelCase (e.g.,
,calculateTotal()
)fetchUserData() - Async functions: Consider prefixing with action verb (e.g.,
,loadUsers()
)saveDocument() - Event handlers: Prefix with
orhandle
(e.g.,on
,handleClick
)onSubmit - Factory functions: Prefix with
(e.g.,create
,createUser()
)createConnection()
Class/Constructor Naming
- Classes: PascalCase (e.g.,
,UserService
,DataProcessor
)ApiClient - Interfaces (TS): PascalCase, optionally prefix with
(e.g.,I
orIUserService
)UserService - Type aliases (TS): PascalCase (e.g.,
,UserResponse
)ConfigOptions - Enums (TS): PascalCase for enum name, UPPER_SNAKE_CASE for values
Private Members
- Private fields: Prefix with underscore (e.g.,
,_privateData
)_internalState - Private methods: Prefix with underscore (e.g.,
,_validateInput()
)_processData()
Module Organization
- Group imports: external packages first, then internal modules
- Export public API at the bottom of the file
- One class/component per file when possible