Skip to content

Latest commit

Β 

History

History
132 lines (94 loc) Β· 2.52 KB

File metadata and controls

132 lines (94 loc) Β· 2.52 KB

Contributing to Local LLM Gateway

Thank you for your interest in contributing! πŸŽ‰

Please read our Code of Conduct before contributing.

Quick Start

# Clone repository
git clone https://github.com/JoshWheeler08/local-llm-gateway.git
cd local-llm-gateway

# Install dependencies
npm install
cd proxy && npm install && cd ..

# Run tests
npm test

# Run linting
npm run lint

Commit Convention

We use Conventional Commits:

<type>(<scope>): <subject>

<body>

<footer>

Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting)
  • refactor: Code refactoring
  • perf: Performance improvements
  • test: Test updates
  • build: Build system changes
  • ci: CI/CD changes
  • chore: Other changes

Examples:

feat(bedrock): add Mistral model support
fix(adapter): resolve provider detection bug
docs(readme): update installation instructions

Development Workflow

  1. Fork the repository
  2. Create a feature branch:
   git checkout -b feat/my-feature
  1. Make your changes
  2. Commit with conventional commits:
   git commit -m "feat(scope): add new feature"
  1. Push to your fork:
   git push origin feat/my-feature
  1. Open a Pull Request

Pull Request Process

  1. Ensure all tests pass
  2. Update documentation if needed
  3. Follow the PR template
  4. Wait for review from maintainers
  5. Address any requested changes

Code Style

  • TypeScript for all code
  • ESLint for linting
  • Prettier for formatting (optional)
  • Follow existing patterns

Testing

# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Run specific test
npm test -- server.test.ts

Project Structure

local-llm-gateway/
β”œβ”€β”€ proxy/              # Application code
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ adapters/   # Provider adapters
β”‚   β”‚   β”œβ”€β”€ runners/    # Model runners
β”‚   β”‚   └── types/      # Type definitions
β”‚   └── package.json
β”œβ”€β”€ kubernetes/helm/    # Helm chart
└── .github/           # CI/CD workflows

Getting Help

License

By contributing, you agree that your contributions will be licensed under the project's license.