lumina_git_commit · git:20260713.24dee5f · 2026-07-13 · sha256 e6b14f27c2c0718b
lumina_git_commit git:20260713.24dee5fA
Immutable. This exact content is served forever at /api/v1/blob/e6b14f27c2c0718b.
--- name: lumina_git_commit description: Use this skill when generating git commit messages for staged changes. This skill enforces consistent commit message formatting, categorization of changes, and best practices for commit documentation. --- # Lumina Git Commit 信息生成规范 ## 功能概述 本技能包用于为 Lumina 框架项目的 Git 暂存区变更生成规范化的提交信息,确保提交历史清晰、可追溯、便于维护。 ## Commit 信息格式规范 ### 标准格式 ``` <type>(<scope>): <subject> <body> <footer> ``` ### 类型 (Type) | 类型 | 说明 | 使用场景 | 示例 | |------|------|---------|------| | **feat** | 新功能 | 添加新功能、新特性 | `feat: 新增用户管理功能` | | **fix** | 修复 | 修复 bug | `fix: 修复登录状态过期问题` | | **docs** | 文档 | 仅文档变更 | `docs: 更新 API 文档` | | **style** | 格式 | 代码格式调整,不影响逻辑 | `style: 格式化代码` | | **refactor** | 重构 | 代码重构,不改变功能 | `refactor: 重构用户服务层` | | **perf** | 性能 | 性能优化 | `perf: 优化查询性能` | | **test** | 测试 | 添加或修改测试 | `test: 添加用户服务单元测试` | | **chore** | 构建/工具 | 构建流程、工具链变更 | `chore: 更新依赖版本` | | **build** | 构建 | 构建系统变更 | `build: 配置 Maven 打包` | ### 作用域 (Scope) 可选字段,用于标识变更影响的范围: - **模块名**: `agent-core`, `business-base`, `gateway`, `framework` - **功能域**: `user`, `role`, `permission`, `tenant` - **技术域**: `api`, `service`, `config`, `security` 示例: - `feat(agent-core): 新增工具适配器` - `fix(business-base): 修复租户拦截器问题` ### 主题 (Subject) - **必填**: 简短描述变更内容 - **格式**: 使用中文,首字母小写,结尾不加句号 - **长度**: 不超过 50 个字符 - **风格**: 使用祈使语气,如"新增"、"修复"、"优化" ### 正文 (Body) 可选,详细描述变更: - **为什么**: 说明变更的原因和背景 - **怎么做**: 简要说明实现方式 - **影响**: 说明对系统的影响 格式要求: - 每行不超过 72 个字符 - 使用空行分隔段落 - 使用列表展示多个变更点 ### 页脚 (Footer) 可选,用于: - **关联 Issue**: `Closes #123`, `Fixes #456` - **破坏性变更**: `BREAKING CHANGE: API 接口变更` - **影响模块**: `Affects: agent-core, business-base` ## Commit 信息结构模板 ### 单功能提交 ``` feat(scope): 简短描述 详细说明变更内容,可以包含: - 变更点1 - 变更点2 - 变更点3 ``` ### 多模块提交 ``` feat: 主要功能描述 ## 主要变更 ### 模块1 - 变更点1 - 变更点2 ### 模块2 - 变更点1 - 变更点2 ## 统计数据 - X 个文件变更 - 新增 Y 行代码 - 删除 Z 行代码 ``` ### 修复提交 ``` fix(scope): 修复问题描述 修复的问题: - 问题1描述 - 问题2描述 解决方案: - 解决方式1 - 解决方式2 Closes #issue-number ``` ## 分析暂存区变更的步骤 ### 1. 获取变更统计 ```bash git status # 查看暂存文件列表 git diff --cached --stat # 查看变更统计 git diff --cached --shortstat # 查看简短统计 ``` ### 2. 分析变更类型 根据暂存文件判断变更类型: - **新增文件** (`new file`): 通常是 `feat` 或 `docs` - **修改文件** (`modified`): 可能是 `fix`, `refactor`, `perf`, `feat` - **删除文件** (`deleted`): 可能是 `refactor` 或 `chore` ### 3. 识别变更模块 根据文件路径识别影响模块: - `lumina-agent-core/`: Agent 核心模块 - `lumina-business-base/`: 业务基础模块 - `lumina-gateway/`: 网关模块 - `lumina-framework/`: 框架模块 - `lumina-common/`: 公共模块 - `docs/`: 文档 ### 4. 提取关键信息 从变更文件中提取: - **新增的功能**: Controller, Service, DTO, VO 等 - **修复的问题**: 错误处理、异常修复 - **优化的内容**: 性能、代码结构 - **配置变更**: 配置文件、依赖更新 ### 5. 组织 Commit 信息 按照标准格式组织信息,包括: - 确定 Type 和 Scope - 编写简洁的 Subject - 列出主要变更点(Body) - 添加统计数据(可选) ## 常见场景示例 ### 场景1: 新增业务功能 ``` feat(business-base): 新增用户管理CRUD功能 ## 主要变更 ### 用户管理 - 新增 UserController 用户控制器 - 新增 UserService 用户服务层 - 新增用户相关 DTO/VO 类 - CreateUserDTO - UpdateUserDTO - UserQueryDTO - UserVO ### 基础设施 - 新增 BaseFeignClient 基础 Feign 客户端 - 优化 WebMvcConfig 配置 ## 统计数据 - 15 个文件变更 - 新增 1200 行代码 ``` ### 场景2: 修复 Bug ``` fix(agent-core): 修复内存管理器泄漏问题 修复的问题: - 修复 MemoryManager 中未释放的资源 - 修复线程池未正确关闭的问题 解决方案: - 添加 try-finally 确保资源释放 - 实现优雅关闭机制 Closes #123 ``` ### 场景3: 重构代码 ``` refactor(business-base): 重构租户拦截器实现 ## 重构内容 - 提取 TenantLineHandler 接口 - 重构 TenantLineInterceptor 逻辑 - 优化 SQL 解析性能 ## 影响范围 - 所有使用租户功能的模块 ## 统计数据 - 3 个文件变更 - 新增 150 行,删除 200 行 ``` ### 场景4: 文档更新 ``` docs: 新增项目状态分析报告 ## 新增文档 - PROJECT_STATUS_ANALYSIS.md: 项目完成度分析 - P0_P1_PROGRESS.md: P0/P1 任务进度跟踪 ## 文档内容 - 模块完成度评估 - 已完成功能清单 - 待完善功能说明 ``` ### 场景5: 多模块混合变更 ``` feat: 完成业务基础模块并增强Agent核心能力 ## 主要变更 ### 📚 文档 - 新增项目状态分析报告 (PROJECT_STATUS_ANALYSIS.md) - 新增 P0/P1 任务进度跟踪文档 (P0_P1_PROGRESS.md) ### 🔧 Agent Core 增强 - 新增 AgentScopeToolAdapter 工具适配器 - 新增 ToolDefinitionToAgentToolAdapter 工具定义适配器 - 优化 DefaultAgentExecutionEngine 执行引擎 - 优化 MemoryManager 内存管理 ### 🏢 业务基础模块 (lumina-business-base) #### 权限管理 - 新增 PermissionController、PermissionService 及相关 DTO/VO - 新增 @RequirePermission 注解 #### 角色管理 - 新增 RoleController、RoleService 及相关 DTO/VO - 新增 @RequireRole 注解 - 支持角色权限分配功能 #### 租户管理 - 新增 TenantController、TenantService 及相关 DTO/VO - 新增 TenantLineHandlerImpl 租户行处理器 - 新增 MybatisPlusTenantConfig 租户配置 #### 用户管理 - 新增 UserController、UserService 及相关 DTO/VO - 支持用户角色分配、密码重置等功能 #### 基础设施 - 新增 PermissionCheckInterceptor 权限检查拦截器 - 新增 BaseFeignClient 和 BaseFeignClientFallback - 新增 BaseToolProvider 基础工具提供者 - 优化 TenantLineInterceptor 租户行拦截器 - 优化 WebMvcConfig 配置 ## 统计数据 - 46 个文件变更 - 新增 4921 行代码 - 删除 30 行代码 ``` ## 最佳实践 ### ✅ 推荐做法 1. **一次提交一个功能**: 每个 commit 应该是一个完整的功能单元 2. **使用清晰的类型**: 准确使用 type,便于过滤和查找 3. **添加必要的作用域**: 明确标识影响范围 4. **详细描述复杂变更**: 对于大型变更,使用详细的 body 5. **关联 Issue**: 使用 footer 关联相关 Issue 6. **使用中文**: 符合项目文档规范,使用中文描述 ### ❌ 避免做法 1. **避免过长的 subject**: 超过 50 字符 2. **避免模糊的描述**: 如"更新"、"修复"、"优化"等过于笼统 3. **避免混合不相关的变更**: 一个 commit 应该是一个逻辑单元 4. **避免使用过去式**: 使用"新增"而非"新增了" 5. **避免省略类型**: 必须有明确的 type ## 使用场景 - 生成 Git 暂存区变更的 commit 信息 - 审查 commit 信息是否符合规范 - 指导团队成员编写规范的 commit 信息 - 自动化生成 commit 信息的工具参考 ## 检查清单 生成 commit 信息前,确认: - [ ] 已分析暂存区的所有变更 - [ ] 确定了正确的 type(feat/fix/docs/etc.) - [ ] 标识了合适的 scope(如果适用) - [ ] Subject 简洁清晰,不超过 50 字符 - [ ] Body 详细描述了主要变更(如需要) - [ ] 列出了关键的新增/修改文件或功能 - [ ] 包含了变更统计信息(大型变更) - [ ] 关联了相关 Issue(如有) - [ ] 使用了中文描述 - [ ] 遵循了格式规范 ## 自动化工具 可以使用以下命令快速分析暂存区: ```bash # 查看暂存区文件列表 git status --short # 查看变更统计 git diff --cached --stat # 查看简短统计 git diff --cached --shortstat # 查看具体变更内容(用于分析) git diff --cached --name-status ```