> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tasteful.heka.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Tasteful Framework

> A modern Python framework for building modular, scalable applications with composable flavors

<img className="block dark:hidden" src="https://mintcdn.com/tasteful/9kPSF7aS2kwVe3Wg/images/hero-light.png?fit=max&auto=format&n=9kPSF7aS2kwVe3Wg&q=85&s=1ae7032fc23a3fc2c646dd0dfb3a34b1" alt="Tasteful Framework" style={{ width:"100%" }} width="2064" height="1104" data-path="images/hero-light.png" />

<img className="hidden dark:block" src="https://mintcdn.com/tasteful/9kPSF7aS2kwVe3Wg/images/hero-dark.png?fit=max&auto=format&n=9kPSF7aS2kwVe3Wg&q=85&s=690f563326b06536a3a43749acdd786f" alt="Tasteful Framework" width="2064" height="1104" data-path="images/hero-dark.png" />

# Welcome to Tasteful

Tasteful is a modern Python framework that combines the **modularity of microservices** with the **simplicity of monoliths**. Build applications using composable "flavors" that can be deployed together or separately, giving you ultimate flexibility.

## Why Tasteful?

<CardGroup cols={2}>
  <Card title="Why Tasteful?" icon="question" href="/why-tasteful">
    Discover the benefits of modular architecture and composable flavors
  </Card>

  <Card title="Quick Start" icon="code" href="/quickstart">
    Start building awesome documentation in under 5 minutes
  </Card>
</CardGroup>

## Quick Start

Get started with Tasteful in minutes:

```python theme={null}
from tasteful import TastefulApp
from tasteful.base_flavor import BaseFlavor, BaseController
from tasteful.decorators.controller import Get

class HelloController(BaseController):
    def __init__(self):
        super().__init__(prefix="/hello", tags=["greeting"])
    
    @Get("/")
    async def say_hello(self) -> dict:
        return {"message": "Hello from Tasteful!"}

class HelloFlavor(BaseFlavor):
    def __init__(self):
        super().__init__(
            controller=HelloController,
            services=[],
            repositories=[],
            config=None
        )

app = TastefulApp(
    title="My First Tasteful App",
    version="1.0.0",
    flavors=[HelloFlavor],
    authentication_backends=[]
)
```

## Core Concepts

<CardGroup cols={2}>
  <Card title="Flavors" icon="layer-group" href="/concepts/flavors">
    Learn about the building blocks of Tasteful applications
  </Card>

  <Card title="Modular Architecture" icon="puzzle-piece" href="/concepts/modular-architecture">
    Understand the clean architecture with flavors, services, and repositories
  </Card>

  <Card title="Services" icon="gear" href="/concepts/services">
    Business logic and dependency injection patterns
  </Card>

  <Card title="Backends" icon="plug" href="/concepts/backends">
    Authentication, backends, and third-party integrations
  </Card>
</CardGroup>

## Built-in Flavors

Tasteful comes with ready-to-use flavors for common functionality:

<CardGroup cols={2}>
  <Card title="Identity Management" icon="user-shield" href="/concepts/identity">
    Identity management with OIDC authentication and user profiles
  </Card>

  <Card title="Worker Tasks" icon="clock" href="/flavors/worker">
    Background job processing and task scheduling
  </Card>
</CardGroup>
