0.0.30 • Published yesterdayCLI
@coze-arch/cli
Licence
MIT
Version
0.0.30
Deps
11
Size
5.6 MB
Vulns
0
Weekly
1.0K
@coze-coding/cli
Coze Coding 的项目模板引擎,提供基于前端技术栈的项目初始化能力。
特性
- 快速初始化: 一键创建预配置的项目模板
- AI 优先设计: 专为 AI Agent 消费设计,提供清晰的错误信息和自描述能力
- 多模板支持: 支持 React、Next.js、HTML 等多种技术栈
- 类型安全: 基于 JSON Schema 的参数校验和 TypeScript 类型生成
- 命令代理: 统一的 dev/build/start 命令,抹平不同技术栈差异
安装
rush update
使用
初始化项目
coze-coding init --template react --app-name my-app --use-typescript --use-tailwind
查看可用模板
coze-coding init --help
开发命令
# 启动开发服务器
coze-coding dev
# 构建生产版本
coze-coding build
# 启动生产服务器
coze-coding start
模板参数
每个模板都有自己的参数配置,通过 CLI 参数透传。参数名使用 kebab-case 格式,会自动转换为 camelCase 传入模板配置。
例如:
--app-name→appName--use-typescript→useTypeScript--port→port
开发模板
模板结构
template-name/
├── template.config.ts # 模板配置(开发时)
├── template.config.js # 模板配置(生产时)
├── .coze # 项目配置文件
└── src/ # 源代码(支持 EJS 模板)
参数定义
使用 JSON Schema 定义模板参数:
import type { JSONSchemaType } from 'ajv';
export interface TemplateParams {
appName: string;
useTypeScript: boolean;
port: number;
}
export const paramsSchema: JSONSchemaType<TemplateParams> = {
type: 'object',
properties: {
appName: {
type: 'string',
minLength: 1,
pattern: '^[a-z0-9-]+
生命周期钩子
export const onBeforeRender = (context) => {
// 渲染前处理
return context;
};
export const onAfterRender = (context, outputPath) => {
// 渲染后处理
};
编码规范
本项目严格遵循函数式编程风格:
- 使用纯函数和不可变数据
- 函数组合和高阶函数
- 使用工厂函数和闭包
- 禁止使用 class
- 避免副作用和可变状态
详见 技术设计文档
文档
许可证
内部项目
,
cliParam: '--app-name',
description: 'Application name'
},
useTypeScript: {
type: 'boolean',
default: true,
cliParam: '--use-typescript',
description: 'Enable TypeScript'
},
port: {
type: 'number',
default: 3000,
minimum: 1024,
maximum: 65535,
cliParam: '--port',
description: 'Development server port'
}
},
required: ['appName'],
additionalProperties: false
};
生命周期钩子
__CODE_BLOCK_6__编码规范
本项目严格遵循函数式编程风格:
- 使用纯函数和不可变数据
- 函数组合和高阶函数
- 使用工厂函数和闭包
- 禁止使用 class
- 避免副作用和可变状态
详见 技术设计文档
文档
许可证
内部项目