Cursor rule
HarmonyOS ArkTS Rules
HarmonyOS ArkTS rules for components, state, resources, layout, lifecycle, and accessibility
Component Structure
- Use
@Componentfor component definitions and PascalCase for component structs. - Keep state declarations near the top of the component.
- Group lifecycle hooks before
build(). - Place
build()last and keep it focused on UI composition. - Extract complex UI into smaller components.
State and Data Flow
- Use
@Statefor component-owned state. - Use
@Propfor parent-to-child data. - Use
@Linkonly for intentional two-way binding. - Keep derived values in methods or computed helpers rather than duplicating state.
- Avoid broad global state unless the project has an established app-state pattern.
Layout and Styling
- Use
Column,Row,Stack,List, and other ArkUI primitives intentionally. - Keep layout properties such as width, height, alignment, and layout weight grouped before visual properties.
- Use object notation for margin and padding when sides differ.
- Use logical pixels consistently.
- Use percentage strings for relative sizes.
- Keep reusable spacing, colors, and typography in resources when the project supports it.
Events and Lifecycle
- Use arrow functions for event handlers.
- Keep event handlers short and delegate complex logic to methods.
- Handle async failures explicitly and surface user-facing errors where appropriate.
- Use lifecycle hooks for setup and teardown that genuinely depends on component lifecycle.
Resources and Accessibility
- Use
$r()for app resources. - Group resource references consistently.
- Add descriptive labels and focus handling for interactive elements.
- Maintain color contrast and touch target size.
- Test on representative device sizes and orientations.
Common Mistakes
- Do not bury business logic in
build(). - Do not use two-way binding when one-way props are enough.
- Do not hardcode repeated strings, colors, and dimensions that belong in resources.
- Do not leave debug
console.logcalls in production code.
More Mobile rules
- AI Assistant Technical Instructions
- Android Jetpack Compose Cursorrules Prompt File
- Flutter App Expert Cursorrules Prompt File
- Flutter Development Guidelines Cursorrules Prompt File
- NativeScript Best Practices
- Nativescript Cursorrules Prompt File
- React Native Expo Cursorrules Prompt File
- React Native Expo Router Typescript Windows Cursorrules Prompt File
Frequently asked questions
What is the HarmonyOS ArkTS Rules Cursor rule?
HarmonyOS ArkTS rules for components, state, resources, layout, lifecycle, and accessibility It is a Mobile rule, stored as harmony-arkts.mdc.
How do I use the HarmonyOS ArkTS Rules rule in Cursor?
Copy the rule from this page and save it as harmony-arkts.mdc in your project's .cursor/rules folder, or paste it into Cursor's project rules settings.