AYON Github Contribution Guide

Intro

AYON is an open-source project where you have the freedom to read and contribute to the codebase.

Due to its modular nature, AYON’s code is divided among different repositories, each serving a distinct purpose. For example:

  • ayon-maya is the Maya integration for AYON, with a code base familiar to Maya TDs and developers.

  • Conversely, ayon-Nuke is the Nuke integration for AYON, with a code base familiar to Nuke TDs and developers.

Github Contribution Workflow

Our workflow begins with creating an issue. The first step in solving any problem is to define it, which is what an issue is for.

An issue is a place to explain the problem, share reproducible steps, and hold discussions.

If you have a working solution, a pull request (PR) is more than welcome.

1. Pick a Repo

When investigating an issue, it’s better to determine where the issue belongs.

If you’re unsure where the issue belongs, feel free to reach out to the Ynput team on forums or our community channels on our Discord server.

2. Create an Issue

First, check if the issue already exists in the selected repo. If not, write a new issue.

3. Make a PR

To make a PR in AYON:

  1. Fork the selected repo.

  2. Clone your fork to your computer.

  3. Create a new branch (choose a descriptive name), or go to the issue page, click create a branch, and copy it.

  4. Push the branch to your fork.

  5. Go to the pull request tab and create a new pull request. You may click compare across forks.

  6. Set the base (destination) to ynput/the-selected-repo / develop and set the head (source) to your-name/the-selected-repo / your-branch.

  7. Click create.

  8. Link your PR to the relevant issue.

  9. Add relevant labels and reviewers.

Note: Most of the time, you’ll set the base to the develop branch. If you’re unsure, please reach out.

Note: Currently Core repo is expecting branches to be prefixed by

  • feature/ : when adding new features
  • enhancement/ : when adding enhancements to an existent feature
  • bugfix/ : when fixing a bug
  • tests/ : when making tests
  • chore/ : when doing something chore like moving a function from a library to another.