Hey there π Welcome to Ajuna Network, the ecosystem for gamers and creators. This site is the entry point for all creators building or integrating on top of Ajuna Network!
Here is a list of conventions and styles we follow to help us reduce cognitive load on trivial stuff.
We follow the popular trunk-based development style where we regard master branch as the single source of truth and encourage everyone to checkout from.
We will manage releases by creating tags from master branch such that there is no burden of maintaining separate release branches.
We will also merge pull requests by either squashing, for changes relating to one particular scope, or rebasing, for changes across multiple scopes in order to avoid creating merge commits.
Amending commits or rebasing interactively from your working branch is encouraged, and therefore force pushing is also encouraged from your branch.
Since we will be working on tasks captured in Jira, we can use Jira ticket numbers in naming our branches.
Also important to consider are as follows:
Our suggestion is the following naming convention.
<initials>/<JIRA-TICKET-NUMBER>-<short-description>
An example branch name for a developer named, Marty McFly, working on Jira ticket, ABC-12, would be mm/ABC-12-recharge-the-flux-capacitor.
We follow the Conventional Commits style of writing commit messages. We rely on the consistency of following this style to trigger automated builds and releases as well as changelog generation.
Make sure your commits are signed with a GPG key. See this guide on adding a new GPG key to your GitHub account.
Each repo should have PR template. Read and follow the comments inside.
Reviewers will be automatically added to your PR. If not, add any of the GitHub suggested reviewers.
Check whether CI passes on your PR.
Each repo should have issue template.
Unless the intention is to link issues externally in the GitHub ecosystem, we generally (exclusively) use Jira.
If youβre in a situation where a technical debt has to be created on the fly, it must be captured as both:
Tech Debt, andTODO comment with reference to the ticket number of the task createdFollow the below naming convention.
// TODO: DEBT-123 this function must be deleted after release
fn create_tech_debt() { unimplemented!() }