typescript
TypeScript development standards for LobeHub, covering type safety, async patterns, import organization, UI component integration, and performance optimization.
Introduction
This skill acts as a comprehensive technical guide for developers working within the LobeHub ecosystem. It enforces strict TypeScript practices to ensure code maintainability, type safety, and architectural consistency across the repository. It is designed for software engineers and contributors aiming to write high-quality, scalable code that integrates seamlessly with existing patterns.
-
TypeScript Type Safety: Guidelines on minimizing 'any', utilizing 'Record<PropertyKey, unknown>', preferring interfaces over types for object shapes, and leveraging 'as const satisfies' for stricter constraints.
-
Architectural Patterns: Instructions on ES module augmentation over namespaces and localized interface merging for plugin extensibility.
-
Async & Concurrency: Standards for using async/await, promise-based APIs, and concurrency helpers like Promise.all/race to manage complex operations.
-
Import Standardization: Strict rules for simple-import-sort, consistent-type-imports, and maintaining separate type and value import statements.
-
UI & Performance: Integration requirements for @lobehub/ui and antd-style, along with performance-focused loop practices and database query optimizations.
-
Usage Notes: Always consult this guide when initiating a new module or performing major refactoring on .ts, .tsx, or .mts files.
-
Practical Tips: Use @ts-expect-error instead of ts-ignore, prefer destructuring for cleaner code, and define metadata fields adjacent to the logic that processes them.
-
Constraints: Avoid logging private user information and refrain from using synchronous APIs to maintain non-blocking execution flows.
-
Inputs/Outputs: This skill is active whenever you modify TypeScript files or discuss code quality, providing automated checks against these established standards.
Repository Stats
- Stars
- 75,828
- Forks
- 15,036
- Open Issues
- 740
- Language
- TypeScript
- Default Branch
- main
- Sync Status
- Idle
- Last Synced
- Apr 29, 2026, 08:37 AM