Contributing to Fairbeam

Thank you for helping. Bug reports, documentation fixes, models, tests and code are all welcome.

Reporting a problem

Use Help › Report a problem in the app, or open an issue at fairbeam-releases (opens in a new tab). The app's forms fill in the version and the operating system. Attach the design file or the model when you can.

Pull requests

  1. Open an issue first for anything bigger than a small fix, so we can agree on the approach.
  2. Set up the repository as described in Running from source. Windows: Fairbeam on Windows.
  3. Keep each pull request to one concern, and add or extend a check for what you change. The repository has script checks in scripts/check-*.mjs and Python tests in python/tests.
  4. Before you push, run at least:
    npm run typecheck
    npm run check:legal
    npm run check:exports
    cd python && python -m unittest discover -s tests   # if you touched Python
    Then run the npm run check:* scripts that cover your files (see package.json).
  5. Keep the English and Turkish UI texts in step (src/i18n/en.json and tr.json).
  6. Say in the pull request what you changed, how you tested it, and whether you used AI assistance. The AI policy explains what we ask for.

Ground rules

  • No benchmarks against proprietary simulators. Fairbeam names CST only for file compatibility (CST-compatible VBA macros). Don't add accuracy or speed comparisons with proprietary simulators, data generated by them, or wording that presents Fairbeam as modelled on one. Validate against analytical references and open tools instead. npm run check:legal guards the usual phrasings.
  • Licence. By contributing you agree that your contribution is licensed under GPL-3.0-or-later, the project's licence.