Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 1.67 KB

File metadata and controls

65 lines (47 loc) · 1.67 KB

Contributing to Verbatim RAG

Thanks for your interest in contributing!

Development Setup

git clone https://github.com/KRLabsOrg/verbatim-rag.git
cd verbatim-rag
pip install -e packages/core/
pip install -e ".[dev]"

Project Structure

packages/core/verbatim_core/   # Lean extraction package (verbatim-core on PyPI)
verbatim_rag/                  # Full RAG pipeline (verbatim-rag on PyPI)
api/                           # FastAPI server
frontend/                      # React UI
tests/                         # Tests (run against verbatim-core only)
docs/                          # MkDocs documentation

Running Tests

pytest tests/ -v

Tests only depend on verbatim-core (openai + pydantic). All LLM calls are mocked.

Linting

ruff check packages/core/verbatim_core/ verbatim_rag/ api/ tests/
ruff format packages/core/verbatim_core/ verbatim_rag/ api/ tests/

Making Changes

  1. Fork the repo and create a branch from main
  2. Make your changes
  3. Run tests and linting
  4. Open a pull request against main

CI runs lint, tests (Python 3.10-3.12), and pip-audit on all PRs.

Releasing

Both packages share the same version number. To release:

  1. Bump version in packages/core/pyproject.toml and pyproject.toml
  2. Update CHANGELOG.md
  3. Commit, tag, and push: git tag v0.x.y && git push --tags
  4. Create a GitHub release from the tag
  5. Publish to PyPI (extractor first, then rag):
    cd packages/core && python -m build && twine upload dist/*
    cd ../.. && python -m build && twine upload dist/*

License

By contributing, you agree that your contributions will be licensed under the MIT License.