Thank you for your interest in contributing! This guide will help you get started.
- Fork the repository
- Clone your fork and create a branch:
git clone https://github.com/<your-username>/simplaix-gateway.git
cd simplaix-gateway
git checkout -b feature/your-feature-name- Install dependencies and set up the dev environment:
pnpm install
cp .env.example .env
docker compose up -d postgres
pnpm db:migrate- Start the dev server:
pnpm dev- Follow existing patterns in the codebase (see
CLAUDE.mdfor architecture conventions) - Use folder-per-unit structure for routes and services
- Keep
index.tsas the public entrypoint; put logic inmodule.tsor feature files - Use TypeScript strict mode
Run these checks locally:
# Type checking
pnpm -s typecheck:gateway
# Tests
pnpm -s test:gateway- Use clear, concise commit messages
- Start with a verb:
Add,Fix,Update,Remove,Refactor - Example:
Add rate limiting to MCP proxy endpoint
- One PR per change — keep PRs focused and reviewable
- Describe what and why — explain the motivation, not just the code
- Update docs if needed — if your change affects user-facing behavior
- All checks must pass — CI will run type checking and tests
- Squash and merge — we use squash merges to keep
mainhistory clean
<type>: <short description>
Types: feat, fix, docs, refactor, test, chore
Examples:
feat: add OAuth2 credential provider supportfix: handle expired tokens in MCP proxydocs: update quick start guide
- Use GitHub Issues for bug reports and feature requests
- Search existing issues before creating a new one
- Include reproduction steps for bugs
- For security vulnerabilities, please email contact@simplaix.com instead of opening a public issue
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.