Skip to content

Contributing

YAPTIDE is spread across multiple repositories. This guide covers the shared workflow for contributing to any of them.

RepositoryDescription
yaptideBackend — Flask API, Celery workers, database
uiFrontend — React editor, Three.js viewport
converterPython converter — JSON to simulator input
Terminal window
git clone https://github.com/yaptide/<repo>.git
cd <repo>
git checkout -b feature/my-change
  • Write code following the code style guide.
  • Add or update tests.
  • Update documentation if behaviour changes.
Terminal window
git push origin feature/my-change

Open a pull request on GitHub against the default branch (master for yaptide, ui and converter repos, main for docs and for_developers repos). Include:

  • What the change does (one sentence)
  • Why it’s needed
  • How to test it
  • Link to any related issues
  • At least one approval is required before merge.
  • CI must pass: tests, linting, type checks.

Issues are tracked in the respective GitHub repositories. When opening an issue:

  • Use a descriptive title.
  • Include steps to reproduce (for bugs).
  • Include the expected vs actual behaviour.
  • Tag with appropriate labels (bug, enhancement, docs).

Each repository has GitHub Actions workflows that run on pull requests:

CheckBackendFrontendConverter
Unit testspytestjestpytest
Lintingpre-commiteslintpre-commit
BuildDocker imagenpm run build