Skip to main content

Contributing Guide

Thank you for contributing to our open-source developer tooling ecosystem! We welcome contributions across bug fixes, performance improvements, documentation, and new features.


Repositories​


Local Development Setup​

1. LLM Context Forge (Python)​

git clone https://github.com/dhruv-atomic-mui21/llm-context-forge.git
cd llm-context-forge/llm-context-forge-py

# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate

# Install in editable mode with development dependencies
pip install --upgrade pip
pip install -e ".[dev]"

# Run full test suite
pytest -v

2. Velox GTM (Python)​

git clone https://github.com/dhruv-atomic-mui21/velox.git
cd velox

# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate

# Install with development dependencies
pip install --upgrade pip
pip install -e ".[dev]"

# Run offline mock test suite
pytest -v

3. LLM Context Forge (TypeScript)​

git clone https://github.com/dhruv-atomic-mui21/llm-context-forge-js.git
cd llm-context-forge-js

npm install
npm test

Testing & Quality Assurance​

Before submitting any Pull Request, ensure all automated tests and quality checks pass locally:

LLM Context Forge Checks​

# 1. Zero hardcoded prices assertion
python -c "from llm_context_forge.pricing_provider import BundledYAMLPricingProvider; assert len(BundledYAMLPricingProvider().fetch()) >= 15"

# 2. Run complete test suite (unit, integration, benchmarks)
pytest -v --tb=short

Velox GTM Checks​

# 1. Run offline test harness
pytest -v --tb=short

# 2. Verify demo command executes with 0 exit code
python -c "from velox_gtm.main import demo; assert demo() is None"

Cross-Language Parity (LLM Context Forge)​

When proposing a new chunking algorithm, model registry update, or tokenizer optimization for LLM Context Forge:

  1. Maintain Behavioral Parity: Behavior must remain 100% equivalent across Python and TypeScript.
  2. Shared Test Vectors: Test vectors reside in tests/fixtures/ as JSON matrices. Both implementations must produce identical token slices and chunk boundaries for identical inputs.
  3. If implementing in only one language, open a tracking issue in the corresponding repository with the test vector JSON.

Submitting Pull Requests​

  1. Fork the target repository and create a descriptive feature branch (git checkout -b feat/vision-token-sizing).
  2. Implement your changes along with dedicated unit tests in tests/.
  3. Ensure test coverage does not regress.
  4. Follow Conventional Commits for all commit messages (feat:, fix:, docs:, perf:).
  5. Open a Pull Request referencing any relevant tracking issues.