Copier Template

quick-template

一套模板,三种语言。秒级生成规范项目。

GitHub copier copy gh:gqy20/quick-template my-project

支持的语言

Python

uvruffpytestFastAPIrich
  • uv 极速包管理(比 pip 快 10-100x)
  • ruff 统一 lint + format(替代 flake8+black)
  • src layout 标准项目结构
  • Rich 美观日志输出
  • pre-commit 提交前检查

Go

go modGinCobragolangci-lintslog
  • Gin 高性能 Web 框架
  • Cobra 专业 CLI 框架
  • 标准 cmd/internal/pkg 布局
  • slog 结构化日志
  • golangci-lint 一站式检查

TypeScript

npmBiomevitestHonotsup
  • Biome 替代 ESLint + Prettier
  • vitest 极速测试框架
  • Hono 轻量 Web 框架
  • tsup 轻量打包工具
  • ESM 原生 + strict 类型安全

统一命令接口

无论选择哪种语言,Make 命令完全一致

make install安装依赖
make check代码检查
make format格式化代码
make typecheck类型检查
make test运行测试
make test-cov测试 + 覆盖率
make run运行项目
make all全量检查

生成的项目结构

{{ project_slug }}/
├── src/{{ '{' }}package_name{{ '}' }}/
│   ├── __init__.py
│   ├── core.py
│   ├── logger.py
│   ├── api.py           # {% if add_api %}FastAPI{% endif %}
│   └── main.py
├── tests/
├── pyproject.toml       # uv + ruff + pytest
└── Makefile
{{ project_slug }}/
├── cmd/{{ '{' }}project_slug{{ '}' }}/
│   └── main.go         # 入口 (Cobra)
├── internal/
│   ├── handler/        # HTTP (Gin)
│   ├── service/        # 业务逻辑
│   └── model/          # 数据模型
├── pkg/logger/         # 日志库 (slog)
├── tests/
├── go.mod             # go mod + Gin + Cobra
└── Makefile
{{ project_slug }}/
├── src/
│   ├── index.ts        # 入口
│   ├── core.ts         # 核心功能
│   ├── logger.ts       # 日志
│   └── api/router.ts   # Hono 路由
├── tests/
├── package.json        # npm + Biome + vitest
├── tsconfig.json
└── Makefile

工作原理

1

选择语言

Copier 交互式询问,选择 Python / Go / TypeScript

2

配置选项

项目名称、作者、是否添加 API/CLI、开源协议等

3

一键生成

Copier 根据 Jinja2 条件渲染对应语言的完整项目

4

开箱即用

make install && make test 即可开始开发