Skip to main content

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

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):

  1. Implement in both languages if possible.
  2. 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.
  3. 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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Write tests for your changes
  4. Ensure all linters and tests pass
  5. 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