adacovex CLI Reference¶
This page is the quick reference: usage, the full flag table, and a short note per flag. Feature-specific detail is in dedicated pages (linked from each section):
the web dashboard, the
sbomsubcommand, VCS support, the platforms/statusand installation pagesArchitecture for design detail such as result caching and the patch system
Usage¶
adacovex [options]
adacovex sbom [--format=cyclonedx-json|spdx-json|md] [--out=PATH]
[--standard=NAME|--dal=LEVEL|--asil=LEVEL|--class=LEVEL]
adacovex prove [-t=PATH] [prove options]
adacovex status [-t=PATH]
adacovex man [--check|--force] [--dir=PATH]
adacovex completion [bash|fish|zsh|pwsh]
Every flag has the explicit long spelling and, where it reads better, a
shorthand. The shorthands are -t (--target), -m (--manifest), -s
(--serve), -p (--port), -c (--cache), -b (--compare-base),
-d (--coverage-delta), -l (--level), -r (--require-proof), and
-j (--jobs). The bare words serve, cache, and relaxed also select
their flag. Use the long forms in scripts and non-trivial cases; the
shorthands are for interactive use.
-l is only the GNATprove proof level. It is never a compliance tier.
Compliance selection stays on --standard and its level companions
--dal, --asil, and --class.
Flags¶
Flag |
Default |
Mode |
Description |
|---|---|---|---|
|
|
both |
Target project root directory |
|
auto-detected |
both |
Override project manifest path |
|
|
both |
DO-178C DAL level (A-E, also the shared rigour tier) |
|
- |
both |
ISO 26262 level: |
|
- |
both |
IEC 62304 safety class: |
|
|
both |
|
|
off |
both |
Start HTTP dashboard server (standard-aware, light/dark/system themes) |
|
CPU-scaled (2-8) |
serve |
HTTP server task-pool worker count |
|
|
serve |
Dashboard theme: |
|
|
serve |
Dashboard server port |
|
OS timezone |
both |
Display timezone (IANA name or UTC/GMT offset) |
|
empty |
complexity |
Skip comma-separated file extensions |
|
empty |
complexity |
Skip any file whose path contains PATH (repeatable) |
|
|
spark-coverage |
Row grouping: |
|
|
spark-coverage |
Summary metric: |
|
|
spark-coverage |
Report shape: |
|
|
spark-coverage |
Hide rows whose verified percentage is below PCT |
|
off |
spark-coverage |
CI gate: exit 1 when the gate metric falls below PCT |
|
|
spark-coverage |
Metric the |
|
|
both |
Output directory for SVG badges |
|
off |
both |
Suppress SVG badge output (wins over the emit form) |
|
|
both |
Output directory for Markdown reports |
|
off |
both |
Suppress Markdown report output (wins over the emit form) |
|
off |
both |
Write a JSON export of metrics + dependency graph to PATH |
|
- |
- |
Print shell completion script (bash/fish/zsh/pwsh, auto-detected) and exit |
|
|
relaxed |
Directory name to skip (repeatable) |
|
off |
both |
Disable / re-enable strict mode (skip dirs, no patches) |
|
off |
both |
Differential mode vs a base rev (git/hg/svn/fossil/jj) |
|
off |
both |
Docstring-coverage gate vs a base rev (git/hg/svn/fossil/jj) |
|
on |
both |
Enable on-disk result caching |
|
off |
both |
Disable result caching (always re-scan/re-parse/re-prove) |
|
|
both |
Cache directory for analysis results |
|
|
both |
Max cache entries before oldest-first eviction |
|
off |
both |
Skip the automatic SBOM written at the end of every assessment |
|
|
both |
Format of the automatic SBOM: |
|
off |
both |
Fail loudly (exit 1) if SPARK level < LVL (Stone..Platinum) |
|
off |
both |
Fail loudly if docstring coverage < PCT% (0-100) |
|
off |
both |
Fail loudly if passing test count < N |
|
off |
both |
Fail loudly if proved-VC coverage < PCT% (0-100) |
|
off |
both |
Verbose diagnostics |
|
- |
- |
Print the bundled version and exit |
|
- |
- |
Install the man page into the local man database |
|
- |
- |
Exit 0 if the installed man page matches the binary version, 1 otherwise |
|
- |
- |
Reinstall the man page even when it already matches (repair) |
|
platform man root |
- |
Install the man page under |
|
- |
- |
Install the bundled tldr page into the local tldr client (tealdeer or a base client) |
|
- |
- |
Exit 0 if the installed tldr page matches the bundled page, 1 when it is missing or stale |
|
- |
- |
Rewrite the installed tldr page even when it already matches |
|
- |
both |
Print usage and exit |
prove-mode flags are accepted by the main command and validated only in
prove mode: --jobs/-j, --level/-l, --timeout, --steps,
--memlimit, --force, --no-loop-unrolling, --no-inlining, --args,
--suppress-warnings, --quiet. See
The prove subcommand.
Every flag is detailed with its default, constraints, and examples on two companion pages:
Assessment flags and subcommands –
--target, the per-standard level flags,status,complexity, theprovesubcommand, and the per-file opt-out markers.Output, serving, and CI options – SBOM control,
--serve/--theme/--port,--emit-*, differential assessment, the--require-*gates, caching, and help.
Strict vs relaxed mode¶
Aspect |
Strict (default) |
Relaxed ( |
|---|---|---|
Directory exclusions |
|
Same + |
Vendored code |
Scanned and counted |
Skipped |
Patch files |
Applied from |
Not applied |
Use case |
Full compliance audit |
Quick assessment of production code |
Patch files can carry SPARK contracts as well as docstrings: a
SPARK_Mode / Pre / Post / Global aspect makes the patch a proof
patch for vendored code in prove mode – a spec patch (.ads) declares
the contracts, and a body patch (.adb) opts the vendored body into the
proof. Why they exist, how to write them, and pitfalls are in
Proving and writing proofs – proof patches.
Exit codes¶
Code |
Meaning |
|---|---|
|
Success (DAL achieved, all checks pass, |
|
Compliance failure (DAL unmet, tests failing, a |
Terminal colour¶
adacovex colours its terminal output (failures red, passes green, headings bold) so the important lines stand out. Colour is on by default and drops out automatically when the output would not take it:
NO_COLORis set (the cross-tool opt-out convention);a CI variable is set (GitHub Actions, GitLab CI, and more), so CI logs stay plain and machine-readable;
TERMisdumb(or empty).
The sbom subcommand¶
adacovex sbom resolves the target project’s dependency graph from its Alire
manifest, alire/alire.lock, and the root .gpr with clauses, then writes
a proof-aware software bill of materials in CycloneDX 1.5 JSON or SPDX 2.3
JSON. It is standard-aware (all standards by default), honours
SOURCE_DATE_EPOCH for deterministic output, and is mutually exclusive with
--compare-base / --coverage-delta. Full detail (usage, properties,
determinism, exit codes) is in
The sbom subcommand.
Examples¶
# Self-assessment (strict mode, 100% docs required)
adacovex --target=.
# ISO 26262 assessment at ASIL B (dedicated flag)
adacovex --target=. --asil=B
# IEC 62304 assessment at safety Class A (dedicated flag)
adacovex --target=. --class=A
# ISO 26262 assessment at rigour tier C (ASIL B) via --standard
adacovex --target=. --standard=iso26262 --dal=C
# Emit badges for every standard at the shared tier
adacovex --target=. --standard=all
# Report toolchain + platform status
adacovex status --target=.
# Assess a CRDT library at DAL-C in relaxed mode
adacovex --target=../Ada_CRDT --dal=C --relaxed
# Without SVG output
adacovex --target=../Ada_CRDT --no-svg
# Custom skip dirs
adacovex --target=../Ada_CRDT --relaxed --skip-dir=vendor
# With Markdown reports
adacovex --target=. --emit-markdown=docs/compliance
# Web dashboard on custom port (shorthand: -t, -s, -p)
adacovex -t=. -s -p 9090
# Combined standard + tier token
adacovex --standard=asil-b
# Bare --emit-md writes to the default <target>/docs directory
adacovex --target=. --emit-md
# Differential assessment vs a git base revision
adacovex --target=. --compare-base=HEAD
# Proof-aware SBOM (CycloneDX 1.5 JSON; all standards by default)
adacovex sbom --format=cyclonedx-json --target=. --dal=C
# SBOM for a single standard (ISO 26262 at ASIL B)
adacovex sbom --format=cyclonedx-json --target=. --asil=B
# SPDX 2.3 SBOM at IEC 62304 Class A
adacovex sbom --format=spdx-json --target=. --class=A --out=sbom.spdx.json
# Proof-aware SBOM (SPDX 2.3 JSON) at a custom path
adacovex sbom --format=spdx-json --out=docs/compliance/sbom.spdx.json