LingFlow Hooks 系统 v2.0 - VibeCoding 渐进式部署
版本: 2.0.0 更新日期: 2026-03-29 部署方式: VibeCoding 渐进式部署 核心原则: 质量门控 + AI 辅助 + 渐进式实施
核心原则
1. 质量门控
确保代码质量但不阻碍快速迭代: - P0 检查: 基础质量(必需,可能阻断) - P1 检查: 文档规范(警告,不阻断) - P2 检查: 增强功能(建议,不阻断)
2. AI 辅助
自动化检查,提供智能提示: - 自动检测代码问题 - 提供修复建议 - 学习最佳实践
3. 渐进式实施
先基础后增强,可配置级别: - 从低级别开始 - 根据团队适应情况提升 - 支持快速迭代模式
检查级别说明
| 级别 | 名称 | 行为 | 适用场景 |
|---|---|---|---|
| 0 | 关闭 | 不执行检查 | 特殊情况、紧急修复 |
| 1 | 警告 | 显示警告但不阻断 | 日常开发、快速迭代 |
| 2 | 阻断 | 显示错误并阻断提交 | 关键检查、质量保障 |
默认配置
P0 检查(基础质量 - 必需)
| 检查项 | 默认级别 | 说明 |
|---|---|---|
| flake8 | 2(阻断) | 代码质量检查,PEP 8 标准 |
| tests | 1(警告) | 测试状态,10秒快速测试 |
P1 检查(文档规范 - 警告)
| 检查项 | 默认级别 | 说明 |
|---|---|---|
| docs | 1(警告) | 文档完整性,公共函数 docstring |
| format | 1(警告) | 代码格式,Black 格式化 |
| commit_msg | 2(阻断) | 提交消息格式规范 |
P2 检查(增强功能 - 建议)
| 检查项 | 默认级别 | 说明 |
|---|---|---|
| perf | 0(关闭) | 性能基准测试 |
| multi_repo | 0(关闭) | 多仓库一致性检查 |
| complexity | 0(关闭) | 代码复杂度检查 |
使用方式
日常开发
# 1. 修改代码
vim lingflow/agent/executor.py
# 2. 添加到暂存区
git add lingflow/agent/executor.py
# 3. 提交(hooks 自动运行)
git commit -m "feat(agent): 优化执行器性能"
快速迭代模式
降低检查级别,加速开发:
自定义配置
通过环境变量调整检查级别:
# 将文档检查设为警告级别
HOOKS_P1_DOCS=1 git commit
# 将格式检查设为阻断级别
HOOKS_P1_FORMAT=2 git commit
# 关闭复杂度检查
HOOKS_P2_COMPLEXITY=0 git commit
# 组合使用
HOOKS_P1_DOCS=1 HOOKS_P1_FORMAT=1 HOOKS_P2_COMPLEXITY=0 git commit
跳过 Hooks
不推荐,但在特殊情况下可用:
# 跳过所有 hooks
git commit --no-verify -m "message"
# 只跳过 pre-commit
git commit --no-verify -m "message"
# 只跳过 pre-push
git push --no-verify origin branch
提交消息格式
标准格式
类型 (type)
feat- 新功能fix- 修复docs- 文档style- 格式refactor- 重构test- 测试chore- 构建perf- 性能ci- CI 配置
作用域 (scope)
agent- Agent 相关workflow- 工作流相关coordination- 协调相关monitoring- 监控相关core- 核心功能utils- 工具函数
示例
AI 辅助提示
系统会根据检查结果提供智能修复建议:
| 检查项 | AI 建议 |
|---|---|
| flake8 | 运行 flake8 <files> --fix 或手动修复 |
| format | 运行 black <files> 自动格式化 |
| tests | 运行 pytest 查看失败测试 |
| docs | 为公共函数添加 docstring |
| complexity | 拆分复杂函数,单一职责原则 |
配置文件
配置文件位置:.githooks/config.sh
修改默认配置
编辑 .githooks/config.sh:
添加新检查
在相应的 hook 文件中添加检查函数,使用 quality_gate 函数控制阻断行为。
团队协作
逐步提升级别
建议按以下阶段提升检查级别:
阶段 1(适应期): - P0 flake8: 2(阻断) - P0 tests: 0(关闭) - P1 检查: 1(警告)
阶段 2(规范期): - P0 flake8: 2(阻断) - P0 tests: 1(警告) - P1 检查: 1(警告)
阶段 3(严格期): - P0 flake8: 2(阻断) - P0 tests: 2(阻断) - P1 检查: 2(阻断)
代码审查
结合 Hooks 使用:
- Hooks 自动检查基础质量
- 人工审查架构和设计
- 关注产品价值实现
- 检查 AI 协作友好性
故障排查
Hooks 未执行
# 检查配置
git config --get core.hooksPath
# 应输出: .githooks
# 如果不是,设置它
git config core.hooksPath .githooks
检查失败
配置问题
最佳实践
1. 日常开发
- 使用默认配置(平衡质量和速度)
- 遵循提交消息格式规范
- 及时修复警告级别的问题
2. 快速迭代
- 使用
HOOKS_FAST_ITERATION=1降低检查级别 - 专注于功能实现
- 迭代完成后修复警告
3. 发布前
- 提升所有检查级别到 2(阻断)
- 确保所有检查通过
- 运行完整测试套件
4. 紧急修复
- 使用
git commit --no-verify跳过检查 - 修复后补充测试和文档
- 创建后续任务改进
版本历史
- v2.0.0 (2026-03-29): VibeCoding 渐进式部署
- 质量门控分级系统
- AI 辅助提示
- 快速迭代模式
-
可配置检查级别
-
v1.2.0 (2026-03-29): 初始版本
- 基础 Hooks 检查
- 提交消息验证
- 多仓库支持
相关文档: - VIBECODING_IMPLEMENTATION_GUIDE.md - LINGFLOW_DEVELOPMENT_RULES.md
支持: 通过 GitHub Issues 或 Gitea Issues 反馈