This PR introduces the YAML frontend for plaster that is meant to eventually become the only frontend, once all `.toml` Plaster files are migrated. This change covers all places where the assumption about `.toml` files was being used, inclusing `brockit`, and `git-cr` tools. Most of the code that should be deleted in the future is well guarded with comments leading back to the issue tracking, so the TOML parser can be dropped eventually. With this change, a dependency to `pyyaml` has been introduced. This dependency has wheels provided by `vpython`, which is already the expected python runtime for Plaster. - Rationale for this change We have experimented at length with `.toml` files, in order to understand some of the shortcomings they have that would be addressed with `.yaml` files. * `prettier` offers YAML formatting out-of-the-box. On the other hand, formatters for TOML files are not easy to find, as both `prettier` and `vpython` have their own challanges with the current options * YAML's sytanx works better with codeblocks, as it doesn't require quoting. This makes the content seen less noisy. Looking on some of the migrated plasters, the YAML substitutions look more readable. * YAML has better sytanx highlight support in some editors. Bug: https://github.com/brave/brave-browser/issues/55738
Brave docs
This directory contains documentation for the Brave Browser. For additional resources outside this repository, go to:
Document Index
Checking Out and Patching
- Upgrading Chromium Upgrading
brave-coreto a newer Chromium version. - Patching with
plasterA patching engine for semantical patching of upstream Chromium. - WebUI Overriding
- DevTools Frontend Patching Managing changes to the upstream project.
Tools
- Claude Code Skills - Slash commands for automating common development tasks (commit, review, preflight, CI, and more).
Security and Privacy
- Premium Account Privacy - How blind tokens decouple payment identity from service usage.
- Cryptographic Features - Cryptographic features in Brave beyond standard Chromium encryption.
General Development
- Running test suites - Selectively execute unit, browser and typescript tests.
gninotes - Brief notes on the use ofsource.gnifiles in our code base.- Rust notes - General recommendations on integrating rust code
into
brave-core - Adapting Chromium tests to the Brave Codebase - Suggestions on how to make chromium test work on our test targets.
- Ship a File to All Clients - How to ship a file to all clients via component updater.
- Git Configuration - General recommendations for setting up and optimizing your Git environment.
- Ignoring Files from Format and Presubmit Checks - How to exclude files from format and presubmit checks.
- Siso Customization - How we customize Siso to work for us.
- WebUI Frontend - General Web UI, React, webpack overview.
- WebUI Testing - Guide to creating and running *.test.ts(x) suites.
- WebUI Strings Overview - Including strings in a Web UI frontend.
Creating Documentation
Important
If you add new documents, please also add a link to them in the Document Index below.
Guidelines
- Markdown documents must follow the Markdown Style Guide.
Use npm run format to auto format documents.
Previewing changes
Locally using md_browser
# in src/brave/
npm run docs
This is only an estimate. The github view may differ.