Skip to content

Instantly share code, notes, and snippets.

@gandli
Last active January 3, 2024 05:34
Show Gist options
  • Save gandli/c4a239ed5e2ef99b74ad9f82c5457834 to your computer and use it in GitHub Desktop.
Save gandli/c4a239ed5e2ef99b74ad9f82c5457834 to your computer and use it in GitHub Desktop.
.commitlintrc.js
// .commitlintrc.js
/** @type {import('cz-git').UserConfig} */
module.exports = {
rules: {
// @see: https://commitlint.js.org/#/reference-rules
},
prompt: {
alias: {
in: "🎉 chore:庆祝 (初次提交)| Celebrate (initial submission)",
ft: "✨ feat:新功能 | New feature",
fx: "🐛 fix:修复 bug | Fix bug",
dc: "📝 docs:文档更新 | Update documentation",
sy: "🎨 style:代码格式更新 | Improve structure / format",
rf: "🔨 refactor:重构 | Refactor",
ts: "✅ test:添加测试 | Add tests",
cr: "🎉 chore:杂项更新 | Chore",
re: "🔥 remove:移除代码或文件 | Remove code or files",
},
messages: {
type: "选择你要提交的类型 :",
scope: "选择一个提交范围(可选):",
customScope: "请输入自定义的提交范围 :",
subject: "填写简短精炼的变更描述 :\n",
body: '填写更加详细的变更描述(可选)。使用 "|" 换行 :\n',
breaking: '列举非兼容性重大的变更(可选)。使用 "|" 换行 :\n',
footerPrefixesSelect: "选择关联 issue 前缀(可选):",
customFooterPrefix: "输入自定义 issue 前缀 :",
footer: "列举关联 issue (可选) 例如:#31, #I3244 :\n",
generatingByAI: "正在通过 AI 生成你的提交简短描述...",
generatedSelectByAI: "选择一个 AI 生成的简短描述:",
confirmCommit: "是否提交或修改 commit ?",
},
types: [
{
value: "chore",
name: "chore: 🎉 庆祝 (初次提交) | Celebrate (initial submission)",
emoji: "🎉",
},
{
value: "feat",
name: "feat: ✨ 火花 (引入新功能) | Sparkles (new features)",
emoji: "✨",
},
{
value: "release",
name: "release: 🔖 书签 (发行/版本标签) | Bookmark (release / version tag)",
emoji: "🔖",
},
{
value: "bugfix",
name: "bugfix: 🐛 bug (修复 bug) | Bug (fix bug)",
emoji: "🐛",
},
{
value: "patch",
name: "patch: 🚑 急救车 (重要补丁) | Ambulance (critical hotfix)",
emoji: "🚑",
},
{
value: "i18n",
name: "i18n: 🌐 地球 (国际化与本地化) | Globe (internationalization and localization)",
emoji: "🌐",
},
{
value: "ui",
name: "ui: 💄 口红 (更新 UI 和样式文件) | Lipstick (update UI and style files)",
emoji: "💄",
},
{
value: "demo",
name: "demo: 🎬 场记板 (更新演示/示例) | Clapperboard (update demo)",
emoji: "🎬",
},
{
value: "lint",
name: "lint: 🚨 警车灯 (移除 linter 警告) | Police Cars Revolving Light (fix linter warnings)",
emoji: "🚨",
},
{
value: "config",
name: "config: 🔧 扳手 (修改配置文件) | Wrench (modify config files)",
emoji: "🔧",
},
{
value: "dependency",
name: "dependency: ➕ 加号 (增加一个依赖) | Plus (add a dependency)",
emoji: "➕",
},
{
value: "dependency",
name: "dependency: ➖ 减号 (减少一个依赖) | Minus (remove a dependency)",
emoji: "➖",
},
{
value: "upgrade",
name: "upgrade: ⬆️ 上升箭头 (升级依赖) | Upwards Arrow (upgrade dependencies)",
emoji: "⬆️",
},
{
value: "downgrade",
name: "downgrade: ⬇️ 下降箭头 (降级依赖) | Downwards Arrow (downgrade dependencies)",
emoji: "⬇️",
},
{
value: "perf",
name: "perf: ⚡️ 闪电 (提升性能) | Lightning (improve performance)",
emoji: "⚡️",
},
{
value: "perf",
name: "perf: 🐎 赛马 (提升性能) | Racehorse (improve performance)",
emoji: "🐎",
},
{
value: "analytics",
name: "analytics: 📈 上升趋势图 (添加分析或跟踪代码) | Chart Increasing (add analytics or track code)",
emoji: "📈",
},
{
value: "deploy",
name: "deploy: 🚀 火箭 (部署功能) | Rocket (deploy features)",
emoji: "🚀",
},
{
value: "test",
name: "test: ✅ 增加测试 | Add tests",
emoji: "✅",
},
{
value: "refactor",
name: "refactor: 🔨 重大重构 | Hammer (heavy refactoring)",
emoji: "🔨",
},
{
value: "docs",
name: "docs: 📝 撰写文档 | Write documentation",
emoji: "📝",
},
{
value: "style",
name: "style: 🎨 改进代码结构/代码格式 | Paintbrush (improve structure / format)",
emoji: "🎨",
},
{
value: "remove",
name: "remove: 🔥 移除代码或文件 | Fire (remove code or files)",
emoji: "🔥",
},
{
value: "fix",
name: "fix: ✏️ 修复 typo | Pencil (fix typo)",
emoji: "✏️",
},
{
value: "wip",
name: "wip: 🚧 工作进行中 | Construction (work in progress)",
emoji: "🚧",
},
{
value: "ci",
name: "ci: 👷 添加 CI 构建系统 | Construction Worker (add CI build system)",
emoji: "👷",
},
{
value: "build",
name: "build: 💚 修复 CI 构建问题 | Green Heart (fix CI build issues)",
emoji: "💚",
},
{
value: "security",
name: "security: 🔒 修复安全问题 | Lock (fix security issues)",
emoji: "🔒",
},
{
value: "docker",
name: "docker: 🐳 Docker 相关工作 | Whale (Docker-related work)",
emoji: "🐳",
},
{
value: "macOS",
name: "macOS: 🍎 修复 macOS 下的问题 | Apple (fix macOS issues)",
emoji: "🍎",
},
{
value: "linux",
name: "linux: 🐧 修复 Linux 下的问题 | Penguin (fix Linux issues)",
emoji: "🐧",
},
{
value: "windows",
name: "windows: 🏁 修复 Windows 下的问题 | Checkered Flag (fix Windows issues)",
emoji: "🏁",
},
],
useEmoji: true,
emojiAlign: "left",
themeColorCode: "",
scopes: [],
allowCustomScopes: true,
allowEmptyScopes: true,
customScopesAlign: "bottom",
customScopesAlias: "以上都不是?我要自定义",
emptyScopesAlias: "跳过",
upperCaseSubject: false,
markBreakingChangeMode: false,
allowBreakingChanges: ["feat", "fix"],
breaklineNumber: 100,
breaklineChar: "|",
skipQuestions: [],
issuePrefixes: [
// 如果使用 gitee 作为开发管理
{
value: "link",
name: "link: 链接 ISSUES 进行中",
},
{
value: "closed",
name: "closed: 标记 ISSUES 已完成",
},
],
customIssuePrefixAlign: "top",
emptyIssuePrefixAlias: "跳过",
customIssuePrefixAlias: "自定义前缀",
allowCustomIssuePrefix: true,
allowEmptyIssuePrefix: true,
confirmColorize: true,
maxHeaderLength: Infinity,
maxSubjectLength: Infinity,
minSubjectLength: 0,
scopeOverrides: undefined,
defaultBody: "",
defaultIssues: "",
defaultScope: "",
defaultSubject: "",
useAI: false,
aiQuestionCB: ({ maxSubjectLength, diff }) =>
`用完整句子为以下 Git diff 代码写一个有见解并简洁的 Git 中文提交消息,不加任何前缀,并且内容不能超过 ${maxSubjectLength} 个字符:\`\`\`diff\n${diff}\n\`\`\``,
},
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment