Contributing to The Shift Platform
Welcome, and thank you for your interest in contributing to The Shift Platform. This section covers everything you need to get started -- from setting up your development environment to submitting pull requests.
Two Development Modes
Simple Mode
The fastest way to develop locally. Starts all service APIs, web UIs, and the gateway in a single command:
bun install
bun run dev
This launches all services on their individual dev ports (4001-4010 for APIs, 4101-4110 for web UIs) and the gateway on port 3000.
Production-Like Mode
Run the full stack in a local Kubernetes cluster using kind. This mirrors the production deployment topology:
make dev-k8s
make dev-k8s-status
curl http://shift.lvh.me/healthz
See the Local K8s guide for details.
Before Submitting
Before opening a pull request, ensure:
- Lint passes --
bun run check(Biome format + lint) - Tests pass --
bun run test(bun:test across all services) - Types check -- TypeScript strict mode with no errors
bun run check
bun run test
What to Read Next
- Development Setup -- Prerequisites, cloning, installing, and running
- Conventions -- Coding standards for TypeScript, formatting, testing, CLI, and API design
- PR Workflow -- Where to open PRs and how to handle submodule changes