Skip to content

Development & Contributing

This guide is for developers who clone the repository, run VideoSphere locally, change code, or update documentation.

If you only want to run VideoSphere in production (Docker, Portainer, homelab), start with the Deployment Guide on the home page instead.

First-time local setup

  1. Clone the repo and run through Local Setup (environment variables, MongoDB, first admin account).
  2. Follow the Daily Dev Workflow checklist before and after each coding session.

Before you open a pull request

StepDoc
Format, lint, test, buildDaily Dev Workflow
ESLint, Prettier, export doc commentsCode Quality
Vitest and accessibility testsTesting

Codebase reference

TopicDoc
Uploads UI, livestreams, YouTube import, connectionsUploads, Livestreams & Distribution
MongoDB collections and platformsMongoDB Data Model
Draft document JSON and manual upload testingDraft Document & Upload Testing
Next.js route handlersAPI Routes Guide
Generated symbol referenceAPI Reference and TypeDoc
TypeScript conventionsTypeScript
Accessibility expectationsAccessibility
Next.js performance patternsPerformance

Docker and production parity

  • Local Docker Testing — build the production image from source and smoke-test with your .env.local before merging Dockerfile changes.

Contributor tooling (optional)

ToolDoc
VS Code Dev ContainerDev Container
Context7 MCP (library docs in the IDE)Context7 MCP Setup
Figma MCP (design tokens in Copilot)Figma MCP Setup

Editing this documentation site

The docs are built with VitePress from the docs/ folder.

CommandPurpose
pnpm docs:devLocal preview with live reload (regenerates API docs first)
pnpm docs:buildProduction build — run before merging docs changes
pnpm docs:previewPreview the built output locally
pnpm docs:apiRegenerate TypeDoc output at docs/public/typedoc

Typical workflow: edit markdown → pnpm docs:dev while writing → pnpm docs:build before opening a PR against dev.

Docs deploy automatically to videosphere.sarahpoulin.ca on pushes to main.