I am looking to contribute to Brave and came across a “good first bug issue” dealing with the Brave Shield that I was thinking of tackling. That said, I am a bit confused as to the difference between the brave-browser GitHub repo and the brave-core repo. I understand that I must build the project using the “brave-browser” repo, but how do I deal with touching content (e.g. the Brave Shield) that is in the brave-core repo? Also, to which repository do I ultimately submit a pull request?
Thanks for showing an interest!
As per the
README files from each repo:
Make sure you read and follow the instructions in the wiki when building Brave or submitting a PR.
Thanks a ton :).
@Matchess So after I make a change to tackle an issue # in brave-browser, should I PR it to brave-browser or to brave-core?
Also, is it necessary to fork the repo or can I make branches on the main brave-browser repo?
Hi @jc713 - dev here
brave-browser is where the issues are (we have issues disabled for
brave-core) and it’s also where to start. Once you do the initialization process here, it creates an instance of
brave-core inside the folder you cloned to at
As for where to PR the changes:
- usually changes will be to
brave-core. You’ll know because the files are changed inside
src/brave. You’ll have to fork
brave-coreand then add your remote so that you can push to it.
- it’s possible to have changes to
brave-browser. If you look at the repo, it’s pretty bare. Usually, changes here involve changing the Chromium version or updating the scripts used to fetch the Chromium source and initialize
brave-core. There are npm tasks though, so if you do update those, the change would be
Hope this makes sense - let me know if you have a specific question in mind. As for developing a feature or fixing a bug, most of the time, a change is only needed in
brave-core. However, there are times where the change can involve BOTH
brave-core. In those cases, we try to make the branch name the same, so it’s easy to find
Hi @clifton thanks for the great follow up.
I tried cloning
brave-browser the other day and ran the build instructions as listed in the documentation but the build process took over 12 hours and ultimately failed out with a fatal error due to not enough disk space (the repo grew to >100GB). I suspect this has to do with Chromium.
Is there anyway to help contribute without having to build the entire
brave-browser code? Or is that the only way to help out?