Files
ttychart-mcp/agents.md
titor d3e04c5d1a feat: 初始版本 - ttychart-mcp 终端图表 MCP 服务
- 支持三种图表: 折线图、柱状图、散点图
- MCP 协议支持 (stdio + HTTP)
- 完整的单元测试和集成测试
- Docker 支持
- Makefile 构建脚本
2026-04-15 21:03:36 +08:00

96 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# agents.md - AI 编码规范声明
## 项目信息
| 项目 | 内容 |
|------|------|
| 项目名称 | ttychart-mcp |
| 项目描述 | 终端图表 MCP 服务 |
| 仓库地址 | hub.gaomia.site/titor/ttychart-mcp |
## 编码规范
### 1. 代码注释要求
- **所有代码必须使用中文注释**
- 包含函数注释、类型注释、类注释等
- 注释必须详细说明功能、参数、返回值
- 示例:
```go
// NewLineChart 创建新的折线图
//
// 参数:
// - width: 图表宽度0 表示自动计算)
// - height: 图表高度0 表示自动计算)
//
// 返回值:
// - *LineChart: 折线图实例
func NewLineChart(width, height int) *LineChart {
return &LineChart{
Width: width,
Height: height,
}
}
```
### 2. 变量和函数命名
- **变量命名**: 使用小写_格式 (snake_case),语义化
- ✅ `chartWidth`, `dataPoints`, `colorStyle`
- ❌ `w`, `dp`, `c`
- **函数命名**: 使用驼峰命名 (camelCase),语义化
- ✅ `SetData()`, `RenderChart()`, `ParseData()`
- ❌ `set()`, `render()`, `parse()`
### 3. 包和模块设计
- **OOP + 设计模式**: 使用面向对象和设计模式
- **高内聚低耦合**: 模块之间尽量减少依赖
- **单一职责**: 每个函数/类型只负责一件事
### 4. 测试要求
- **单元测试**: 每个函数必须有对应的单元测试
- **集成测试**: 模块之间必须进行集成测试
- 测试文件命名: `xxx_test.go`
- 测试函数命名: `TestXxx`
### 5. 构建产物
- **二进制文件**: 存放在项目根目录
- **不允许**: 存放在其他目录 (如 bin/, dist/)
- **编译命令**: `go build -o ttychart-mcp .`
### 6. 发布流程
- 发布 Git 前必须:
1. 保存讨论记录到 taolun.md
2. 保存版本更新到 changelog.md
3. 运行测试确保通过
4. 构建确认无错误
### 7. 问题处理
- **重复问题**: 同一个问题尝试三次无结果,强制退出
- **强制退出**: 由用户接手处理
- **错误处理**: 详细的错误日志记录
## 语言要求
- **所有交谈**: 必须使用中文
- **所有注释**: 必须使用中文
- **所有文档**: 必须使用中文
## 版本管理
- 使用语义化版本号 (SemVer): MAJOR.MINOR.PATCH
- 格式: v0.1.0
## 文档维护
| 文档 | 用途 | 更新时机 |
|------|------|--------|
| agents.md | AI 声明 | 项目创建时 |
| changelog.md | 版本记录 | 每次版本更新 |
| taolun.md | 会话记录 | 每次会话开始/结束 |
| README.md | 使用说明 | 功能变更时 |