| # 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 |