从重复的 FastAPI 设置到模块化 CLI 生成器

发布: (2026年1月19日 GMT+8 11:02)
3 min read
原文: Dev.to

Source: Dev.to

问题陈述

我已经在生产环境中使用 FastAPI 构建项目有一段时间了,每次启动一个新服务时都会遇到同样的问题:

  • 设置数据库连接(PostgreSQL / MySQL / SQLite)
  • 实现 JWT 认证
  • 为缓存接入 Redis
  • 配置 Celery 进行后台任务
  • 编写 Docker 与 Docker Compose 配置
  • 设置 Alembic 迁移
  • 配置 pytest(异步、fixture 等)

你懂的,这些都是常规操作。

解决方案:Forge CLI

在一次又一次的重复操作后,我把所有内容抽取成了一个可复用的交互式 CLI 工具 Forge,它可以根据你实际需要的功能生成 FastAPI 项目。

pip install ningfastforge
forge init

CLI 会引导你完成一系列提示,根据你的选择生成完整的项目。

特性

  • ✅ 干净、面向生产的 FastAPI 项目结构
  • ✅ 使用 SQLModel 或 SQLAlchemy 的数据库设置(PostgreSQL / MySQL / SQLite)
  • ✅ JWT 认证(基础或完整流程,含邮件验证)
  • ✅ Redis 集成用于缓存
  • ✅ Celery 配置用于后台任务
  • ✅ 可直接使用的 Docker 与 Docker Compose
  • ✅ Alembic 迁移
  • ✅ 支持异步的 pytest 配置

生成器是模块化的:

  • 不需要 Redis?可以跳过。
  • 不需要认证?可以跳过。
  • 只想要一个带数据库的简单 API?也可以。

Forge 只会为你选择的功能生成相应的文件和配置,而不是强制使用“一刀切”的模板。

链接

反馈

我很想听听其他 FastAPI 使用者的反馈:

  • 你通常是如何快速启动新的 FastAPI 项目的?
  • 哪些部分是你觉得最烦人的重复设置?
  • 你希望此类工具具备哪些功能,但目前还没有看到?

感谢阅读 🙌

Back to Blog

相关文章

阅读更多 »

使用 Claw 在手机上控制 Claude Code

问题:你正深入进行一次 Claude Code 会话,正在处理一个复杂任务。但你需要离开一下——去喝咖啡、接电话、接孩子。你该怎么办?