← スキル一覧に戻る

1k-coding-patterns
by OneKeyHQ
1k-coding-patternsは、ブロックチェーン技術を活用したソリューション開発を支援するスキルです。スマートコントラクトと分散システム構築をサポートします。
⭐ 2,181🍴 470📅 2026年1月23日
ユースケース
📜
スマートコントラクト開発
スマートコントラクトの作成とデプロイを効率化。
👛
ウォレット連携
暗号資産ウォレットとの連携を実装。
🔎
トランザクション分析
ブロックチェーントランザクションを分析・追跡。
SKILL.md
name: 1k-coding-patterns description: Coding patterns and best practices for OneKey development. Use when writing React components, handling promises, error handling, or following code conventions. Triggers on react, component, hooks, promise, async, await, error, pattern, convention, typescript. allowed-tools: Read, Grep, Glob, Write, Edit
OneKey Coding Patterns and Best Practices
General Development
- Develop functions with a test-driven development mindset, ensuring each low-level function or method intended for reuse performs a single, atomic task, but avoid adding unnecessary abstraction layers
Promise Handling - MANDATORY COMPLIANCE
- ALWAYS await Promises; use
voidprefix ONLY if intentionally not awaiting - ZERO TOLERANCE for floating promises - they cause unhandled rejections
- FOLLOW the
@typescript-eslint/no-floating-promisesrule strictly - BEFORE ANY ASYNC OPERATION: Consider error scenarios and add appropriate try/catch blocks
- VERIFY: All Promise chains have proper error handling
React Components
- Avoid default React import; use named imports only
- Prefer functional components over class components
- Use pure functions to create components; avoid importing
import type { FC } from 'react' - Follow React hooks rules (dependencies array, call only at top level)
- Use the
usePromiseResultanduseAsyncCallhooks with proper dependency arrays
Restricted Patterns - STRICTLY FORBIDDEN
ABSOLUTELY FORBIDDEN PATTERNS:
- ❌ NEVER use
toLocaleLowerCase()ortoLocaleUpperCase()→ UsetoLowerCase()andtoUpperCase()instead - ❌ NEVER directly import from
'@onekeyfe/hd-core'→ ALWAYS useconst {} = await CoreSDKLoader()pattern - ❌ NEVER import
localDbInstancedirectly → ALWAYS uselocalDbinstead - ❌ NEVER modify auto-generated files (
translations.ts, locale JSON files) - ❌ NEVER bypass TypeScript types with
anyor@ts-ignorewithout documented justification - ❌ NEVER commit code that fails linting or TypeScript compilation
VIOLATION CONSEQUENCES:
- Build failures and broken development environment
- Security vulnerabilities and data corruption
- Breaking multi-platform compatibility
- Circular dependency hell
Error Handling
- Use try/catch blocks for async operations that might fail
- Provide appropriate error messages and fallbacks
- Consider using the
useAsyncCallhook for operations that need loading/error states
Linting and Code Quality
- ESLint warnings should be fixed before PRs
- Run
yarn run lintto check for and fix ESLint issues
Comments and Documentation
- All comments must be written in English
- Use clear and concise English for inline comments, function documentation, and code explanations
- Avoid using non-English languages in comments to maintain consistency and accessibility for all developers
- Do not use Chinese comments; always use English comments only
Code Examples
Correct Promise Handling
// GOOD: Properly awaited
async function fetchData() {
try {
const result = await apiCall();
return result;
} catch (error) {
console.error('Failed to fetch:', error);
throw error;
}
}
// GOOD: Intentionally not awaited (with void)
void backgroundTask();
// BAD: Floating promise
function badExample() {
apiCall(); // ❌ Will trigger lint error
}
Correct React Component Pattern
// GOOD: Named imports, functional component
import { useState, useEffect, useCallback } from 'react';
import { Stack, Button } from '@onekeyhq/components';
function MyComponent({ data }: { data: MyData }) {
const [state, setState] = useState(null);
const handlePress = useCallback(() => {
// handler logic
}, []);
return (
<Stack>
<Button onPress={handlePress}>Action</Button>
</Stack>
);
}
// BAD: Default import, FC type
import React, { FC } from 'react'; // ❌
const MyComponent: FC<Props> = () => {}; // ❌
Correct HD Core Usage
// GOOD: Use CoreSDKLoader
async function useHardware() {
const { HardwareSDK } = await CoreSDKLoader();
// use HardwareSDK
}
// BAD: Direct import
import { HardwareSDK } from '@onekeyfe/hd-core'; // ❌
スコア
総合スコア
90/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
✓説明文
100文字以上の説明がある
+10
✓人気
GitHub Stars 1000以上
+15
✓最近の活動
1ヶ月以内に更新
+10
✓フォーク
10回以上フォークされている
+5
○Issue管理
オープンIssueが50未満
0/5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
レビュー
💬
レビュー機能は近日公開予定です


