fastapi-clean は何をしますか?
FastAPIクリーンアーキテクチャ実践スキル — マルチエージェント対応(Cursor、Claude Code、Codex、OpenCode、Continue、Aider、Cline、Windsurf)。ユースケース+リポジトリ+Celery 5.4+PyMongo async+Clerk JWT+APIキーSHA-256。
概要
このスキルは、FastAPIプロジェクトでクリーンアーキテクチャを適用するための実践的なガイドラインとコード構造を提供します。ドメイン駆動設計(DDD)の原則に従い、以下の層を明確に分離します。
- ユースケース層: ビジネスロジックをカプセル化
- リポジトリ層: データアクセスを抽象化
- インフラ層: Celery非同期タスク、PyMongo async、Clerk JWT認証、APIキーのSHA-256ハッシュ管理
対応エージェント
このスキルは以下のAIエージェントツールで使用できます。
- Cursor
- Claude Code
- Codex
- OpenCode
- Continue
- Aider
- Cline
- Windsurf
特徴
| 機能 | 説明 |
|---|---|
| クリーンアーキテクチャ | ユースケース、リポジトリ、エンティティの明確な分離 |
| Celery 5.4 | 非同期タスクキュー |
| PyMongo async | 非同期MongoDB操作 |
| Clerk JWT | 認証・認可 |
| APIキーSHA-256 | 安全なAPIキー管理 |
使用例
# ユースケースの例
from fastapi import APIRouter, Depends
from use_cases.user import CreateUserUseCase
from repositories.user import UserRepository
router = APIRouter()
@router.post("/users")
async def create_user(
use_case: CreateUserUseCase = Depends(CreateUserUseCase)
):
return await use_case.execute()