Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
7
**适用于:本项目所有自动生成代码的 AI Agent(Backend / DB / AI / WebSocket)**
Sign in to like and favorite skills
全局开发规范(Coding Agent 版本) 适用于:本项目所有自动生成代码的 AI Agent(Backend / DB / AI / WebSocket)
实现一个可部署、可演示但不要求高性能的后端系统,支持课程管理、多种活动/题目、学生提交、实时课堂 WebSocket、 AI 词云服务等功能,与项目设计文档一致。
所有代码必须使用以下栈:
禁止自行选择其他库。
所有函数、类、字段必须有 type hints。
APIRouter()api/v1/ 中所有 SQLModel 类必须:
class Example(SQLModel, table=True): id: int | None = Field(default=None, primary_key=True)
禁止使用 SQLAlchemy Base。
以下为所有数据库模型的 固定字段。 Agent 只能在此基础上补充,但不得更改字段名或删除字段。
id: int PK name: str email: str unique password_hash: str role: str (student | teacher | admin) student_id: Optional[str] created_at: datetime
Course
id title code (unique course join code) teacher_id
Enrollment
id course_id user_id role joined_at
Activity
id course_id title mode (draft | published | ongoing | closed) schedule_json (JSON)
ActivityItem
id activity_id type (single_choice | multiple_choice | qa | wordcloud | ... ) content_json scoring_json ai_metadata (JSON)
id activity_item_id user_id content_json score created_at
禁止新增不必要字段。
/api/v1
/auth/register/auth/login/courses/courses/{id}/courses/{id}/enrollments/import/activities/activities/{id}/items/activities/{id} (切换模式)/activities/{id}/items/{itemId}/submissions/ai/wordcloud-from-texts/activities/{id}/items/{itemId}/wordcloud/ws/{activityId}WebSocket payload 必须使用以下格式:
{ "type": "teacher:start_item", "itemId": 123, "countdownSec": 30 }
{ "type": "student:submit", "itemId": 123, "content": "answer text" }
{ "type": "server:live_stats_update", "itemId": 123, "submissionCount": 17 }
所有 API 必须返回:
{ "detail": "error message" }
不允许返回除 JSON 外的内容。
允许 agent 后续扩展:
但扩展必须 不破坏本文件规范。