CLI Standards
Purpose
The command-line interfaces in drcutils are expected to remain stable,
self-documenting, and script-friendly. This page defines the minimum contract
for every CLI entrypoint.
Parser Contract
Each CLI module must expose a
_build_parser()helper.Parsers must set a concrete
progvalue that matches the installed command.Every parser and subparser must provide a
description.Every user-facing argument must include a non-empty
helpstring.CLI errors should produce a concise stderr message and a non-zero exit code.
Output Contract
Commands whose primary output is stdout should print structured dictionary results as JSON.
File-writing commands must create parent directories when needed.
Successful commands return
0.Input/validation/runtime failures return
2.
Command Catalog
drc-doe: DOE table generation for full, LHS, and fractional two-level designs.drc-doe-analyze: main-effect summaries and optional screening model outputs.
Contributor Workflow
Run the quality gates before opening a PR:
make qa
make docs-build
tests/test_cli_standards.py enforces parser/help/documentation requirements to
prevent command drift.