OneKeyHQ

1k-coding-patterns

OneKey coding patterns for TypeScript, React, promises, date formatting, and error handling.

OneKeyHQ 2,474 540 Updated 3mo ago

Resources

1
GitHub

Install

npx skillscat add onekeyhq/app-monorepo/skillshare-skills-1k-coding-patterns

Install via the SkillsCat registry.

SKILL.md

OneKey Coding Patterns and Best Practices

Quick Reference

Topic Guide Key Points
Promise handling promise-handling.md Always await or use void, never floating promises
React components react-components.md Named imports, functional components, no FC type
Restricted patterns restricted-patterns.md Forbidden: toLocaleLowerCase, direct hd-core import
Date formatting date-formatting.md Use OneKey dateUtils, not native date formatting
Error handling error-handling.md Preserve errors across RPC/runtime boundaries

Critical Rules Summary

Promise Handling

// ❌ FORBIDDEN - floating promise
apiCall();

// ✅ CORRECT
await apiCall();
// or
void apiCall(); // intentionally not awaited

React Components

// ❌ FORBIDDEN
import React, { FC } from 'react';
const MyComponent: FC<Props> = () => {};

// ✅ CORRECT
import { useState, useCallback } from 'react';
function MyComponent({ prop }: { prop: string }) {}

Restricted Patterns

// ❌ FORBIDDEN
string.toLocaleLowerCase()
import { x } from '@onekeyfe/hd-core';
import { localDbInstance } from '...';

// ✅ CORRECT
string.toLowerCase()
const { x } = await CoreSDKLoader();
import { localDb } from '...';

Related Skills

  • /1k-i18n - Internationalization and translations
  • /1k-cross-platform - Platform-specific code
  • /1k-code-quality - Linting and code quality
  • /1k-performance - Performance optimization
  • /1k-state-management - Jotai atom patterns
  • /1k-architecture - Project structure and import rules