HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
brave
brave-core
C++2018–2026
brave / brave-core

brave-core

Core engine for the Brave browser for mobile and desktop. For issues https://github.com/brave/brave-browser/issues

38Distinct people
45Mentions
0Explicit recommenders
3.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Core engine for the Brave browser for mobile and desktop. For issues https://github.com/brave/brave-browser/issues

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 6:01:32 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year45 dated mentions

Observed mentions: 2018-09-13 00:00:52 UTC to 2026-10-12 03:28:21 UTC.

0369122018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 11 mentions; 1 submissions, 10 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC505
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC817
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC615
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC523
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC11110
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC413
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC303
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Brave Core Brave Core is a set of changes, APIs, and scripts used for customizing Chromium to make the Brave browser. Please also check https://github.com/brave/brave-browser which only holds the issues, releases and the wiki. Overview This repository holds the build tools needed to build the Brave desktop browser for all platforms. In particular, it fetches and syncs code from the projects defined in package.json and src/brave/DEPS: Chromium Fetches code via depot_tools. Sets the branch for Chromium (ex: 65.0.3325.181). brave-core Mounted at src/brave. Maintains patches for 3rd party Chromium code. adblock-rust Implements Brave's adblock engine. Linked through brave/adblock-rust-ffi. Resources Documentation and guides Issues Releases Wiki Downloads You can visit our website to get the latest stable release. Contributing Please see the contributing guidelines. Our Wiki also has some useful technical information, especially about setting the development environment. Security Policy Please see the security policy. Community Join the Q&A community if you'd like to get more involved with Brave. You can ask for help, discuss features you'd like to see, and a lot more. We'd love to have your help so that we can continue improving Brave. You can also ask questions and interact in the community-guest channel on Brave Software's Slack. Help us translate Brave to your language by submitting translations at https://explore.transifex.com/brave/brave_en/. Follow @brave on X for important news and announcements. Install prerequisites Follow the instructions for your platform: Android Linux iOS macOS Windows Clone and initialize Once you have the prerequisites installed, you can get the code and initialize the build environment. Clone the repo. brave-core must be checked out into ./src/brave within a pre-existing project folder: git clone git@github.com:brave/brave-core.git path-to-your-project-folder/src/brave cd path-to-your-project-folder/src/brave Initialize the build environment. This step will download the Chromium source, which has a large history (10's of gigabytes of data). This might take a really long time to finish depending on internet speed. # Most builds: pnpm run init # Android builds (replace `arm` with whichever CPU type you want to build for): pnpm run init --target_os=android --target_arch=arm # iOS builds: pnpm run init --target_os=ios Additional config needed to build are documented at https://github.com/brave/brave-browser/wiki/Build-configuration Internal developers can find more information at https://github.com/brave/internal/wiki/Build-configuration Build Brave The default build type is component. # start the component build compile pnpm run build To do a release build: # start the release compile pnpm run build Release brave-core based android builds should use pnpm run build --target_os=android --target_arch=arm brave-core based iOS builds should use the Xcode project found in ios/brave-ios/App. You can open this project directly or run pnpm run ios_bootstrap --open_xcodeproj to have it opened in Xcode. See the iOS Developer Environment for more information on iOS builds. Build Configurations Running a release build with pnpm run build Release can be very slow and use a lot of RAM, especially on Linux with the Gold LLVM plugin. To run a statically linked build (takes longer to build, but starts faster): pnpm run build Static To run a debug build (Component build with is_debug=true): pnpm run build Debug NOTE: the build will take a while to complete. Depending on your processor and memory, it could potentially take a few hours. Run Brave To start the build: pnpm start [Release|Component|Static|Debug] Update Brave pnpm run sync [--force] [--init] [--create] [brave_core_ref] This will attempt to stash your local changes in brave-core, but it's safer to commit local changes before running this pnpm run sync will (depending on the below flags): 📥 Update sub-projects (chromium, brave-core) to latest commit of a git ref (e.g. tag or branch) 🤕 Apply patches 🔄 Update gclient DEPS dependencies ⏩ Run hooks flag Description [no flags] updates chromium if needed and re-applies patches. If the chromium version did not change, it will only re-apply patches that have changed. Will update child dependencies only if any project needed updating during this script run. **Use this if you want the script to manage keeping you up to date instead of pulling or switching branches manually. ** --force updates both Chromium and brave-core to the latest remote commit for the current brave-core branch and the Chromium ref specified in brave-core/package.json (e.g. master or 74.0.0.103). Will re-apply all patches. Will force update all child dependencies. **Use this if you're having trouble and want to force the branches back to a known state. ** --init force update both Chromium and brave-core to the versions specified in brave-core/package.json and force updates all dependent repos - same as pnpm run init --sync_chromium (true/false) Will force or skip the chromium version update when applicable. Useful if you want to avoid a minor update when not ready for the larger build time a chromium update may result in. A warning will be output about the current code state expecting a different chromium version. Your build may fail as a result. -D, --delete_unused_deps Will delete from the working copy any dependencies that have been removed since the last sync. Mimics gclient sync -D. Run pnpm run sync brave_core_ref to checkout the specified brave-core ref and update all dependent repos including chromium if needed. Scenarios Create a new branch: > cd src/brave src/brave> git checkout -b branch_name Checkout an existing branch or tag: src/brave> git fetch origin src/brave> git checkout [-b] branch_name src/brave> pnpm run sync ...Updating 2 patches... ...Updating child dependencies... ...Running hooks... Update the current branch to the latest remote: src/brave> git
Read the full README on GitHub

