Spaces:
Sleeping
Sleeping
| # Contributing to GitRag | |
| Thanks for investing time in GitRag! The project aims to stay approachable while | |
| maintaining deterministic indexing guarantees. Please follow the guidelines | |
| below when proposing changes. | |
| ## Development Workflow | |
| 1. **Set up the virtual environment** | |
| ```bash | |
| python -m venv .venv | |
| source .venv/bin/activate | |
| pip install -r requirements.txt | |
| ``` | |
| 2. **Run the test suite locally** | |
| ```bash | |
| .venv/bin/python -m pytest -vv | |
| ``` | |
| Tests stub optional dependencies (Tree-sitter, libSQL driver) where | |
| possible. When touching persistence code, run the live libSQL test by | |
| providing the `CLOUDFLARE_*` variables. | |
| 3. **Linting** is currently handled via CI formatting checks. Please keep | |
| imports clean and add targeted comments only when logic is non-obvious. | |
| 4. **Commit scope**: prefer focused commits per feature/fix. Each commit message | |
| should describe motivation and high-level approach (e.g., "Add CSV chunker | |
| metadata"). | |
| ## Making Larger Changes | |
| - **Chunker updates** must include fixtures + tests that demonstrate the new | |
| behavior. For document chunking, add inputs to `tests/fixtures` and assertions | |
| in `tests/test_chunker_documents.py`. | |
| - **Persistence adapters** should register via `persistence_registry` so they | |
| can be swapped without touching orchestration. Add tests covering | |
| registration/usage. | |
| - **CLI features** should expose flags with descriptive help text and include | |
| coverage in `tests/test_indexer_cli.py`. | |
| ## Filing Issues & Pull Requests | |
| - Use GitHub issues to propose enhancements or report bugs. Include reproduction | |
| steps where possible. | |
| - Draft PRs are welcome for early feedback. When ready, ensure all tests pass | |
| and the change log (README/mission docs) reflects user-facing updates. | |
| ## Code of Conduct | |
| This project follows the [Contributor Covenant](https://www.contributor-covenant.org/). | |
| By participating, you agree to uphold a welcoming, harassment-free environment. | |
| ## License | |
| By contributing, you agree that your contributions are licensed under the terms | |
| of the [MIT License](LICENSE) with GitRag attribution. | |