Skip to content

Contributing

Who this is for: everyone contributing to the projects.

This stack is built from open-source projects, and help is welcome. Bug reports, accessibility feedback, documentation improvements, translations and pull requests all make a difference. You do not need to write code to take part.

For a substantial engine, protocol or public-hosting change, open an issue first describing the intended use and tradeoffs before investing heavily. There is no guaranteed response time or event support service.

Ways to help

  • Report bugs with a short, shareable example when possible.
  • Describe accessibility problems, naming the browser or assistive technology involved and the user-visible improvement you would like.
  • Improve the documentation here or in the upstream projects.
  • Help with translations of the guides and user-facing text.
  • Send code changes as pull requests, following the conventions below.

Never include private event audio, credentials, or caption room names in an issue or pull request.

Engine development

The engines are the upstream caption-local and captionninja projects. Engine development, and the tests that go with it, live in those projects rather than in this wiki: read each project's own development documentation before changing its code. This wiki only covers deploying and using the stack.

What changes need testing

Preserve stream isolation, bounded queues, retained audio on failure, and the separation between local processing and optional caption sharing. Tests should exercise observable behavior, especially cancellation and overload. For audio changes, compare complete rolling transcripts and translation meaning, not only whether the server returned HTTP 200.

  • Keep runtime changes separate from benchmark results where practical.
  • Never add models, recordings, private room names, API keys or local .env files to a pull request.
  • Dependencies and contributions must remain compatible with the project's MPL-2.0 licence.

Visual review

For changes to the capture, editor or setup pages, use the screenshot harnesses and inspect both full-page and first-screen images. The upstream project records the checked pages, viewport sizes and the limits of these checks in its visual review evidence.

Licence

The caption-local project is licensed under the Mozilla Public License 2.0 (MPL-2.0). By contributing code or documentation you agree that your contribution may be distributed under that licence. See Licence and credits for how this wiki is licensed in turn.