Contributing to the CAST Framework
[[TOC]]
This repository has the following packages:
| cast-interface-v1 | Abstract blockchain interface | | cast-eth-v1 | Ethereum smart contracts and deploy mechanic (Solidity) | | cast-tz-v1 | Tezos smart contracts and deploy mechanic (SmartPy) | | models | Definition of the data models | | chain-auth | Authentication with blockchain addresses | | oracles | GraphQL blockchain adapters (transaction publication, event reporting) | | oracle-clients | TypeScript client libraries for Oracles |
- Create a new branch sourced from the
main
branch. - Check out the development best practices before making changes.
- Make the changes, always being sure to follow the git best practices.
- Push the changes to the corresponding new branch at the remote GitHub repository.
- Open a Pull Request, following the Pull Request template.
- [NVM][https://github.com/nvm-sh/nvm] is configured to handle NodeJS veresions,
nvm use
at the project root gets the correct version - Prettier is configured to handle code formatting
- TypeScript is required, JavaScript contributions will not be accepted
- Tests are included for all packages, excluding
models
. Changes must include the corresponding tests.
- Every commit should be formatted following the conventional commits guidelines
- Every branch merged to
main
should have a reasonable number of commits, ideally 1 (use rebase) - No commit should be made directly on the
main
branch.