- Add webapp template (FastAPI + SQLite) with INSTRUCTIONS.md and setup.sh - select_template() scans templates, asks LLM to match; apply_template() copies to workspace - ensure_workspace() runs setup.sh if present, otherwise falls back to default venv - INSTRUCTIONS.md injected into planning and execution prompts - Fix pre-existing clippy warning in kb.rs (filter_map → map) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
项目模板:Web 应用 (FastAPI + SQLite)
技术栈
- 后端:Python FastAPI
- 数据库:SQLite(通过 aiosqlite 异步访问)
- 前端:单页 HTML + 原生 JavaScript(内嵌在 Python 中或作为静态文件)
- 包管理:uv
项目结构约定
app.py # FastAPI 主应用(入口)
database.py # 数据库初始化和模型(可选,小项目可放在 app.py)
static/ # 静态文件目录(可选)
关键约定
- 入口文件:
app.py,FastAPI 应用实例命名为app - 启动命令:
uvicorn app:app --host 0.0.0.0 --port $PORT - 数据库:使用 SQLite,数据库文件放在工作区根目录(如
data.db) - 依赖安装:使用
uv add <包名>安装依赖 - 前端:优先使用单文件 HTML,通过 FastAPI 的
HTMLResponse返回或放在static/目录 - API 路径:应用通过反向代理
/api/projects/{project_id}/app/访问,前端 JS 中的 fetch 必须使用相对路径(如fetch('items'),不要用fetch('/items'))
注意事项
- venv 已在
.venv/中预先创建,直接使用即可 - 不要使用
pip install,使用uv add管理依赖 - SQLite 不需要额外服务,适合单机应用