Thank you for helping improve this workshop-focused repository.
- Use Python 3.12.
- Create a virtual environment:
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txtRun the local test suite before opening a PR:
pytest -q
ruff check .- Use a feature branch such as
feat/add-chunker-optimizer - Keep commit messages clear and scoped
- Keep the repository offline-first and deterministic
- Add or update tests for changed behavior
- Validate the offline/mock workflow
- Do not add paid APIs or cloud dependencies to core examples
- Avoid broad refactors not related to the change
When modifying chunking, check:
- chunk size validation
- overlap validation
- deterministic ordering
- empty-document handling
- metadata preservation
When modifying retrieval, check:
- query validation
- top-k boundaries
- ordering by relevance
- empty-index handling
- deterministic output
Keep retrieval independent from the MCP transport layer.
- validate JSON input
- return structured output
- do not couple the implementation to external services
- prefer small integration tests over broad mock-heavy tests
This project should never depend on paid APIs or external services for core examples. If a new dependency is needed, prefer local, minimal packages and document the reason clearly.