Skip to main content

frontend-code-standards

Code standards and conventions for React, TypeScript, and domain-driven front-end architecture Use when this capability is needed.

Zur Installation springen

Quellinformationen

Repository
tomevault-io/skills-registry
Letzte Quellaktivität
28. April 2026 um 22:53
Erkannte Sprache von SKILL.md
Englisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
frontend-code-standards
description
Code standards and conventions for React, TypeScript, and domain-driven front-end architecture Use when this capability is needed.
metadata
{"author":"alexandrebenkendorf"}
# Frontend Code Standards Opinionated code standards for building scalable, maintainable front-end applications with React, TypeScript, and Clean Architecture principles. ## 🎯 Token Budget Guide **Quick tasks** (50-150 tokens): - Naming lookup → [quick-ref/naming-cheatsheet.md](quick-ref/naming-cheatsheet.md) - Simple validation → Pick specific rule from navigation below **Medium tasks** (200-500 tokens): - New component → [rules/react-naming.md](rules/react-naming.md) + [rules/react-component-structure.md](rules/react-component-structure.md) - Helper function → [rules/helper-function-patterns.md](rules/helper-function-patterns.md) - TypeScript types → [rules/typescript-best-practices.md](rules/typescript-best-practices.md) **Complex tasks** (500-1000 tokens): - Architecture refactor → [rules/clean-architecture.md](rules/clean-architecture.md) + [rules/solid-principles.md](rules/solid-principles.md) - Performance optimization → [rules/dom-performance.md](rules/dom-performance.md) + [rules/caching-strategies.md](rules/caching-strategies.md) - Clean Code review → [rules/clean-code-principles.md](rules/clean-code-principles.md) + [rules/solid-principles.md](rules/solid-principles.md) --- ## 🚀 Auto-Trigger Patterns **This skill should be loaded when:** - Creating `.tsx`, `.ts`, `.jsx`, or `.js` files in a React project - User mentions: "component", "create", "refactor", "naming", "structure" - Code review or standards discussion - User mentions: "SOLID", "Clean Code", "Clean Architecture", "DDD" - Performance optimization tasks - User mentions: "TypeScript", "types", "interfaces" **File patterns that trigger specific rules:** - `*.tsx` → Load react-naming.md + react-component-structure.md - Helper/utility files → Load helper-function-patterns.md - Domain/entity files → Load ddd-naming.md + clean-architecture.md - Performance issues → Load dom-performance.md + caching-strategies.md **Keywords:** `component`, `naming`, `convention`, `structure`, `SOLID`, `SRP`, `DRY`, `architecture`, `Clean Code`, `TypeScript`, `interface`, `type`, `helper`, `utility`, `performance`, `optimization` --- **Navigate to specific topics:** ## 📝 Naming Conventions ### React Naming → See [rules/react-naming.md](rules/react-naming.md) Use when: - Creating React components - Setting up hooks - Organizing component folders Covers: - Component naming (PascalCase) - Hook naming (camelCase with 'use' prefix) - Feature directories (kebab-case) - Composite component folders ## ⚛️ React Component Structure → See [rules/react-component-structure.md](rules/react-component-structure.md) Use when: - Creating React components - Refactoring component files - Deciding where to place helper functions Covers: - Function declarations vs const (avoid React.FC) - Single Responsibility Principle - Component file organization - When to extract helpers vs keep them inline - Anti-patterns (god components, mixing concerns) ### TypeScript Naming → See [rules/typescript-naming.md](rules/typescript-naming.md) Use when: - Defining types and interfaces - Creating utility functions or classes Covers: - Types and interfaces (PascalCase) - Functional vs class-based utilities - File naming for utilities ### Domain-Driven Design Naming → See [rules/ddd-naming.md](rules/ddd-naming.md) Use when: - Building domain layer (Clean Architecture) - Defining entities, value objects, aggregates - Creating repositories and use cases Covers: - Entities and value objects (PascalCase) - Domain services and repositories - Aggregates and use cases - Ubiquitous language principles ## 📐 General Coding Standards → See [rules/general-coding-standards.md](rules/general-coding-standards.md) Use when: - Writing or reviewing any source code - Designing function signatures - Refactoring for readability Covers: - Function design (naming, parameters, size) - Command-Query Separation - Control flow (early returns, avoiding deep nesting) - Code organization and style - Magic numbers, comments, variable scope ## 🛠️ Helper Function Patterns → See [rules/helper-function-patterns.md](rules/helper-function-patterns.md) Use when: - Creating utility functions - Organizing formatters, validators, parsers, calculations - Deciding when to extract a helper Covers: - Common helper categories (formatters, validators, parsers, guards) - Function design for helpers (pure functions, simple signatures) - Organization patterns (flat, categorized, barrel exports) - Testing helpers - Anti-patterns to avoid ## 🔷 TypeScript Best Practices → See [rules/typescript-best-practices.md](rules/typescript-best-practices.md) Use when: - Writing TypeScript code - Choosing between type and interface - Deciding on type annotations Covers: - Type safety (unknown vs any) - Type inference (when to skip return types) - Interface vs type guidelines - Utility types (Partial, Pick, Omit, etc.) - JSDoc documentation patterns ## 🧹 Clean Code Principles → See [rules/clean-code-principles.md](rules/clean-code-principles.md) Use when: - Writing any code - Creating functions - General refactoring Covers: - Meaningful names (reveal intent) - Functions do one thing - Prefer exceptions over error codes - DRY (Don't Repeat Yourself) - Small functions (5-20 lines) - Avoid side effects (Command-Query Separation) ## 🔶 SOLID Principles → See [rules/solid-principles.md](rules/solid-principles.md) Use when: - Designing class hierarchies - Creating reusable components - Refactoring classes Covers: - Single Responsibility Principle - Open/Closed Principle - Liskov Substitution Principle - Interface Segregation Principle - Dependency Inversion Principle ## 🏛️ Clean Architecture → See [rules/clean-architecture.md](rules/clean-architecture.md) Use when: - Structuring application layers - Implementing domain-driven design - Separating business logic from frameworks Covers: - Layer architecture (Entities, Use Cases, Adapters, Frameworks) - Dependency rules (dependencies point inward) - Framework independence - Testability patterns - Folder structure examples ## ⚡ JavaScript Performance Performance optimization patterns for hot paths and frequently-executed code. ### DOM & Browser → See [rules/dom-performance.md](rules/dom-performance.md) Use when working with DOM manipulation and browser APIs: - Layout thrashing prevention - Batching reads/writes ### Caching Strategies → See [rules/caching-strategies.md](rules/caching-strategies.md) Use when optimizing expensive operations: - Property access in loops - Repeated function calls - Storage API calls (localStorage, cookies) ### Data Structures → See [rules/data-structures.md](rules/data-structures.md) Use when choosing data structures for performance: - Index maps for repeated lookups - Set/Map for O(1) membership checks ### Array Optimization → See [rules/array-optimization.md](rules/array-optimization.md) Use when working with arrays: - Combining multiple iterations - Early length checks for comparisons - Min/max without sorting - Immutable operations (toSorted) ### Control Flow → See [rules/control-flow-optimization.md](rules/control-flow-optimization.md) Use when optimizing function logic: - Early returns - RegExp hoisting - Guard clauses --- ## Quick Reference ### Naming Summary | Concept | Naming | See Also | | -------------------------- | ---------- | ---------------------------------------- | | Feature folders | kebab-case | [React](rules/react-naming.md) | | Composite component folder | PascalCase | [React](rules/react-naming.md) | | React components | PascalCase | [React](rules/react-naming.md) | | Hooks | camelCase | [React](rules/react-naming.md) | | Functional utils | kebab-case | [TypeScript](rules/typescript-naming.md) | | Utility classes / services | PascalCase | [TypeScript](rules/typescript-naming.md) | | Domain entities & types | PascalCase | [DDD](rules/ddd-naming.md) | ### Helper Categories | Type | Purpose | Example | | ---------- | ---------------------- | ----------------------------------- | | Formatter | Display transformation | `formatCurrency`, `formatDate` | | Validator | Data validation | `isValidEmail`, `isRequired` | | Parser | Format conversion | `parseISODate`, `parseJSON` | | Calculator | Business logic | `calculateDiscount`, `calculateTax` | | Guard | Type narrowing | `isError`, `isDefined` | See [helper-function-patterns.md](rules/helper-function-patterns.md) for details. ### Performance Quick Tips **DOM:** Batch DOM reads/writes to avoid layout thrashing **Caching:** Cache property access in loops, function results, storage APIs **Data Structures:** Use Map/Set for O(1) lookups instead of Array.find() **Arrays:** Combine iterations, check length before sorting, use toSorted() **Control Flow:** Return early, hoist RegExp, use guard clauses --- > Converted and distributed by [TomeVault](https://tomevault.io/claim/alexandrebenkendorf) — claim your Tome and manage your conversions. <!-- tomevault:4.0:skill_md:2026-04-13 -->
Auf GitHub ansehen