Token导航 LogoToken导航TokenDH.com
前端设计只读github未标认证来源可访问许可证需确认审计通过

arkts-code-linterarkts 代码 linter

Agent Skill

arkts-code-linter 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

346

周安装

14

GitHub Stars

公开资料未说明

下载量

109
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:arkts-code-linter(arkts 代码 linter)
来源仓库:https://github.com/clmc2025/vignette
仓库路径:skills/arkts-code-linter
安装命令:
npx skills add https://github.com/clmc2025/vignette --skill arkts-code-linter
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/clmc2025/vignette --skill arkts-code-linter

简介

arkts-code-linter 基于华为 HarmonyOS NEXT 规范提供 ArkTS 代码静态检查,强制类型安全与模块化设计。

  • 适合在 CI 流程中拦截 any/unknown 类型滥用、空值未处理及 JSON 解析不安全操作。
  • 覆盖 @Component、@Builder 等装饰器使用规范,确保组件拆分合理性与状态管理正确性。
  • 使用前应将 linter 集成到构建脚本,并在提交前运行完整规则集检查。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

ArkTS Code Linter - HarmonyOS NEXT 规范检查工具

功能概述

本工具基于 华为 HarmonyOS NEXT 官方开发文档 和项目规范,提供全面的 ArkTS 代码检查功能。

核心检查规则

1. 语言规范检查 (强制)

1.1 严格类型安全

  • 禁止 any 类型:所有变量和函数返回值必须显式声明类型
  • 禁止 unknown 类型:特殊情况需添加注释说明
  • 空安全检查:必须处理 nullundefined
  • ESObject 使用规范:仅在与 JS 库交互时使用,使用后立即转换

1.2 语法限制

  • 类字段初始化:必须在声明时或构造函数中初始化
  • 模块化规范:使用 ES6 import/export,禁止 CommonJS require
  • 类型声明:禁止内联对象字面量作为类型,必须使用具名 interface/type
  • JSON 解析JSON.parse() 后必须转为显式结构类型

2. ArkUI 开发规范

2.1 组件化设计

  • 装饰器检查@Component@Entry 使用规范
  • Builder 语法@Builder 内禁止 return 早退和普通语句块
  • 组件拆分:单个文件不超过 500 行

2.2 状态管理

  • 装饰器选择@State@Prop@Link@Provide/@Consume 正确使用
  • 状态更新:必须通过赋值更新,禁止直接修改对象属性

2.3 布局与样式

  • 单位规范:使用 vp/fp,禁止硬编码 px
  • 布局性能:减少 Stack/Flex 嵌套,优先使用 RelativeContainer
  • 列表渲染:必须使用 LazyForEach 并提供唯一 keyGenerator

3. 性能优化检查

3.1 渲染性能

  • LazyForEach:长列表必须使用懒加载
  • 条件渲染:频繁切换使用 visibility 而非 if/else
  • 图片优化:大图使用 sourceSize 属性

3.2 并发与异步

  • 主线程减负:耗时操作移至 TaskPoolWorker
  • 异步规范:使用 Promise 或 async/await

3.3 内存管理

  • 资源释放aboutToDisappear 中注销监听和定时器
  • 上下文泄漏:禁止持有 AbilityContext 或 UI 组件引用

4. 项目架构规范

4.1 目录结构

entry/src/main/ets/
├── pages/          # 页面入口 (@Entry)
├── components/     # 公共 UI 组件
├── model/          # 数据模型
├── utils/          # 工具类
├── service/        # 业务逻辑服务
└── resources/      # 静态资源

4.2 命名规范

  • 类/接口/组件:PascalCase
  • 变量/函数:camelCase
  • 常量/枚举:UPPER_SNAKE_CASE

使用方法

命令行检查

# 检查单个文件
arkts-linter check src/main/ets/pages/Index.ets

# 检查整个目录
arkts-linter check src/main/ets/

# 自动修复可修复的问题
arkts-linter fix src/main/ets/pages/Index.ets

配置规则

在项目根目录创建 .arktslintrc.json

{
  "rules": {
    "no-any": "error",
    "no-unknown": "error",
    "static-method-this": "error",
    "component-syntax": "error",
    "indent": ["error", 2],
    "naming-convention": "error",
    "proper-decorator-use": "error",
    "component-root-node": "error",
    "state-management": "warning",
    "lazy-for-each": "error",
    "no-px-unit": "error",
    "use-vp-fp": "error"
  },
  "ignore": [
    "node_modules/**",
    "build/**",
    "oh_modules/**",
    "*.test.ets"
  ]
}

规则说明

规则名称描述严重程度可修复
no-any禁止使用 any 类型errorfalse
no-unknown禁止使用 unknown 类型errorfalse
static-method-this静态方法中禁止使用 thiserrortrue
no-untyped-objects禁止无类型对象字面量errorfalse
component-syntax组件语法规范检查errorfalse
proper-decorator-use装饰器正确使用errorfalse
component-root-node组件根节点规则errorfalse
state-management状态管理最佳实践warningfalse
lazy-for-each列表必须使用 LazyForEacherrorfalse
no-px-unit禁止硬编码 px 单位errortrue
use-vp-fp必须使用 vp/fp 单位errortrue
indent缩进规范errortrue
naming-convention命名规范检查errorfalse

忽略特定代码

// 忽略单行
// @arktslint-ignore no-any
const data: any = getData();

// 忽略多行
// @arktslint-ignore no-any, no-unknown
const data: any = getData();
const info: unknown = getInfo();

// 忽略整个文件
// @arktslint-ignore-file

参考文档

许可证

MIT License

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.38%
按下载量换算39

Claude

27.3%
按下载量换算30

Cursor

18.56%
按下载量换算20

Gemini CLI

10.21%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills