mcpField
N
neo-typescript

neo-typescript

github.com/benknightdark开发739 次安装4 天前更新
代码仓库

关于 neo-typescript

neo-typescript 是面向 AI Agent 的 TypeScript 编码技能,适用于编写、修改和审查代码,关注严格类型安全、可维护性及 ESM/CJS 互操作。它会检查项目配置,并按任务加载参考指南。

主要功能

  1. 01检查项目 tsconfig
  2. 02按任务加载参考指南
  3. 03生成并审查类型安全代码
  4. 04检查 ESM/CJS 互操作风险
  5. 05提供单元测试断言建议

适用场景

  1. 01审查 TypeScript 项目配置
  2. 02按严格类型规则重构代码
  3. 03检查模块互操作风险
  4. 04生成高级类型并设计测试断言

安装

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

$npx skills add https://github.com/benknightdark/neo-skills --skill neo-typescript

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

包含的文件

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

evals/
eval_queries.json
evals.json
references/
advanced-meta-types.md
compatibility-and-interop.md
type-system-basics.md

详细介绍

Neo TypeScript 专家技能

此技能指导 AI Agent 编写符合最严格类型安全要求、具备高度可维护性和高级元编程灵活性的代码,同时全面避免 ESM/CJS 互操作陷阱等运行时问题。

💡 注意事项

  • 可写别名绕过只读限制:在 TypeScript 中,readonly 只限制对属性本身的赋值。被引用对象或数组的内部成员仍可修改。此外,只读对象可以赋值给可写别名,从而完全绕过编译器的只读检查。
  • 部分启用 esModuleInterop 导致致命崩溃:启用 allowSyntheticDefaultImports 却未启用 esModuleInterop,会导致代码通过编译时类型检查,但由于转译输出中缺少 __importDefault 发射辅助函数,运行时会立即崩溃(TypeError: default is not a function)。
  • 库作者的双重默认导出陷阱:在库中使用 export default 会迫使 Node.js ESM 使用者通过调用 .default() 来访问模块。黄金标准是彻底放弃 export default,改用 export = 或命名导出。

📋 静态代码与类型安全审查 SOP

当被要求编写、修改、重构或审查 TypeScript 代码时,请严格执行以下工作流:

步骤 1 — 感知项目环境(感知)
  1. 检查项目的 tsconfig.json 设置,重点关注 "strict": true、"strictNullChecks" 和 "strictFunctionTypes" 的配置。
  2. 确定目标模块格式和解析机制("moduleResolution")。
步骤 2 — 核心类型路径选择(推理)

根据任务的具体技术领域,逐步披露并加载技能中的相应参考文件。请勿一次性加载所有文件,以节省上下文令牌空间:

步骤 3 — 精确生成与审查代码(执行)
  1. 确保所有生成或修改的代码严格遵循已加载参考资料中的指南(例如,绝不声明可选回调参数,确保泛型类型参数至少出现两次以建立关联)。
  2. 对于高级类型生成,根据 evals 配置建议清晰的单元测试断言。

🛠️ 可用资源(相对路径)

评论

支持 Markdown