- 新增 GitHub Issue 模板(Bug 报告、功能请求)和 Pull Request 模板 - 新增 Code of Conduct(贡献者行为准则)和 Security Policy(安全政策) - 新增 CI 工作流(GitHub Actions),包含 ruff 代码检查和导入验证 - 新增开发依赖文件 requirements-dev.txt 📦 build(ci): 配置 GitHub Actions 持续集成 - 在 push 到 main 分支和 pull request 时自动触发 CI - 添加 lint 任务执行 ruff 代码风格检查 - 添加 import-check 任务验证核心服务模块导入 ♻️ refactor(structure): 重构项目目录结构 - 将根目录的 6 个服务模块迁移至 services/ 包 - 更新所有相关文件的导入语句(main.py、ui/、services/) - 根目录仅保留 main.py 作为唯一 Python 入口文件 🔧 chore(config): 调整配置和资源文件路径 - 将 config.json 移至 config/ 目录,更新相关引用 - 将个人头像图片移至 assets/faces/ 目录,更新 .gitignore - 更新 Dockerfile 和 docker-compose.yml 中的配置路径 📝 docs(readme): 完善 README 文档 - 添加项目状态徽章(Python 版本、License、CI) - 更新项目结构图反映实际目录布局 - 修正使用指南中的 Tab 名称和操作路径 - 替换 your-username 占位符为格式提示 🗑️ chore(cleanup): 清理冗余文件 - 删除旧版备份文件、测试脚本、临时记录和运行日志 - 删除散落的个人图片文件(已归档至 assets/faces/)
38 lines
2.0 KiB
Markdown
38 lines
2.0 KiB
Markdown
## ADDED Requirements
|
||
|
||
### Requirement: GitHub Actions CI 工作流在 Push 和 PR 时自动触发
|
||
项目 SHALL 在 `.github/workflows/ci.yml` 提供持续集成工作流,在每次 Push 到 `main` 分支或创建 Pull Request 时自动执行代码质量检查。
|
||
|
||
#### Scenario: CI 在 PR 时自动运行
|
||
- **WHEN** 贡献者向 `main` 分支提交 Pull Request
|
||
- **THEN** GitHub Actions SHALL 自动触发 CI 工作流,在 PR 页面显示检查结果
|
||
|
||
#### Scenario: CI 通过后状态徽章更新
|
||
- **WHEN** CI 工作流执行完毕
|
||
- **THEN** 工作流状态 SHALL 可通过 Badge URL 获取,用于 README 展示
|
||
|
||
### Requirement: CI 执行 ruff 代码风格检查
|
||
CI 工作流 SHALL 使用 `ruff` 对所有 Python 文件执行代码风格和常见错误检查,ruff 配置 SHALL 允许项目现有代码通过(宽松规则集)。
|
||
|
||
#### Scenario: 代码风格检查通过
|
||
- **WHEN** CI 工作流中的 ruff 步骤执行
|
||
- **THEN** 对 `*.py` 文件的 ruff 检查 SHALL 以 exit code 0 退出,工作流标记为 passed
|
||
|
||
#### Scenario: 引入明显错误时 CI 失败
|
||
- **WHEN** PR 中包含未使用的 import 或明显语法问题
|
||
- **THEN** ruff SHALL 检测到并返回非零 exit code,导致 CI 失败
|
||
|
||
### Requirement: CI 执行导入验证
|
||
CI 工作流 SHALL 执行 Python 导入验证步骤,确认核心模块可被正常导入,及早发现迁移引入的导入错误。
|
||
|
||
#### Scenario: 导入验证通过
|
||
- **WHEN** CI 执行导入验证步骤
|
||
- **THEN** `python -c "from services.config_manager import ConfigManager"` 等关键导入 SHALL 成功执行
|
||
|
||
### Requirement: 提供 requirements-dev.txt 开发依赖声明
|
||
项目根目录 SHALL 包含 `requirements-dev.txt`,声明开发和 CI 所需依赖(ruff、pre-commit 等),与生产依赖 `requirements.txt` 分离。
|
||
|
||
#### Scenario: 安装开发依赖命令可正常执行
|
||
- **WHEN** 开发者执行 `pip install -r requirements-dev.txt`
|
||
- **THEN** 所有开发工具 SHALL 成功安装,无版本冲突
|