NAPE is a command-line tool for collecting evidence, applying tests of detail, and generating assurance reports.
It is built for assurance workflows where a team needs to prove what a system says it should be doing against evidence of what it is actually doing. NAPE does this by retrieving an assurance procedure, copying evidence into a local run workspace, evaluating evidence with procedure-defined tests, and writing an assurance report.
The current CLI workflow has three steps:
nape collect start
nape collect evidence
nape collect reportnape collect start creates a local run workspace from an assurance procedure repository.
nape collect evidence copies evidence files into that workspace under an activity name.
nape collect report invokes nape-eval, evaluates the collected evidence, signs the evaluated files, and writes assurance_report.yaml.
Subject: the system, repository, procedure, or resource being evaluated.Assurance Procedure: a YAML file that defines activities, actions, test files, and expected evidence paths.Activity: a named group of related actions. Evidence is collected under an activity directory.Action: one testable expectation inside an activity.Evidence: a file copied into the NAPE run workspace.Test of Detail: a Python evaluator file invoked throughnape-eval.Assurance Report: the generated YAML result with outcomes, reasons, summary counts, and SHA256 signatures.
apps/nape-cli/ CLI parsing, command handlers, adapters, serializers, evaluator integration
domain/ Evidence collection use cases and use case boundaries
docs/ Product, user, reference, and maintainer documentation
Start by audience:
- New CLI users: Quickstart, then CLI workflow
- Users running the demo: Rover Medical example
- Users installing locally: Installation
- Users authoring procedures: Procedure authoring
- Users checking commands: CLI reference
- Maintainers: Architecture, then Local development
- Format readers: V1 contract matrix, V1 source traceability, Assurance procedure format, Assurance report format, Evaluation to report traceability, and Runtime state and output layout
- Output examples: Example outputs
Documentation index:
Product:
Reference:
- V1 contract matrix
- V1 source traceability
- Assurance procedure format
- Assurance report format
- Evaluation to report traceability
- Runtime state and output layout
Maintainers:
--metais described as optional by CLI help, but the currentcollect startimplementation expects at least one metadata pair.--procedure-linkacceptsfile,git, andhttps; it does not acceptssh://.- The CLI currently writes local reports and does not upload results to a repository, despite older help text mentioning upload behavior.
- NAPE tracks one active run in
$HOME/nape/.nape_cli_config. - Successful commands usually print no terminal output; inspect generated files to confirm success.
cargo buildBuild the CLI release binary:
cargo build --release -p nape_clicargo testPackage-specific targets:
make test-nape-cli
make test-domain