Welcome to the Developer Guide! This document is designed to help developers understand the architecture, tools, and best practices for contributing to our project.
Starry now uses a multi-repo architecture to separate different components of the project. This allows for better modularity, easier maintenance, and independent versioning of each component.
But it also brings some challenges, such as managing dependencies and ensuring compatibility between different repositories. To address these challenges, we have established some guidelines and tools to help developers navigate
We have already added the submodule that we need to notice in the main repo. To clone the main repo with all its submodules, use the following command:
git submodule update --init --recursiveyou will find the submodule in the local_crates folder.
When you need to change the code in the submodule, you can follow these steps:
-
Navigate to the submodule directory:
cd local_crates/<submodule_name>
-
Create a new branch for your changes:
git checkout -b <your_branch_name>
-
Make your changes and commit them:
git add . git commit -m "Your commit message"
-
Push your changes to the remote repository:
git push origin <your_branch_name>
-
Change
Cargo.tomlin the main repo to point to the git repository:[patch.crates-io] <submodule_name> = { git = "<repository_url>", branch = "<your_branch_name>" }
-
Test
cargo update && make run
After test,you can on submodule repo to create PR