lolly/internal/config/AGENTS.md
xfy 179aacac04 docs: 添加模块上下文文档 (AGENTS.md)
为各模块添加上下文文档,帮助 AI 助手理解代码结构:
- AGENTS.md: 项目根目录上下文
- docs/AGENTS.md: 文档目录说明
- internal/AGENTS.md: 内部包结构概览
- 各子模块 AGENTS.md: 模块特定上下文和约定

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 16:25:51 +08:00

45 lines
1.6 KiB
Markdown
Raw 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.

<!-- Parent: ../AGENTS.md -->
<!-- Generated: 2026-04-02 | Updated: 2026-04-02 -->
# config
## Purpose
配置模块,提供 YAML 配置文件的解析、验证、默认值生成和序列化功能。是整个项目的核心依赖模块(高频访问)。
## Key Files
| File | Description |
|------|-------------|
| `config.go` | 配置结构体定义Config、ServerConfig、ProxyConfig、SSLConfig 等 |
| `defaults.go` | 默认配置生成DefaultConfig()、GenerateConfigYAML()(高频访问) |
| `validate.go` | 配置验证validateServer、validateSSL、validateSecurity 等 |
| `config_test.go` | 配置解析测试 |
| `defaults_test.go` | 默认配置测试 |
| `validate_test.go` | 验证逻辑测试 |
## For AI Agents
### Working In This Directory
- 所有配置结构体使用 `yaml` 标签,支持 YAML 序列化/反序列化
- `Load()` 加载配置文件,自动调用验证
- `DefaultConfig()` 返回安全默认值TLS 1.2+,安全头部等)
- `GenerateConfigYAML()` 生成带注释的配置模板
- `defaults.go` 是高频访问文件,修改需谨慎
### Testing Requirements
- 测试覆盖完整:结构体解析、默认值、验证逻辑
- 运行测试:`go test ./internal/config/...`
- 验证测试使用 table-driven 方式
### Common Patterns
- 使用 `gopkg.in/yaml.v3` 解析 YAML
- 验证函数按配置类型分组validateServer、validateSSL、validateSecurity
- 时间配置使用 `time.Duration`YAML 中用秒数或带单位字符串(如 "10s"
- 安全配置强制要求Basic Auth 启用时必须配置 SSL
## Dependencies
### External
- `gopkg.in/yaml.v3` - YAML 解析库
<!-- MANUAL: -->