mcpField
A
arktype-validation

arktype-validation

github.com/oakoss开发20143 次安装10 周前更新
代码仓库

关于 arktype-validation

arktype-validation 是面向 TypeScript 项目的 ArkType 验证技能,适用于定义模式、运行时校验和类型推断。它涵盖字符串表达式、转换及作用域等用法。

主要功能

  1. 01使用字符串表达式定义模式
  2. 02运行时数据校验与类型推断
  3. 03支持转换、约束和自定义验证
  4. 04提供作用域、泛型与模式匹配
  5. 05校验环境变量及 Vite 构建环境

适用场景

  1. 01校验 API 请求与响应数据
  2. 02解析并验证 JSON 字符串
  3. 03验证表单输入和环境变量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oakoss/agent-skills --skill arktype-validation

安装后在 Claude Code 中输入/arktype-validation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
common-patterns.md
morphs-and-scopes.md
schema-types.md

详细介绍

ArkType 验证

概览

ArkType 是一个原生支持 TypeScript 的运行时验证库,使用与 TypeScript 语法相似的字符串表达式定义架构,并提供编辑器自动补全、语法高亮和经过优化的验证器。适用于构建类型安全的 API、验证 JSON 负载,或用更符合 TypeScript 风格的方案替换 Zod。不适用于需要兼容 Zod 生态系统或输出 JSON Schema 的项目。

包: arktype

快速参考

模式用法
type({ key: "string" })定义对象架构
type("string")基本类型
"string.email", "string.url"内置字符串验证器
"string.trim", "string.lower"内置字符串转换(变换)
"string.json.parse"将 JSON 字符串解析为经过验证的对象
"number > 0", "string >= 1"内联约束
"string | number"联合类型
"'a' | 'b' | 'c'"字符串字面量联合
"string[]"数组类型
"key?": "string"可选属性
"key = 'default'"默认值
.pipe(), .to()转换输出(变换)
.narrow()自定义验证(类似 Zod refine)
.pick(), .omit()选择对象属性
.merge()合并对象类型
scope({...}).export()可跨引用的命名类型作用域
type("<t>", { box: "t" })泛型类型定义
type.errors错误处理(检查 instanceof type.errors)
.assert(data)输入无效时抛出异常,而不是返回
"(number % 2)#even"品牌标记 — 仅类型层面的验证标记
"0 <= number <= 100"简洁的范围约束
configure()全局默认值(来自 arktype/config)
match()类型安全的模式匹配(2.1)
"+" : "reject"内联处理未声明的键
arkenv({ PORT: "number" })类型安全的环境变量验证(ArkEnv)
arkenvVitePlugin(Env)Vite 构建时环境变量验证

常见错误

错误修正
使用带括号的 type("string.email()")使用 type("string.email")(不带括号)
使用 === null 检查错误使用 instanceof type.errors
用 { key: "string?" } 表示可选属性使用 { "key?": "string" }(问号放在键上)
从 arktype/types 导入从 "arktype" 导入 type 和 scope
在字符串表达式中嵌套 type()使用 scope() 跨引用类型
直接使用 .pipe() 而不处理错误对可能抛出异常的操作使用 .pipe.try()
用 "string.lowercase" 进行大小写转换使用 "string.lower"(也可使用 "string.upper")
导入 arktype 后再进行配置在导入 arktype 之前导入 arktype/config
手动解析 process.env使用 arkenv() 自动强制转换并验证

委派

将 ArkType 模式定义、运行时验证、变形与转换、作用域和类型推断相关任务交给此技能。对于基于 Zod 的验证,请委派给 zod-validation 技能。

参考资料

  • 模式类型 — 基本类型、字符串关键字、数字约束、对象、数组、元组、联合、可选项、默认值
  • 变形与作用域 — 管道、变形转换、窄化验证、作用域、递归类型、泛型、全局配置、模式匹配
  • 常见模式 — JSON 解析、表单验证、API 响应、错误处理、ArkEnv 环境变量、Vite 插件、与 Zod 的比较

评论

支持 Markdown