Thank you for your interest in contributing to Mission Control.
# Clone the repo
git clone https://github.com/builderz-labs/mission-control.git
cd mission-control
# Install dependencies
pnpm install
# Copy environment config
cp .env.example .env
# Edit .env with your values
# Start development server
pnpm dev- Fork the repository and create a feature branch from
main. - Make your changes — keep commits focused and descriptive.
- Run the quality gate before submitting:
pnpm quality:gate # lint + typecheck + test + e2e + build - Open a pull request against
mainusing the PR template.
- TypeScript strict mode — no
anyunless absolutely necessary. - Tailwind CSS for styling — use semantic design tokens (
text-foreground,bg-card, etc.). - Server components by default;
'use client'only when needed. - API routes use
requireRole()for auth and return JSON responses.
src/app/api/— Next.js API routes (REST endpoints)src/components/panels/— Feature panels rendered by the SPA shellsrc/components/layout/— Navigation, header, and layout componentssrc/lib/— Shared utilities (auth, database, config, scheduler)src/store/— Zustand state management
- Unit tests: Vitest —
pnpm test - E2E tests: Playwright —
pnpm test:e2e - Type checking:
pnpm typecheck - Lint:
pnpm lint
Open an issue with:
- Steps to reproduce
- Expected vs actual behavior
- Browser/OS/Node version
By contributing, you agree that your contributions will be licensed under the MIT License.