|
| 1 | +# Odoo Data Flow - CRUSH.md |
| 2 | + |
| 3 | +## Build/Lint/Test Commands |
| 4 | +- Setup: `nox -s setup` (if available) or `uv sync` |
| 5 | +- Lint: `nox -s pre-commit` or `ruff check .` and `ruff format .` |
| 6 | +- Type check: `nox -s mypy` or `mypy src tests docs/conf.py` |
| 7 | +- Run all tests: `nox -s tests` or `pytest tests/` |
| 8 | +- Run single test: `pytest tests/test_file.py::test_function` |
| 9 | +- Coverage: `nox -s coverage` |
| 10 | +- Docs: `nox -s docs` (live) or `nox -s docs-build` (build) |
| 11 | + |
| 12 | +## Code Style Guidelines |
| 13 | +- Formatting: ruff (88 char line limit) |
| 14 | +- Imports: isort style, grouped by standard library, third-party, local |
| 15 | +- Types: Use lowercase built-ins (list, dict), fully type-hinted code |
| 16 | +- Naming: snake_case for variables/functions, PascalCase for classes |
| 17 | +- Docstrings: Google style (Args:, Returns:) with one-line summary |
| 18 | +- Error handling: Use exceptions from src/odoo_data_flow/lib/internal/exceptions.py |
| 19 | +- Tests: Pytest with descriptive names, follow existing patterns in tests/ |
| 20 | + |
| 21 | +## Project Structure |
| 22 | +- src/odoo_data_flow/: Main source code |
| 23 | +- tests/: Unit and integration tests |
| 24 | +- docs/: Documentation source |
| 25 | +- conf/: Configuration files |
| 26 | +- testdata/: Sample data files |
| 27 | +- .nox/: Virtual environments |
| 28 | +- Key files: noxfile.py, pyproject.toml, .pre-commit-config.yaml |
0 commit comments