Skip to main content

firebase-cpp-formatter

Formatting workflow for C++ and Objective-C code in the Firebase C++ SDK. Use when modifying source code and ensuring compliance with the repository's clang-format rules.

Source facts

Repository
firebase/firebase-cpp-sdk
Last source activity
April 1, 2026 at 11:52
Detected SKILL.md language
English
Stars
325
Forks
138

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
firebase-cpp-formatter
description
Formatting workflow for C++ and Objective-C code in the Firebase C++ SDK. Use when modifying source code and ensuring compliance with the repository's clang-format rules.
# Code Formatting for Firebase C++ SDK This skill provides instructions on how to properly format C++ and Objective-C code before creating a pull request or committing changes in the `firebase-cpp-sdk` repository. The primary tool is `scripts/format_code.py`. ## Prerequisites Before running the formatting script, ensure that your Python environment is set up with all required dependencies: - **Python Dependencies**: Run `pip install -r scripts/gha/python_requirements.txt` to install the required libraries (such as `attrs`, `absl-py`, etc.). ## Workflows ### 1. Formatting Specific Changed Files (Git Diff) If you have made code changes locally in a git branch, the easiest way to ensure all your changes are formatted properly is to use the `-git_diff` argument. This automatically detects which files have changed compared to `main` and formats them. ```bash python3 scripts/format_code.py -git_diff ``` _Tip:_ You can also append `-verbose` for extensive logging about formatting changes. ### 2. Formatting a Specific Directory If you are working on a feature within a particular Firebase SDK (e.g., `database`), you can recursively format that entire directory: ```bash python3 scripts/format_code.py -d database -r ``` To target multiple directories (e.g., both `database` and `app`): ```bash python3 scripts/format_code.py -d database -d app -r ``` ### 3. Formatting Specific Files If you are pressed for time and only want to format specific files rather than analyzing whole directories, use the `-f` flag: ```bash python3 scripts/format_code.py -f path/to/file1.cc -f path/to/file2.h ``` ### 4. Dry Run (Check without Formatting) If you only want to detect the number of files that _need_ formatting without actually modifying them, append the `--noformat_file` flag: ```bash python3 scripts/format_code.py -git_diff --noformat_file ```
View on GitHub