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