"""File filtering for static analysis.

Provides pattern-based filtering to exclude non-code files from analysis,
reducing token bloat and improving LLM efficiency.
"""

from unfamiliar.analysis.filters.gitignore import load_gitignore_spec
from unfamiliar.analysis.filters.patterns import (
    ALWAYS_EXCLUDE,
    ALWAYS_INCLUDE,
    DEFAULT_EXCLUDE,
    FileFilter,
)

__all__ = [
    "FileFilter",
    "load_gitignore_spec",
    "ALWAYS_EXCLUDE",
    "DEFAULT_EXCLUDE",
    "ALWAYS_INCLUDE",
]
