반복적인 FastAPI 설정에서 모듈식 CLI 생성기로

발행: (2026년 1월 19일 오후 12:02 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

Problem Statement

저는 프로덕션 환경에서 FastAPI 프로젝트를 오래도록 만들어 왔고, 새로운 서비스를 시작할 때마다 같은 문제에 부딪혔습니다:

  • 데이터베이스 연결 설정 (PostgreSQL / MySQL / SQLite)
  • JWT 인증 구현
  • 캐싱을 위한 Redis 연동
  • 백그라운드 작업을 위한 Celery 설정
  • Docker & Docker Compose 설정 작성
  • Alembic 마이그레이션 설정
  • pytest 설정 (async, fixtures 등)

다들 똑같은 상황을 겪고 계시죠.

Solution: Forge CLI

이 과정을 반복하면서 모든 것을 재사용 가능한 인터랙티브 CLI 도구 Forge 로 추출했습니다. Forge는 실제로 필요한 기능에 따라 FastAPI 프로젝트를 생성합니다.

pip install ningfastforge
forge init

CLI가 일련의 프롬프트를 안내하고, 선택에 따라 완전한 프로젝트를 만들어 줍니다.

Features

  • ✅ 깔끔하고 프로덕션에 적합한 FastAPI 프로젝트 구조
  • ✅ SQLModel 또는 SQLAlchemy를 이용한 데이터베이스 설정 (PostgreSQL / MySQL / SQLite)
  • ✅ JWT 인증 (기본 또는 이메일 인증을 포함한 전체 흐름)
  • ✅ 캐싱을 위한 Redis 연동
  • ✅ 백그라운드 작업을 위한 Celery 설정
  • ✅ 바로 사용할 수 있는 Docker & Docker Compose
  • ✅ Alembic 마이그레이션
  • ✅ async 지원이 포함된 pytest 설정

제너레이터는 모듈식입니다:

  • Redis가 필요 없나요? 건너뛰세요.
  • 인증이 필요 없나요? 건너뛰세요.
  • 데이터베이스만 있는 간단한 API가 필요하신가요? 그것도 가능합니다.

Forge는 선택한 기능에 맞는 파일과 설정만 생성하며, 일괄 템플릿을 강제하지 않습니다.

Feedback

다른 FastAPI 사용자들의 의견을 듣고 싶습니다:

  • 보통 새로운 FastAPI 프로젝트를 어떻게 부트스트랩하시나요?
  • 반복해서 설정할 때 가장 번거롭게 느끼는 부분은 무엇인가요?
  • 이런 도구에서 기대하지만 아직 보이지 않는 기능이 있나요?

읽어 주셔서 감사합니다 🙌

Back to Blog

관련 글

더 보기 »

Claw로 휴대폰에서 Claude Code 제어하기

문제: 당신은 Claude Code 세션에 깊이 몰두해 있습니다. 복잡한 작업을 진행 중입니다. 하지만 잠시 떠나야 합니다—커피를 마시거나, 전화를 받거나, 아이를 데려와야 합니다. 무엇을…