关于 code-generation-template
面向自动生成脚手架和重复代码的开发者技能。内容涵盖模板、AST 技术、基于模式的生成和 CLI 生成器,并提供验证与可维护性指导。
主要功能
- 01基于模板生成代码
- 02基于 AST 的生成技术
- 03项目与组件脚手架
- 04API 客户端和模型生成
- 05自定义 CLI 生成器指导
- 06验证与维护实践
适用场景
- 01搭建新项目或组件脚手架
- 02按模式生成 CRUD 代码
- 03从 OpenAPI 规范生成 API 客户端
- 04从 JSON Schema 生成类型
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill code-generation-template安装后在 Claude Code 中输入/code-generation-template确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/ast-based-code-generation.mddatabase-model-generation.mdgraphql-code-generation.mdopenapi-client-generation.mdplopjs-generator.mdproject-scaffolding.mdtemplate-engines.mdscripts/validate-api.shtemplates/api-scaffold.yaml详细介绍
代码生成与模板
目录
概述
全面介绍代码生成技术,包括模板引擎、AST 操作、代码脚手架和自动生成样板代码,以提高效率并保持一致性。
适用场景
- 为新项目或组件搭建脚手架
- 生成重复的样板代码
- 自动创建 CRUD 操作
- 根据 OpenAPI 规范生成 API 客户端
- 根据模板构建代码
- 根据架构创建数据库模型
- 根据 JSON Schema 生成 TypeScript 类型
- 构建自定义 CLI 生成器
快速开始
最简可运行示例:
// templates/component.hbs
import React from 'react';
export interface {{pascalCase name}}Props {
{{#each props}}
{{this.name}}{{#if this.optional}}?{{/if}}: {{this.type}};
{{/each}}
}
export const {{pascalCase name}}: React.FC<{{pascalCase name}}Props> = ({
{{#each props}}{{this.name}},{{/each}}
}) => {
return (
<div className="{{kebabCase name}}">
{/* Component implementation */}
</div>
);
};
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| 模板引擎 | 模板引擎 |
| 基于 AST 的代码生成 | 基于 AST 的代码生成 |
| 项目脚手架 | 项目脚手架 |
| OpenAPI 客户端生成 | OpenAPI 客户端生成 |
| 数据库模型生成 | 数据库模型生成 |
| GraphQL 代码生成 | GraphQL 代码生成 |
| Plop.js 生成器 | Plop.js 生成器 |
最佳实践
✅ 应该做
- 使用模板生成重复的代码模式
- 根据架构生成 TypeScript 类型
- 在生成的代码中包含测试
- 在模板中遵循项目约定
- 添加注释来说明生成的代码
- 对模板进行版本控制
- 让模板支持配置
- 随代码一并生成文档
- 生成前验证输入
- 使用一致的命名约定
- 保持模板简单且易于维护
- 提供 CLI,方便生成
❌ 不应该做
- 过度生成(避免不必要的复杂性)
- 生成难以维护的代码
- 忘记验证生成的代码
- 在模板中硬编码值
- 生成代码却不附带文档
- 为一次性场景创建生成器
- 在模板中混入业务逻辑
- 生成代码却不进行格式化
- 忽略生成器中的错误处理
- 创建过于复杂的模板
评论
支持 Markdown