ASD

Fastapi Templates

Crea proyectos FastAPI listos para producción con patrones async, inyección de dependencias y manejo de errores integral, para nuevas aplicaciones o APIs backend.

Estrellas
38.8k

en todo el repo

Actividad
47

0–100, la ruta de este skill

Actualizado
hace 2 meses

último commit aquí

Commits
1

últimos 90 días

Contexto
951 tok

49 tok en reposo

Paquete
2 archivos

15 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add wshobson/agents --skill fastapi-templates --agent claude-code

Se instala solo en este repositorio.

Este skill makes network requests.

Qué hace

  • Genera una estructura de proyecto FastAPI con capas api/core/models/schemas/services/repositories
  • Aplica patrones de inyección de dependencias con Depends para DB, auth y configuración
  • Configura patrones async para rutas, operaciones de base de datos, tareas en segundo plano y middleware
  • Añade configuración de tests con pytest, httpx AsyncClient y base de datos SQLite en memoria

Úsalo cuando

  • Empezar proyectos FastAPI desde cero
  • Implementar APIs REST async con Python
  • Construir servicios web y microservicios de alto rendimiento
  • Configurar proyectos API con estructura adecuada y testing

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Crea la estructura inicial de un proyecto FastAPI con inyección de dependencias
    • Necesito montar una API async con FastAPI y PostgreSQL
    • Configúrame tests con pytest y httpx para mi app FastAPI

    SKILL.md

    En inglés

    FastAPI Project Templates

    Production-ready FastAPI project structures with async patterns, dependency injection, middleware, and best practices for building high-performance APIs.

    When to Use This Skill

    • Starting new FastAPI projects from scratch
    • Implementing async REST APIs with Python
    • Building high-performance web services and microservices
    • Creating async applications with PostgreSQL, MongoDB
    • Setting up API projects with proper structure and testing

    Core Concepts

    1. Project Structure

    Recommended Layout:

    app/
    ├── api/                    # API routes
    │   ├── v1/
    │   │   ├── endpoints/
    │   │   │   ├── users.py
    │   │   │   ├── auth.py
    │   │   │   └── items.py
    │   │   └── router.py
    │   └── dependencies.py     # Shared dependencies
    ├── core/                   # Core configuration
    │   ├── config.py
    │   ├── security.py
    │   └── database.py
    ├── models/                 # Database models
    │   ├── user.py
    │   └── item.py
    ├── schemas/                # Pydantic schemas
    │   ├── user.py
    │   └── item.py
    ├── services/               # Business logic
    │   ├── user_service.py
    │   └── auth_service.py
    ├── repositories/           # Data access
    │   ├── user_repository.py
    │   └── item_repository.py
    └── main.py                 # Application entry
    

    2. Dependency Injection

    FastAPI's built-in DI system using Depends:

    • Database session management
    • Authentication/authorization
    • Shared business logic
    • Configuration injection

    3. Async Patterns

    Proper async/await usage:

    • Async route handlers
    • Async database operations
    • Async background tasks
    • Async middleware

    Detailed worked examples and patterns

    Detailed sections (starting with ## Implementation Patterns) live in references/details.md. Read that file when the navigation summary above is insufficient.

    Testing

    # tests/conftest.py
    import pytest
    import asyncio
    from httpx import AsyncClient
    from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
    from sqlalchemy.orm import sessionmaker
    
    from app.main import app
    from app.core.database import get_db, Base
    
    TEST_DATABASE_URL = "sqlite+aiosqlite:///:memory:"
    
    @pytest.fixture(scope="session")
    def event_loop():
        loop = asyncio.get_event_loop_policy().new_event_loop()
        yield loop
        loop.close()
    
    @pytest.fixture
    async def db_session():
        engine = create_async_engine(TEST_DATABASE_URL, echo=True)
        async with engine.begin() as conn:
            await conn.run_sync(Base.metadata.create_all)
    
        AsyncSessionLocal = sessionmaker(
            engine, class_=AsyncSession, expire_on_commit=False
        )
    
        async with AsyncSessionLocal() as session:
            yield session
    
    @pytest.fixture
    async def client(db_session):
        async def override_get_db():
            yield db_session
    
        app.dependency_overrides[get_db] = override_get_db
    
        async with AsyncClient(app=app, base_url="http://test") as client:
            yield client
    
    # tests/test_users.py
    import pytest
    
    @pytest.mark.asyncio
    async def test_create_user(client):
        response = await client.post(
            "/api/v1/users/",
            json={
                "email": "test@example.com",
                "password": "testpass123",
                "name": "Test User"
            }
        )
        assert response.status_code == 201
        data = response.json()
        assert data["email"] == "test@example.com"
        assert "id" in data
    

    Reproducido de wshobson/agents bajo licencia MIT. Leer esta página en markdown.

    Archivos

    2 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Detalles

    Creador
    wshobson
    Licencia
    MIT
    Recursos incluidos
    referencias
    Repositorio
    wshobson/agents
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de wshobson/agents

    Este repo incluye 180 skills. Si instalas uno, normalmente ya tienes los demás.

    Úsalo al seleccionar y colocar iconos, imágenes, SVGs, diagramas o infografías de apoyo aprobados en un PPTX editable.

    Costo de contexto al activarse
    344 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo cuando pidan optimizar un prompt, mejorar su rendimiento, diseñar una plantilla, aplicar chain-of-thought, few-shot prompting o técnicas avanzadas de prompt engineering para producción.

    Costo de contexto al activarse
    1.3k tok
    Tamaño del paquete
    10 archivos
    Última actualización
    el mes pasado
    herramientas desarrollo

    Úsalo al redactar o reparar una especificación JSON con coordenadas explícitas para un PPTX editable.

    Costo de contexto al activarse
    489 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para validar o reparar un PPTX editable en cuanto a geometría, accesibilidad, editabilidad nativa, linaje de fuente e integridad del paquete OOXML.

    Costo de contexto al activarse
    409 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para analizar un PPTX de referencia en modo solo lectura: estructura, tema, tipografía, ritmo de layout, diagnósticos, catálogos de plantillas derivados o inspección segura del paquete OOXML.

    Costo de contexto al activarse
    689 tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo al preparar la narrativa, las fuentes y el contexto de diseño para un nuevo deck PPTX editable.

    Costo de contexto al activarse
    415 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Skills relacionados

    Integra el procesamiento de pagos de PayPal, con soporte para express checkout, suscripciones y gestión de reembolsos en flujos de comercio electrónico.

    Costo de contexto al activarse
    1k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    desarrollo apis

    Construye sistemas RAG (Retrieval-Augmented Generation) para aplicaciones LLM con bases de datos vectoriales y búsqueda semántica, integrando conocimiento externo.

    Costo de contexto al activarse
    1.1k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    el mes pasado
    desarrollo apis

    Construye servicios backend de Node.js listos para producción con Express/Fastify, cubriendo middleware, manejo de errores, autenticación, bases de datos y diseño de APIs.

    Costo de contexto al activarse
    499 tok
    Tamaño del paquete
    3 archivos
    Última actualización
    hace 2 meses
    desarrollo apis