Skip to content

Development Setup


Bazel configuration

Check out the bazelrc files in the .build folder to help configure Spoor for your environment.


bazel build //...


bazel test //...

Style and lint

Format C++, Objective-C, and Python

bazel build //... --aspects toolchain/style/style.bzl%format --output_groups=report

Format Starlark

bazel run //toolchain/style:buildifier

Lint C++ and Python

bazel build //... --aspects toolchain/style/style.bzl%lint --output_groups=report

CI toolchain

CI uses the LLVM toolchain when running the linter.


Compilation database

Generate a compile_commands.json compilation database used by Clang Tidy for linting and by some IDEs to offer code completion. Details.




mkdocs build

Live preview server

mkdocs serve
INFO     -  Building documentation...
INFO     -  Cleaning site directory
INFO     -  Documentation built in 0.80 seconds
INFO     -  [00:00:00] Serving on