mcpField
C
coding-typescript

coding-typescript

github.com/alphaonedev开发56 次安装
代码仓库

关于 coding-typescript

coding-typescript 是面向 TypeScript 5.x 开发的技能,涵盖类型安全、复杂类型逻辑和 tsconfig 配置。适用于开发、调试、代码审查以及将 JavaScript 迁移到 TypeScript 的工作。

主要功能

  1. 01配置 strict 模式
  2. 02编写泛型与装饰器
  3. 03使用映射类型和条件类型
  4. 04应用实用类型
  5. 05配置 tsconfig 编译选项

适用场景

  1. 01为 React 或 Node.js 项目实现类型安全
  2. 02将旧版 JavaScript 代码迁移到 TypeScript
  3. 03调试 TypeScript 类型错误
  4. 04审查或重构 TypeScript 代码

安装

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill coding-typescript

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

详细介绍

coding-typescript

目的

此技能可帮助 AI 进行 TypeScript 5.x 开发,重点涵盖严格模式、泛型、装饰器、映射类型与条件类型、工具类型以及 tsconfig 配置等高级特性。可用于实时生成、调试和优化 TypeScript 代码。

适用场景

在需要类型安全的项目中使用此技能,例如使用 React 的 Web 应用或 Node.js 后端。可用于代码审查、将遗留 JavaScript 重构为 TypeScript,或在严格模式环境中实现复杂的类型逻辑。除非计划迁移,否则不适用于纯 JavaScript 项目。

主要能力

  • 通过 tsconfig 启用严格模式:在 tsconfig.json 中设置 "strict": true,以捕获隐式 any 等错误。
  • 使用泛型:定义可复用的函数,例如 function identity<T>(arg: T): T { return arg; }。
  • 使用装饰器:应用来自 Angular 等框架的 @Component 类装饰器。
  • 使用映射类型:创建 type Partial<T> = { [P in keyof T]?: T[P]; } 等类型。
  • 实现条件类型:使用 type IsString<T> = T extends string ? true : false; 等结构。
  • 利用工具类型:应用 Omit<T, K> 或 Pick<T, K> 操作类型。
  • 配置 tsconfig:指定 "target": "es2022" 和 "module": "esnext" 等构建选项。

使用模式

要完成任务,请在查询前加上技能 ID 来调用此技能,例如:“使用 coding-typescript 编写一个泛型数组筛选函数。”请求中务必注明具体的 TypeScript 版本信息(5.x)。生成代码时,请提供上下文,例如:“生成一个在严格模式下使用装饰器的 TypeScript 类。”调试时,请提供错误消息和代码片段,以便有针对性地修复。与 IDE 集成时,请引用 tsconfig 路径,例如在 AI 辅助编辑前运行 tsc --project ./tsconfig.json。

常用命令/API

使用以下 TypeScript CLI 命令执行任务:

  • 使用严格模式编译:tsc --strict index.ts,以启用所有严格选项。
  • 监视更改:tsc -w --noEmitOnError,用于监视文件,并在发生错误时阻止输出文件。
  • 生成声明文件:tsc --declaration,以输出类型对应的 .d.ts 文件。 对于 API 用法,可在代码中参考 TypeScript 编译器 API:从 'typescript' 导入,并使用 ts.createProgram() 进行编程式编译。如果涉及 ESLint 等外部工具,可设置 $TSCONFIG_PATH 等环境变量来使用自定义配置。泛型函数代码片段:
function reverse<T>(array: T[]): T[] {
  return array.reverse();
}

装饰器的用法如下:

function logged(target: any) { console.log(target); }
@logged
class Example {}

集成说明

将此技能集成到 Node.js 项目时,请确保通过 npm install [email protected] 安装 TypeScript。对于相关服务的身份验证(例如从远程 API 获取类型时),请在脚本中使用 $TYPESCRIPT_API_KEY 等环境变量。在 tsconfig.json 中为模块添加路径:"paths": { "@app/*": ["src/*"] }。与其他技能结合使用时,可串联输出,例如先使用 "coding-javascript" 处理 JavaScript 部分,再将结果传递给此技能进行 TypeScript 转换。请通过指定 ES 模块来确保兼容性:设置 "module": "esnext",并使用 Webpack 等打包工具。

错误处理

处理 TypeScript 错误时,务必启用严格模式,并使用 tsc --pretty 获取易读的输出。对于类型错误,请检查具体信息,例如 "Type 'string' is not assignable to type 'number'",并通过代码片段提出修复建议。在运行时代码中实现 try-catch,例如:

try {
  const result = someFunction(); // Assume it might throw
} catch (error) {
  console.error(`Error: ${(error as Error).message}`);
}

对于构建错误,请使用 --diagnostics 重新运行 tsc,以获取详细报告。如果 AI 生成的代码无法运行,请附上确切的错误消息重新查询,例如:“修复以下代码中的 TypeScript 错误:'TS2322: Type X is not assignable to type Y':[snippet]”。

具体使用示例

  1. 示例 1:生成通用实用类型
    查询:“使用 coding-typescript 创建一个映射类型,使接口的所有属性都变为可选。”
    响应:生成类似 type Optional<T> = { [K in keyof T]?: T[K]; } 的代码。然后应用它:interface User { name: string; age: number; } type PartialUser = Optional<User>;。

  2. 示例 2:配置 tsconfig 以启用严格模式
    查询:“为项目配置启用严格模式和装饰器的 tsconfig.json。”
    提供:创建一个包含 { "compilerOptions": { "strict": true, "experimentalDecorators": true, "target": "es2022" } } 的文件。然后运行 tsc --project tsconfig.json 进行验证。

图关系

  • 关联到集群:“coding”(例如,链接到 “coding-javascript” 以共享模式)。
  • 标记为:“typescript”、“ts”、“coding”(关联到 “coding-react” 等基于 TypeScript 的框架相关技能)。
  • 依赖项:需要 “general-coding” 提供基础语法,并与 “tooling-npm” 集成以进行包管理。

评论

支持 Markdown