What Hacker News says

5 sources
> I also never got why we need DSLs for build systems The same reason they show up anywhere: to have the correct level of abstraction, or its cousin "signal/noise ratio." Trying to debug "gcc -o build build.cc && ./build" sounds like the 8th circle of hell to me. I can show a concrete example: https://github.com/facebook/sapling/blob/0.1.20221201-095354... So, when this raises OSError or FileNotFoundError due to some botched assumption, I guess one just attaches pdb to it and now your job is to be a python expert Or, my other favorite "what is wrong with you:" https://hg.mozilla.org/mozilla-central/file/FIREFOX_NIGHTLY_... Or, so as to not just be hating on python, this junk: https://github.com/brave/brave-browser/blob/v1.48.33/package... and its https://github.com/brave/brave-core/blob/master/build/comman... friend All of those are in a
Read the rest
general purpose programming language, and they require spelunking through thousands of lines of code to surface the actual commands and dependencies that are buried therein. And, if you become a domain expert in mach, where else are you going to apply that expertise?
In A new CMake Scripting Language?
gnicholas·Oct 8, 2022Submission

Tell HN: Vertical Tabs in Brave

There's now a feature flag in the Nightly and Dev releases of Brave that enables vertical tabs.[1] This can be toggled in brave://flags on version 1.45 or later. This requires restarting the browser. It doesn't currently support nesting (hopefully coming soon?), but you can do tab groups. I haven't tested long enough to be able to know how stable this is, but I use the Dev build and in general it is fine. I'm not affiliated with Brave or the dev who built the feature. I'm just a happy Brave user who has been searching for get tabbed browsing for a very long time! 1: https://github.com/brave/brave-core/pull/13816#issuecomment-1262205165
5 points · Open discussion
> The gclient utility (part of depot tools) will fetch the official Chromium source code. The tag that is fetched is captured in our package.json (for example, 70.0.3538.35). All of the source code will be downloaded into the ./src/ folder The captured in our package.json text links to https://github.com/brave/brave-browser/blob/master/package.j... But I think it's supposed to link to https://github.com/brave/brave-core/blob/master/package.json
In Deviations from Chromium (features we disable or remove)

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.