Contributing
Thank you for your interest in contributing to LLM Context Forge! We maintain both the Python and TypeScript repositories. Our goal is 100% behavioral parity between the two environments.
Repositories
- Python Core: llm-context-forge
- TypeScript Core: llm-context-forge-js
Development Setup
Python
The Python project uses Poetry for dependency management.
git clone https://github.com/dhruv-atomic-mui21/llm-context-forge.git
cd llm-context-forge
poetry install --all-extras
poetry run make test
TypeScript
The TypeScript project uses npm.
git clone https://github.com/dhruv-atomic-mui21/llm-context-forge-js.git
cd llm-context-forge-js
npm install
npm test
Cross-Platform Parity
When contributing a new feature (like a new chunking strategy or an updated model registry):
- Implement in both languages if possible.
- Use identical test vectors. We use JSON fixtures in the
tests/fixtures/directory to ensure both Python and TypeScript components produce exactly the same output for the same input. - If you can only implement in one language, open an issue in the other repository linking to your PR so someone else can port it.
Submitting Pull Requests
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Write tests for your changes
- Ensure all linters and tests pass
- Submit the PR with a clear description
Please ensure you format your code before submitting:
- Python:
poetry run make lint- TypeScript:
npm run lint&&npm run format