# CLAUDE.md 本文件为 Claude Code 提供项目上下文信息。 **语言偏好:请使用中文进行所有交流和文档编写。** ## 项目概述 seqlog 是一个 Go 语言日志收集和处理库,模块路径为 `code.tczkiot.com/seqlog`。 **核心特性:** - 单文件日志处理:专注于单个日志文件的读取和处理 - 游标尺机制:通过游标跟踪日志文件的读取位置,支持断点续读 - 日志收集:提供高效的日志收集和解析能力 - 使用 Go 1.25.1 版本开发 **适用场景:** - 日志文件监控和采集 - 增量日志读取和处理 - 日志文件位置追踪 ## 项目结构 ``` seqlog/ ├── go.mod # Go 模块定义文件 └── CLAUDE.md # Claude Code 项目文档 ``` ## 开发指南 ### 环境要求 - Go 1.25.1 或更高版本 - 模块路径:`code.tczkiot.com/seqlog` ### 代码规范 - 遵循 Go 官方代码风格指南 - 使用 `go fmt` 格式化代码 - 编写单元测试覆盖核心功能 - 导出的函数和类型需要添加文档注释 - **中英文混排规范**:注释等文字中,中英文之间、中文与阿拉伯数字之间必须添加空格 - ✅ 正确示例:`// 创建 logger 实例,默认日志级别为 INFO` - ✅ 正确示例:`// 最多支持 100 个并发连接` - ❌ 错误示例:`// 创建logger实例,默认日志级别为INFO` - ❌ 错误示例:`// 最多支持100个并发连接` ### 构建和测试 ```bash # 运行测试 go test ./... # 构建项目 go build ./... # 运行代码检查 go vet ./... ``` ## 常用任务 ### 添加新功能 1. 在相应的包中创建新文件 2. 实现功能并编写测试 3. 更新文档说明 ### 发布新版本 1. 更新版本号 2. 运行完整测试套件 3. 创建 git tag 4. 推送到远程仓库 ## 技术栈 - **语言**: Go 1.25.1 - **模块管理**: Go Modules