Back to list
first-fluke

fastapi-router-creator

by first-fluke

Production-ready fullstack monorepo template with Next.js, FastAPI, Flutter, Terraform, and mise

141🍴 21📅 Jan 23, 2026

SKILL.md


name: fastapi-router-creator description: Guide for creating and organizing FastAPI routes using a file-based routing system or modular router pattern. Helps organize complex API structures.

FastAPI Router Creator

This skill guides the creation of modular, organized FastAPI routers, emphasizing maintainability and scalability.

Routing Strategies

1. Modular Router Pattern (Standard)

The most common and recommended approach for FastAPI.

Structure:

src/api/v1/endpoints/
├── users.py
├── items.py
└── auth.py

Implementation:

src/api/v1/endpoints/users.py:

from fastapi import APIRouter

router = APIRouter()

@router.get("/")
async def get_users():
    ...

src/api/v1/api.py (Aggregator):

from fastapi import APIRouter
from src.api.v1.endpoints import users, items

api_router = APIRouter()
api_router.include_router(users.router, prefix="/users", tags=["users"])
api_router.include_router(items.router, prefix="/items", tags=["items"])

2. File-Based Routing (fastapi-router)

For a Next.js-like experience where file structure dictates URLs. (Requires fastapi-router library or custom walker).

Structure:

src/app/
├── api/
│   ├── users/
│   │   ├── route.py  # Handles /api/users
│   │   └── [id]/
│   │       └── route.py # Handles /api/users/{id}

Best Practices

  1. Prefixing: Use prefixes at the router include level, not inside every endpoint decorator.
  2. Tags: Use tags to group endpoints in OpenAPI docs.
  3. Dependencies: Apply dependencies (like auth) at the router level if they apply to all endpoints in that router.
    router = APIRouter(dependencies=[Depends(get_current_active_user)])
    
  4. Version: Namespace routers by API version (v1, v2).

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon