Lint

General

bake can be easily used to lint source files: Example:
bake Debug -p MyLibraryProject --lint

How does it work

You can lint LibraryConfigs, ExecutableConfigs and single files, but not the complete workspace. The CPP Toolchain settings of the project are used regardless of the file type and file specific options. It is possible to specify lnt-files with LintPolicy, but you can add every other lint command line option as well.
A possible approach is to add global Lint policies in the DefaultToolchain like this:
DefaultToolchain GCC {
  ...
  LintPolicy "$(ProjectDir)/lint/misra.lnt"
  LintPolicy "$(ProjectDir)/lint/suppressions.lnt"
}

Notes

In rare cases lint has problems if it has to open too many (include) files. If that is the case, use --lint_min and --lint_max command line option of bake. Example:
bake Debug -p MyLibraryProject --lint --lint_max 50                (lints the first 51 files)
bake Debug -p MyLibraryProject --lint --lint_min 51 --lint_max 100 (lints the next 50 files)
bake Debug -p MyLibraryProject --lint --lint_min 101               (lints the rest of the files)

Lint in bake uses GCC includes to check system include stuff. Therefore it is required to have a working GCC installation.
But you don't have to use a config with GCC toolchain. Every other toolchain is also valid.