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

2.9 KiB
Raw Blame History

ProStock 项目规则

本项目使用 Kilo Code 规则系统来确保代码质量和一致性。

项目概述

  • 项目名称: ProStock
  • 主要语言: Python
  • 框架: 待定
  • 代码目录: src/
  • 配置目录: config/

核心原则

  1. 代码质量: 所有代码必须符合 Python PEP 8 编码规范
  2. 类型提示: 建议为公共函数和类添加类型注解
  3. 文档字符串: 使用 Google 风格的 docstring
  4. 测试覆盖: 关键业务逻辑应有对应的单元测试

Python 运行规范

⚠️ 本项目强制使用 uv 作为 Python 包管理器和运行工具。禁止直接使用 pythonpip 命令。

禁止的命令

# 禁止直接使用 python
python -c "..."           # 禁止!
python script.py          # 禁止!
python -m pytest          # 禁止!
python -m pip install     # 禁止!

# 禁止直接使用 pip
pip install -e .          # 禁止!
pip install package       # 禁止!
pip list                  # 禁止!

正确的 uv 用法

# 运行 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 ...) 而非绝对导入
  • 配置应集中管理,避免硬编码

导入顺序规范

# 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
  • 没有未使用的导入或变量
  • 关键功能有对应的测试
  • 文档已更新(如需要)