Thank you for investing your time in contributing to our project!
Before moving forward please read our code of conduct, and our style guide.
We accept contributions in different sizes and varied difficulty, from documentation and typos, to features and bug fixes. To see what you could help with, report an issue, or suggest a feature see issues and discussions.
- Join our Discord or Slack
- Head to our documentation
- Contact us at [email protected]
node: ">=16.15.1"
pnpm: ">=7.11.0"
- Clone Ballerine's repository
git clone [email protected]:ballerine-io/ballerine.git
- Navigate to the directory and install dependencies
cd ballerine && pnpm install
- Start the dev server
pnpm dev
- Open the page in your browser
├── apps # end user facing, interacts with packages and services
├── community # ui packs, ui components, and vendor integrations made by the community
├── packages # shared logic between apps, community, sdks, and services
├── sdks # dev kits for developers to create experiences and applications, interacts with apps
(can load an app into a certain platform such as web or native)
└── services # backend microservices, services communicate through a communication layer
(i.e REST/HTTP requests), and may communicate with a database
This project makes use of branchlint to ensure that all branch names follow a consistent format with a CLI to help with the process of creating a new branch, setting upstream, and checking out to the new branch.
This project makes use of tools like commitizen and commitlint to ensure that all commits follow a consistent commit message format with a CLI to help with the process of pushing a commit.
- Create a new branch, set upstream, and checkout to the new branch
Make sure to run this NPM script in the root of the monorepo and follow the CLI prompts.
pnpm branchlint
-
Make your changes
-
Push a formatted commit
Make sure to run this NPM script in the root of the monorepo and follow the CLI prompts.
pnpm commit
- Push the commit
git push
- GitHub Actions
Now that the changes are pushed to the remote branch, GitHub Actions will run workflows for building, testing, linting, and formatting. Before creating a pull request, make sure that all workflows have passed.
- Create a pull request
When creating a pull request, make sure to follow the pull request template.
- Head to the repository.
- Click on the "Fork" button on the top right corner of the GitHub page.
- Create the fork.
- Follow the instructions from prerequisites up to creating a pull request.
- On the compare page, click compare across forks.
- In the "base branch" drop-down menu, select the branch of the upstream repository you'd like to merge changes into.
- In the "head fork" drop-down menu, select your fork, then in the "compare branch" drop-down menu to select the branch you made your changes in.
- Create the pull request.