Files
meijiaka-zy/.cursor/rules/config-architecture.mdc

44 lines
955 B
Plaintext

# 配置架构规则
description: 配置管理架构规范
## 规则
### 配置读取
- 所有配置必须通过 `from app.config import get_settings` 读取
- 禁止直接使用 `os.getenv()` 或 `os.environ.get()`
- 禁止在服务层、API 层直接使用环境变量
### 添加新配置
1. 在 `app/config.py` 的 `Settings` 类中定义字段
2. 使用 `Field(default=..., description="...")` 提供默认值和说明
3. 敏感信息使用 `str | None = None` 类型
4. 更新 `.env.example` 文档
### 在服务中使用配置
```python
from app.config import get_settings
def some_function():
settings = get_settings()
api_key = settings.SOME_API_KEY
```
### 禁止的写法
```python
import os
# ❌ 禁止
api_key = os.getenv("SOME_API_KEY")
api_key = os.environ.get("SOME_API_KEY")
```
### 推荐的写法
```python
from app.config import get_settings
# ✅ 正确
settings = get_settings()
api_key = settings.SOME_API_KEY
```