一个优雅的 TypeScript 项目模板,助您快速启动新项目。
- 完整的 CI/CD 流水线(GitHub Actions)
- 自动化版本管理和发布(Release Please)
- 代码质量保障(ESLint, Prettier, Husky)
- TypeScript 严格模式配置
- pnpm workspace 结构
- npm 包发布配置和 OIDC 认证
- 测试框架集成(Vitest)
- 构建工具配置(tsup)
- Git 提交规范(Commitlint)
- 项目模板清理脚本(degit.json)
不只是克隆,而是孕育。使用 degit 启动新项目是最快的方式,确保零 git 历史污染。
# 在当前目录孕育新项目
npx degit sobird/murph .
# 或在特定文件夹孕育
npx degit sobird/murph my-new-project
# 重置名称和版本
cd my-new-project
# 初始化项目
pnpm installmurph 遵循最高标准的自动化软件交付规范。每一次更改都被追踪,每一次发布都可预测。
- 约定式提交: 每个提交都遵循严格的语义化结构,确保清晰性和机器可读性。
- Release Please: 自动版本管理和变更日志生成,无需手动
npm version。 - 构建溯源: 每个 NPM 发布包都包含构建溯源声明,直接关联 GitHub 源码。
通过自动化生命周期维护项目纯净度:
- 提交: 开发者推送
feat:、fix:或docs:类型的提交。 - 审查:
release-please自动维护发布 PR。 - 发布: 合并发布 PR 后,包将被构建、测试并发布到 NPM,采用 OIDC 身份验证握手。
- 使用 ESLint 进行代码检查
- Prettier 代码格式化(已禁用,由 ESLint 统一处理)
- Git Hooks 确保提交质量
遵循 约定式提交 规范:
- feat: 添加新功能
- fix: 修复 bug
- docs: 文档更新
- style: 代码样式调整(不影响功能)
- refactor: 重构代码
- test: 添加或修改测试
- chore: 构建过程或辅助工具的变动
# 安装依赖
pnpm install
# 构建项目
pnpm build
# 运行测试
pnpm test
# 代码检查
pnpm lint
# TypeScript 类型检查
pnpm typecheck
# 自动修复代码
pnpm lint:fix项目使用 release-please 自动生成版本号和变更日志。当满足以下条件时会创建发布 PR:
- 在
master分支上推送新提交 - 提交信息符合约定式提交规范
- 包含
BREAKING CHANGE的提交会触发主版本号升级
- 合并发布 PR 到
master - GitHub Actions 自动构建和测试
- 使用 OIDC 认证发布到 NPM
- 自动生成发布标签和变更日志
欢迎贡献!请确保:
- 遵循约定式提交规范
- 添加相关测试
- 保持代码风格一致
- 更新必要的文档