[flake8]
max-line-length = 100
extend-ignore = E203, E266, E501, W503, D200, D212, D415, D107, F541, B007, B014, B110, B104, B201, B605
exclude =
    .git,
    __pycache__,
    build,
    dist,
    .eggs,
    *.egg-info,
    .tox,
    .venv,
    venv,
    */migrations/*,
    */static/*,
    ai-orchestrator,
    ui/app.py,
per-file-ignores =
    __init__.py:F401,D
    tests/*.py:D,F401,F841,E402,E303,B017
    setup.py:D
    ai-orchestrator:D,F401,E402,C901
    adapters/*.py:B404,B603,B607
    orchestrator/health.py:B404,B603,B607
    orchestrator/shell.py:F401,C901
    orchestrator/async_executor.py:F401
    orchestrator/config_manager.py:F401,E402
    orchestrator/cache.py:E402
    orchestrator/metrics.py:F841,E402
    orchestrator/logging_config.py:F401
    orchestrator/retry.py:F401
    ui/app.py:D,F401,B105
    adapters/cli_communicator.py:B602
max-complexity = 20
docstring-convention = google
