Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Usage Overview

cargo ninety-nine provides seven subcommands:

CommandPurpose
testRun tests repeatedly and compute flakiness scores
initCreate a default configuration file
statusView current flakiness scores and test detail
historyView past detection sessions
exportExport results to JUnit XML, HTML, CSV, or JSON
quarantineManage test quarantine (list, add, remove)
ciGenerate CI workflow files

Interactive Mode

By default, test, status, and history launch an interactive TUI with sortable tables, category filtering, and detail drill-down. Pass --non-interactive (or -N) to use plain text output instead – useful for CI, scripts, or piped output.

Global Options

These options apply to all subcommands:

--project-dir <PATH>       Project root directory (default: .)
--output <FORMAT>          Output format: console or json (default: console)
--non-interactive, -N      Disable TUI, use plain text output
--verbose, -v              Verbose output during detection

Typical Workflow

  1. Initialize – cargo ninety-nine init
  2. Test – cargo ninety-nine test -n 20
  3. Filter – cargo ninety-nine test "flaky & !quarantined" (see Filter DSL)
  4. Investigate – cargo ninety-nine status tests::suspect_test
  5. Quarantine – cargo ninety-nine quarantine add tests::flaky_test --reason "timing-dependent"
  6. Export – cargo ninety-nine export html report.html
  7. Automate – cargo ninety-nine ci generate github