* 提交插件
变换你的 用 AI 驱动的 Git 工作流程传输符合常规标准的信息, 每次通过 Commontlint 验证
目录
说明
Commiteden 插件 Contlint AI通过将人工智能的力量与严格的常规承诺标准相结合,使开发者撰写消息的方式发生革命化. 这个插件以干净的建筑原理为基础, 与您现有的Comtizen工作流程无缝地融合, 生成有意义的, 具有上下文意识的信息, 以遵守您的项目 Cottlint 规则 .
无论是在独奏项目上工作,还是在大型团队中合作,这个工具都消除了在保持连贯,高品质的吉特历史的同时,巧妙地完成承诺信息的制作的认知上浮. 提供者访问、模型目录、证书分辨率和运行时间生成通过集中 @elsikora/ai-core。 。 。 .
插件明智地分析您的已上演的修改,理解您的修改的背景,并生成不仅遵循常规格式,而且为修改提供了有意义的描述的传输消息. 通过自动验证和智能重试机制,它确保每个承诺信息都符合您项目的标准.
* 特性
- ✨ 🤖 AI 权力生成 - 利用AI-Core供应商和模型目录,以创建与背景相关的承诺信息
- ✨ ✅ Cotlint 整合 - 自动验证和修正消息,以遵守项目中的Comtlint规则
- ✨ 🔄 智能重试机制 - 明智地进行再造和验证,进行可塑尝试
- ✨ 🎯 清洁建筑 - 以SOLID原则、依赖性注射和明确区分关切为基础
- ✨ 🌐 多服务支持 - 选择任何被曝光的提供者
@elsikora/ai-core,包括OpenAI,Anthropic,Google,Azure,AWS Bedrock, Cerebras,Vercel AI Gateway,或本地Ollama模型 - ✨ 🛡️ 类型安全 - 用TypeScript完全打入,以提高开发者的经验和可靠性
- ✨ ⚡ 弹性配置 - 通过 JSON、YAML 或 JavaScript 支持简单设置
- ✨ 🔐 安全 API 密钥处理 - 环境变量支持,采用基于会话的关键输入选项
- ✨ 📝 手动模式倒置 - 必要时无缝地切换到指南手册输入
- ✨ 🚀 中断更改检测 - 自动识别和记录更改
* 安装
# Install the plugin as a dev dependency
npm install --save-dev @elsikora/commitizen-plugin-commitlint-ai
# Initialize Commitizen with this adapter
npx commitizen init @elsikora/commitizen-plugin-commitlint-ai --save-dev --save-exact
# Install Commitlint (if not already installed)
npm install --save-dev @commitlint/cli @commitlint/config-conventional
# Create a commitlint config file
echo "export default { extends: ['@commitlint/config-conventional'] };" > commitlint.config.js
使用量
基本用途
快速启动
# Stage your changes
git add .
# Run the AI-powered commit wizard
git cz
# or
npm run commit
配置方法
插件支持多种配置方法 :
1. 环境变量(建议)
全权证书由AI-Core解决. 为选定的提供者使用环境变量 :
# .env file
OPENAI_API_KEY=sk-...
# or
ANTHROPIC_API_KEY=sk-ant-...
# or
GOOGLE_API_KEY=AIza...
# or (Azure OpenAI)
AZURE_OPENAI_API_KEY=https://your-resource.openai.azure.com|your-api-key|your-deployment-name
# or (AWS Bedrock)
AWS_BEDROCK_API_KEY=us-east-1|access-key-id|secret-access-key
# or (Ollama)
OLLAMA_API_KEY=localhost:11434|llama3.2
# or (Cerebras)
CEREBRAS_API_KEY=...
# or (Vercel AI Gateway)
AI_GATEWAY_API_KEY=...
2. 配置文件
AI 提供者/模型配置在 .elsikora/ai-core.config.js数字 :
export default {
modules: {
"commitlint-plugin-commitlint-ai": {
provider: "openai",
model: "gpt-4o",
retries: 3,
validationRetries: 3,
},
},
};
提交模式和取票设置 .elsikora/commitlint-ai.config.js数字 :
export default {
mode: "auto",
maxRetries: 3,
validationMaxRetries: 3,
ticket: {
// auto | branch-lint | pattern | none
source: "auto",
// Used in "pattern" mode, and as fallback when configured
pattern: "[a-z]{2,}-[0-9]+",
patternFlags: "i",
// preserve | lower | upper
normalization: "preserve",
// fallback | error (only for source: "branch-lint")
missingBranchLintBehavior: "fallback",
},
};
出票源配置
您可以控制从哪里提取出票证 :
source: "branch-lint"- 分析票从git-branch-lint模板 (branch-pattern(中文(简体) )source: "pattern"- 当地regex的票价(ticket.pattern(中文(简体) )source: "auto"-试试看git-branch-lint首先,然后回到本地正则source: "none"- 完全禁止取票
使用时 source: "branch-lint" 且没有分支林特配置 :
missingBranchLintBehavior: "fallback"- 回归当地监管missingBranchLintBehavior: "error"- 扔出一个错误并停止
3. 软件包.json
{
"elsikora": {
"commitlint-ai": {
"mode": "auto"
},
"ai-core": {
"modules": {
"commitlint-plugin-commitlint-ai": {
"provider": "anthropic",
"model": "claude-sonnet-4-5"
}
}
}
}
}
提交模式
自动模式( AI- Powered)
AI分析您的更改并生成适当的承诺消息:
$ git cz
✔ Using AI-powered commit mode...
✔ AI generated initial commit message
✔ AI generated commit message successfully!
┌─────────────────────────────────┐
│ Generated commit message: │
├─────────────────────────────────┤
│ feat(auth): implement OAuth2 │
│ │
│ Added OAuth2 authentication │
│ flow with JWT token support. │
│ Includes refresh token logic │
│ and secure session management. │
│ │
│ BREAKING CHANGE: Auth API │
│ endpoints have been updated │
└─────────────────────────────────┘
✔ Do you want to proceed with this commit message? (Y/n)
手动模式
以验证方式输入信件创建 :
$ git cz
✔ Using manual commit mode...
? Select commit type: (Use arrow keys)
❯ feat: A new feature ✨
fix: A bug fix 🐛
docs: Documentation only changes 📚
style: Code style changes 🎨
refactor: Code refactoring 📦
perf: Performance improvements 🚀
test: Adding tests 🚨
? Enter scope (optional): auth
? Enter commit subject: add login functionality
? Enter commit body (optional):
? Is this a breaking change? No
高级特性
重试配置
export default {
maxRetries: 5, // AI generation retries
validationMaxRetries: 3, // Validation fix attempts
};
提供者特定设置
Azure OpenAI : (英语)
AZURE_OPENAI_API_KEY=https://myresource.openai.azure.com|api-key|gpt-4-deployment
AWS 贝德洛克:
AWS_BEDROCK_API_KEY=us-west-2|AKIAIOSFODNN7EXAMPLE|wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
奥拉马(当地雇员):
# Default setup
OLLAMA_API_KEY=localhost:11434
# Custom model
OLLAMA_API_KEY=localhost:11434|codellama
Cotlint 整合
插件尊重您的全部 Cotlint 规则 :
// commitlint.config.js
export default {
extends: ["@commitlint/config-conventional"],
rules: {
"type-enum": [2, "always", ["feat", "fix", "docs", "style", "refactor"]],
"scope-case": [2, "always", "lower-case"],
"subject-max-length": [2, "always", 72],
"body-max-line-length": [2, "always", 100],
},
};
解决问题
强制手册模式
# Create manual mode marker
mkdir -p .elsikora
touch .elsikora/manual
清除配置缓存
rm -rf .elsikora/commitlint-ai.config.*
rm -rf .elsikora/ai-core.config.*
* 路线图
| 任务/ 特性 | 状态 |
|---|---|
| 核心AI动力承诺生成 | 完毕 |
| 通过AI-Core提供的多供应商支助 | 完毕 |
| Countlint 规则集成 | 完毕 |
| 清洁建筑的实施 | 完毕 |
| 自动验证和修复 | 完毕 |
| 环境变量支持 | 完毕 |
| Cosmiconfig 整合 | 完毕 |
| 交互式模式切换 | 完毕 |
| 破解更改检测 | 完毕 |
| AWS 贝德洛克和 Azure OpenAI 支持 | 完毕 |
| 本地 Ollama 模型支持 | 完毕 |
| 自定义快捷模板 | 执行中 |
| 多语种承诺信息 | 执行中 |
| Git 钩子集成 | 执行中 |
| VS 代码扩展 | 执行中 |
| 团队合作特点 | 执行中 |
| 提交信件分析 | 执行中 |
| GitHub 副驾驶集成 | 执行中 |
| 单重机的性能优化 | 执行中 |
问 题
问:支持哪些AI提供者? 答复:供应商和模型支持来自 @elsikora/ai-core目前的AI-Core目录包括OpenAI,Anthropic,Google,Azure OpenAI,AWS Bedrock,Cerebras,Vercel AI Gateway,以及当地Ollama模型.
问:AI如何理解我的代码变化? 答:插件分析您的 git diff, 设置文件, 文件路径以了解上下文 。 然后,它利用这些信息以及您的 Countlint 规则生成适当的常规承诺信息 .
问:我的密码是发给人工智能服务的吗? 答:只发送了git diff和文件名以生成准确的承诺消息. 完整源代码文件除非在diff中出现,否则不会传输. 对于敏感项目,考虑使用Ollama进行本地处理.
问:如果人工智能服务不可用,怎么办? A:插件具有可配置的重试机制,实时状态更新. 如果全部重试失败, 它会自动回到引导手动模式, 确保您总是可以创建承诺 .
问:我可以自定义承诺消息格式吗? 答:对! 插件完全尊重您的Comtlint配置 。 您可以定义自定义类型、范围和规则.
问:我如何在AI模式和手动模式之间切换? 答:当你逃跑时 git cz中,将提示您选择您的模式。 您也可以在配置中设置默认模式或创建 .elsikora/manual 文件为强制手动模式.
问:存储API密钥安全吗? 甲:证书分辨率由AI-Core处理. 密钥从提供者环境变量读取或请求用于当前会话,而不存储在Contlint AI配置文件中.
问:我可以用我现有的Contizen设置吗? A:当然! 这是其他Contizen适配器的倒置替换. 它与您现有的 Contlint 配置和 Git 工作流程无缝.
问:出产与验证重试有何不同? A: 世代重试(maxRetries)处理AI服务故障,同时验证重试(validationMaxRetries试图修正不通过Contlint规则的承诺信息.
问曰:用取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取? A:插件本身是免费和开源的. 需要用你选择的 AI 提供商支付API的使用费,或者使用 Ollama 的免费本地模型.
许可证
这个项目的许可证根据 麻省理工学院执照 - 看 自由主义 详细文件。 。 。 .