规范当前 Python (FastAPI + SQLAlchemy) 项目的代码开发标准,涵盖编码风格、分层架构、数据库及异常处理等。
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-coding-guidelines-6c73e4be13f7 ,按照其中的说明把「开发规范 (Coding Guidelines)」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
本 Skill 用于指导当前项目的代码开发,确保代码风格统一、结构清晰且易于维护。在协助进行代码生成、重构或修改时,请务必遵循以下规范:
snake_casePascalCaseUPPER_SNAKE_CASEblack、ruff 或 isort,在编写代码时应保持与之相符的格式。业务模块目录:每个业务模块应有独立的目录
api:定义与外部交互的接口(如 FastAPI 路由)
endpoints:具体的 API 端点实现dependencies.py:定义 API 层的依赖项(如service 层的依赖)router.py:定义 API 路由domain:核心业务逻辑和领域模型
models:定义数据库模型(SQLModel)services:定义业务服务类,封装核心业务逻辑repositories:定义数据访问层,封装数据库操作
implementations:具体的 Repository 实现,应继承 BaseRepositoryImpl[ModelClass, IDType], RepositoryInterfaceinterfaces:定义 Repository 接口,应继承 BaseRepository[ModelClass, IDType], ABCschemas:定义 Pydantic 模型,用于数据验证和序列化alembic revision --autogenerate),禁止直接手动修改数据库表结构。
bisheng/core/database/alembic/versionsbisheng/core/database/alembic/README.md@db_session)进行管理,确保事务的一致性和正确的资源释放。models 模块中,且每个模型类应有明确的表名(__tablename__)和字段定义。Field 函数进行定义,明确字段类型、默认值、索引等属性。BaseErrorCode)
bisheng/common/errcode 目录下定义不同业务的异常文件,如 user.py、knowledge.py 等,每个文件中定义该业务相关的异常类。BaseErrorCode,并设置Code、Msg属性,以便在 API 层统一处理和返回错误响应。raise UserNotFoundError(),而不是直接返回错误码或字符串。API 层应捕获这些异常,并根据异常的 Code 和 Msg 生成统一的错误响应。logging或 loguru 进行日志记录,确保日志内容清晰、结构化,并包含必要的上下文信息(如用户ID、请求ID等),以便于后续的调试和问题排查。
DEBUG 用于开发调试,INFO 用于正常操作记录,WARNING 用于潜在问题,ERROR 用于错误事件,CRITICAL 用于严重错误。在每一次开发或答疑中,请将这份开发规范作为判断代码质量和架构是否合理的评价标准。