This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Note: While this file is machine-generated, it should NOT be marked as "generated" in .gitattributes. It serves as a crucial interface between humans and AI assistants, and merging conflicts should be resolved manually to ensure accurate guidance.
- Environment: Use
make setupto create a virtual environment with uv, thenmake activatefor instructions - Python: Use
make testto run all tests oruv run python -m pytest tests/test_file.py::test_functionfor single tests - Linting: Use
make lintto run flake8 and mypy, ormake formatto run Black - Documentation: Use
make docsto generate API documentation - Sample Analysis: Use
make sample-analysisfor a quick demo of the toolkit's capabilities - Simulation: Use
make simulateto run a value-based chat simulation
- Python: Follow PEP 8 conventions with Black formatting (line length: 88)
- Imports: Group by stdlib → third-party → local with one blank line separating groups
- Types: Use type annotations for all function parameters and return values
- Naming:
snake_casefor variables/functions,PascalCasefor classes,UPPER_CASEfor constants - Error Handling: Use specific exceptions with informative messages; prefer context managers
- Documentation: Google-style docstrings with parameters, returns, and examples
- Privacy: Never log or store sensitive information; always use anonymization functions
- Testing: Write unit tests for all new functionality, including edge cases and error paths