76 lines
1.8 KiB
Markdown
76 lines
1.8 KiB
Markdown
|
|
# 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
|