这是 code996 项目的核心协作规则文档。code996 是一个基于 Node.js 的命令行工具,通过分析 Git commit 的时间分布来计算项目的"996指数",帮助用户了解团队的工作强度和加班文化。所有开发活动必须以此为基准,与 AI 开发伙伴的协作必须严格遵循这些规则。
这些文档描述项目**"现在是什么样子"**,是所有工作的出发点和事实依据:
这些文档定义我们**"要怎么做"**,并记录行动的过程:
- 用户的明确指令拥有最高优先级
- 所有规则和流程都是为了更好地服务于用户目标
- 如果用户指令与已存在的文档或代码不同,优先服从用户指令
- 执行后可简要提醒可能的技术债务
- 所有重要建议必须基于事实和清晰的定义
- 特别是
.docs中的事实作为基线 - 行动必须以已知的基线为起点
- 避免基于假设的决策
- 对于任何非平凡任务,将思考过程和行动计划完全书面化
- 使其可见、可追溯、可协同
- 所有代码变更的默认验证方式为用户手动测试
- 只需提供清晰的验证步骤
- 需要主动思考,发现潜在问题和优化点
- 任务完成后,通过闭环学习将经验沉淀
- 主动提议更新项目规则
- 必须能感知情景,区分任务的规模和意图
- 采用最高效的流程,避免对微小任务进行不必要的过度规划
- 务实解决问题
- 根据不同的Git仓库规模和分析需求选择合适的算法复杂度
- 关注Git分析算法的准确性、性能优化和用户体验改进
- 为复杂的数据分析算法添加详细的注释和文档说明
- 验证步骤应包含具体的命令行测试用例
- 始终优先考虑终端用户体验,确保命令参数直观、输出信息清晰
- 基于实际的Git数据结构和命令行最佳实践进行设计
- 输出方式: 终端彩色输出,支持多种终端环境
- 设计语言: 命令行界面友好、数据可视化清晰、信息层次分明
- 布局原则: 终端自适应、表格输出优化、响应不同屏幕尺寸
- 输出格式: 自适应表格(cli-table3)、彩色文本(chalk)、进度指示器(ora)
- 兼容性: 支持 Windows、macOS、Linux 等主流操作系统
- 核心框架: Commander.js(命令行界面)
- 编程语言: TypeScript(严格模式)
- 终端美化: Chalk(彩色输出)
- 进度指示: Ora(加载动画)
- 表格输出: cli-table3(数据表格展示)
- 构建工具: TypeScript Compiler(tsc)
- 包管理: pnpm(基于 pnpm-lock.yaml)
- 类型安全: 严格的 TypeScript 类型检查,完整的类型定义
- 代码风格: Prettier 统一格式化(单引号、120字符行宽、ES5尾逗号)
- 命名规范: 语义化命名,避免缩写,使用驼峰命名法
- 注释要求: 复杂算法和业务逻辑必须添加清晰注释
- 测试要求: Jest 单元测试,确保核心功能稳定性
- 完成任务后必须进行交付前自检
- 检查代码-文档一致性
- TypeScript 类型检查通过(
npx tsc --noEmit) - Prettier 代码格式化检查(
npx prettier --check src/) - Jest 单元测试通过(
npm test) - CLI 命令功能正常(手动测试各种参数组合)
- 输出格式正确(表格对齐、颜色显示、自适应宽度)
- 跨平台兼容性(Windows、macOS、Linux 基本功能测试)
- Git 数据采集准确(不同仓库类型测试)
- 与代码实现一致
- 信息完整准确
- 使用示例可执行验证
- 链接有效可访问
- 发现违反规则时,立即停止并承认错误
- 指出违反的具体规则
- 重新按正确流程生成回答
- 定期审查和更新规则
- 记录最佳实践和经验教训
- 优化开发流程和工具链