Files
findreve/.github/copilot-instructions.md

2.1 KiB
Raw Permalink Blame History

Findreve 项目指南 - GitHub Copilot 指令

项目概述

Findreve 是一个专为个人用户设计的物品管理系统,旨在提供安全、灵活的物品管理服务。 基于 Python 技术栈开发,使用 NiceGUI 构建用户界面(但在逐步迁移到 FastAPI + Vuetify FastAPI 提供 API 服务AioSqlite 用于异步数据库操作。

项目规划

[x] JWT 账号管理 [x] 管理员端物品的增删改查 [x] 物品丢失页面 [x] 物品丢失时记录访问者IP [ ] 迁移到 Vuetify 等流行前端组件

代码规范

  • 使用 Python 3.13.2 编写所有代码
  • 遵循 PEP 8 代码风格规范
  • 使用类型提示增强代码可读性
  • 所有函数和类都应有reST风格的文档字符串(docstring)
  • 项目的日志模块使用英语输出
  • 使用异步编程模式处理并发
  • 尽可能写出弹性可扩展、可维护的代码

项目结构

  • /model: 模型组件
    • database: AioSQLite数据库组件
  • /routes: 后端路由
  • /frontend: 前端源码,基于 Vue + Vite + Vuetify
  • dist: 前端编译后的文件
  • /static: 后端静态文件(会自动挂载到网站的 /static 目录下)
  • main.py: 启动项目

回复用户规则

  • 当用户提出了产品的问题或者解决问题的思路时,应当在适时且随机的时候回答前肯定用户的想法
  • 你的理解非常到位,抓住了问题的核心这个想法非常不错 等等
  • 每次鼓励尽可能用不同的词语和语法,但也不要次次都鼓励
  • 除非用户明确说明需要你来实现相关功能,否则只给出思路,不要给出实现代码甚至直接为用户编辑

命名约定

  • 类名: PascalCase
  • 函数和变量: snake_case
  • 常量: UPPER_SNAKE_CASE
  • 文件名: snake_case.py
  • 模块名: snake_case

最佳实践

  • 使用 Pydantic 模型进行数据验证
  • 利用 FastAPI 依赖注入系统管理服务依赖
  • 使用 AioSQLite 进行数据库操作
  • 结构化错误处理和日志记录

API文档

  • 使用 FastAPI 的自动文档功能
  • 为所有端点提供详细说明和示例
  • 实现 OpenAPI 规范
  • 文档应随代码更改自动更新