HuggingClaw-MissionControl / CONTRIBUTING.md
Nyk
feat: initial open-source release
bbbc03f

Contributing to Mission Control

Thank you for your interest in contributing to Mission Control.

Getting Started

# 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

Development Workflow

  1. Fork the repository and create a feature branch from main.
  2. Make your changes β€” keep commits focused and descriptive.
  3. Run the quality gate before submitting:
    pnpm quality:gate  # lint + typecheck + test + e2e + build
    
  4. Open a pull request against main using the PR template.

Code Style

  • TypeScript strict mode β€” no any unless 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.

Project Structure

  • src/app/api/ β€” Next.js API routes (REST endpoints)
  • src/components/panels/ β€” Feature panels rendered by the SPA shell
  • src/components/layout/ β€” Navigation, header, and layout components
  • src/lib/ β€” Shared utilities (auth, database, config, scheduler)
  • src/store/ β€” Zustand state management

Testing

  • Unit tests: Vitest β€” pnpm test
  • E2E tests: Playwright β€” pnpm test:e2e
  • Type checking: pnpm typecheck
  • Lint: pnpm lint

Reporting Bugs

Open an issue with:

  • Steps to reproduce
  • Expected vs actual behavior
  • Browser/OS/Node version

License

By contributing, you agree that your contributions will be licensed under the MIT License.