Open the analyzer manager
Run any of these commands:- Enable or disable an analyzer
- Install a managed analyzer
- See the system-install instructions for a PATH-based analyzer
- Configure semantic settings without editing raw command flags
- Save settings for this project or every project
- Reset project overrides to inherited values
- Review binary status, version, detected configuration files, setup checks, and active capabilities
- Inspect live error, warning, information, and file counts
Configuration scopes
Global settings are stored in:lsp_config. Install, set, and reset operations require confirmation and cannot mutate configuration from Plan mode.
Supported language servers
Embedder’s LSP catalog contains six servers:- clangd: managed LLVM C and C++ language server with clang-tidy diagnostics
- rust-analyzer: managed Rust language server for Cargo projects
- ccls: C and C++ language server installed from your system PATH
- neocmakelsp: managed CMake language server
- devicetree-language-server: managed Devicetree server with Zephyr binding support
- kconfig-lsp: Kconfig language server installed from your system PATH
- Go to definition and implementation
- Find references
- Hover documentation and type information
- Document and workspace symbols
- Prepare call hierarchy
- Incoming and outgoing calls
Supported CLI analyzers
The catalog also contains six CLI analyzers:- cppcheck: C and C++ warnings, style, performance, portability, and supported compliance profiles; system install
- clang-tidy: opt-in Clang C and C++ checks; system LLVM install
- Perforce QAC: licensed C, C++, and Rust analysis with standards and Validate workflows; system install
- Parasoft C/C++test: licensed C and C++ analysis with MISRA, CERT, SARIF, and DTP workflows; system install
- shellcheck: managed shell-script analyzer
- Coverity: licensed C, C++, Rust, Java, C#, and Go analysis with local and Coverity Connect workflows; system install
File diagnostics after edits
After Embedder writes a supported file, it can attach diagnostics directly to the tool result:- Enabled LSP servers publish diagnostics for their matching files.
- C and C++ files can run enabled
cppcheckandclang-tidychecks. - Shell files can run enabled
shellcheckchecks.
PASS: the selected automated gate ran without a matching compliance finding.FAIL: the gate found one or more matching findings.INCOMPLETE: configuration or parse errors prevented a valid result.NOT RUN: the required analyzer is disabled, missing, or not configured.
An automated analyzer result is evidence, not certification. MISRA and CERT
profiles report their implemented or mapped coverage and any gaps.
Run project diagnostics
Ask Embedder to assess the project before a large scan:project_diagnostics supports:
assess: discover candidate files, project scale, compile databases, analyzer concurrency, and estimated batches without running analyzersscan: assess first, then run enabled LSP and supported CLI analyzers
default: general LSP, cppcheck, and clang-tidy diagnostics; defaults to 250 filesmisra: cppcheck MISRA analysis across the non-vendored C and C++ implementation scope, up to 100,000 filescert: clang-tidycert-*checks across the non-vendored C and C++ implementation scope, up to 100,000 files
compile_commands.json. Without one, it walks the selected scope, excludes common build and vendored directories, prioritizes first-party implementation paths, and reports the resulting configuration gap.
A project result distinguishes:
- Analyzer findings
- Configuration findings
- Supporting findings
- Files attempted, completed, failed, or timed out
- Compile database and source-selection evidence
- Truncation and coverage gaps
COMPLETEorINCOMPLETEassessment status
Analyzer setup cues
The manager checks common prerequisites:- clangd, ccls, cppcheck, and clang-tidy look for a compile database.
- rust-analyzer requires
Cargo.toml. - CMake, Devicetree, Kconfig, and shellcheck detect their project-specific configuration files.
- QAC checks the controlled project, synchronization input, license source, first-party scope, and required modules.
- Parasoft checks input scope, compiler, properties, workspace, supported version, licensing, and optional DTP destination.
- Coverity checks workflow configuration, build capture, license source, and optional Connect credentials.
lsp.json.
End-to-end MISRA and CERT workflows
The open-source project profiles use CLI analyzers:- MISRA uses the cppcheck MISRA addon.
- CERT uses clang-tidy
cert-*checks.
clangd is a language server, not the analyzer that runs either whole-project profile. You can enable managed clangd for live C and C++ diagnostics, but it is optional for the workflows below.
Run analyzer setup in Act mode. Enabling an entry or changing project settings requires confirmation.
MISRA with cppcheck
1
Install and verify cppcheck
On macOS:On Debian or Ubuntu:Embedder validates the installed MISRA addon before it starts a MISRA scan. A cppcheck binary without a working addon cannot produce the automated report.
2
Prepare one build configuration
Use a current For another build system, use its compilation-database export and complete a clean configuration or build. Do not reuse a database from a different target, toolchain, or feature set.
compile_commands.json for the target and build variant you want to assess. For a CMake project:3
Enable cppcheck for the project
Run:Open Browse, select cppcheck, and enable it for this project. Set Compile database to the generated file, such as
build/compile_commands.json. Keep unrelated analyzers disabled unless you want a separate result.You may also enable managed clangd if you want live diagnostics while editing. It does not replace the cppcheck MISRA scan.4
Ask the agent to assess and scan
5
Check completion
Treat the result as complete only when the assessment is
COMPLETE, every attempted file succeeds, no file times out, and the compile database or other analyzer inputs match the intended build. Findings from a partial run remain evidence, but the run is still incomplete.CERT with clang-tidy
1
Install and verify clang-tidy
On macOS:On Debian or Ubuntu:Persist the LLVM path in the environment that launches Embedder when Homebrew’s LLVM binaries are not already on
PATH.2
Prepare one build configuration
Generate or locate clang-tidy needs the real compiler, include paths, definitions, and language mode from that database. A host-only or stale database can make configuration evidence incomplete.
compile_commands.json for the exact target and build variant. For CMake:3
Enable clang-tidy for the project
Run
/static-analyzer, open Browse, and select clang-tidy. Enable it for this project and set Compile database directory to the directory containing compile_commands.json, such as build.The CERT project profile selects cert-* checks for the scan. Supporting bugprone-*, clang-analyzer-*, or cppcheck passes remain separate evidence and run only when requested.4
Ask the agent to assess and scan
5
Check completion
Require a
COMPLETE assessment, no failed or timed-out files, and configuration evidence for the intended build. Do not map Clang diagnostic severity to CERT L1, L2, or L3 priority unless the project supplies reviewed priority metadata.
