Files
ProStock/.kilocode/rules/project_rules.md
liaozhaorun ec08a2578c refactor: 清理代码日志、重构速率限制器、切换存储方案
- 移除 client.py 和 daily.py 中的调试日志
- 重构 rate_limiter 支持无限超时和更精确的令牌获取
- 变更 stock_basic 存储方案 HDF5 → CSV
- 更新项目规则:强制使用 uv、禁止读取 config/ 目录
- 新增数据同步模块 sync.py 和测试
- .gitignore 添加 !data/ 允许跟踪数据文件
2026-02-01 02:29:54 +08:00

108 lines
2.9 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.
# ProStock 项目规则
本项目使用 Kilo Code 规则系统来确保代码质量和一致性。
## 项目概述
- **项目名称**: ProStock
- **主要语言**: Python
- **框架**: 待定
- **代码目录**: `src/`
- **配置目录**: `config/`
## 核心原则
1. **代码质量**: 所有代码必须符合 Python PEP 8 编码规范
2. **类型提示**: 建议为公共函数和类添加类型注解
3. **文档字符串**: 使用 Google 风格的 docstring
4. **测试覆盖**: 关键业务逻辑应有对应的单元测试
## Python 运行规范
**⚠️ 本项目强制使用 uv 作为 Python 包管理器和运行工具。禁止直接使用 `python``pip` 命令。**
### 禁止的命令 ❌
```bash
# 禁止直接使用 python
python -c "..." # 禁止!
python script.py # 禁止!
python -m pytest # 禁止!
python -m pip install # 禁止!
# 禁止直接使用 pip
pip install -e . # 禁止!
pip install package # 禁止!
pip list # 禁止!
```
### 正确的 uv 用法 ✅
```bash
# 运行 Python 代码
uv run python -c "..." # ✅ 正确
uv run python script.py # ✅ 正确
# 安装依赖
uv pip install -e . # ✅ 正确
uv pip install package # ✅ 正确
# 运行测试
uv run pytest # ✅ 正确
uv run pytest tests/test_sync.py # ✅ 正确
```
## 目录结构规范
```
project/
├── src/ # 源代码主目录
├── config/ # 配置文件目录(禁止直接读取)
├── docs/ # 文档目录
├── tests/ # 测试目录
├── .kilocode/ # Kilo Code 配置
│ └── rules/ # 规则文件
├── requirements.txt # 依赖管理
└── README.md # 项目说明
```
## 文件命名规范
- **Python 文件**: 使用小写下划线命名法 (`snake_case.py`)
- **配置文件**: 使用小写下划线命名法 (`config_settings.py`)
- **测试文件**: 使用 `test_` 前缀 (`test_example.py`)
- **常量文件**: 使用 `constants_` 前缀 (`constants_sizes.py`)
## 代码组织
- 每个 Python 模块应尽可能保持简洁,职责单一
- 避免在 `__init__.py` 中放置过多逻辑
- 使用相对导入 (`from .module import ...`) 而非绝对导入
- 配置应集中管理,避免硬编码
## 导入顺序规范
```python
# 1. 标准库导入
import os
import sys
from datetime import datetime
# 2. 第三方库导入
import pandas as pd
from flask import Flask
# 3. 本地应用导入
from src.config.settings import Settings
from src.models.user import User
```
## 提交前检查
在提交代码前,请确保:
- [ ] 所有代码通过类型检查(如使用 mypy
- [ ] 代码格式符合规范(使用 black/isort
- [ ] 没有未使用的导入或变量
- [ ] 关键功能有对应的测试
- [ ] 文档已更新(如需要)