# CLAUDE.md - Guidelines for Ghibli Project ## Commands - Build/Run: `python app.py` - Tests: `pytest tests/` - Single test: `pytest tests/path_to_test.py::test_function_name -v` - Lint: `flake8 . && black . --check` - Type check: `mypy .` ## Code Style Guidelines - **Formatting**: Use Black for Python code formatting - **Imports**: Sort imports with isort; standard library first, then third-party, then local - **Types**: Use type hints for all function signatures - **Naming**: - snake_case for variables and functions - PascalCase for classes - UPPER_CASE for constants - **Error Handling**: Use try/except with specific exceptions, avoid bare except - **Documentation**: Use docstrings for all public functions and classes - **Testing**: Write unit tests for all new features - **Commits**: Descriptive commit messages with present tense verbs ## Project Structure - `/app.py` - Main Gradio application - `/models/` - ML model implementations - `/utils/` - Utility functions - `/tests/` - Test files