# Feature catalog — avajs/ava

> Canonical page: https://codevetter.com/unpack/ava/feature-catalog

# Feature catalog — avajs/ava

Scanned commit bbfd946322fdeca2b547a691d947fb4e18c0c67f (2026-05-17). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

AVA's user surface combines CLI selection and execution controls with an explicit test API. Tests support modifiers, hooks, macros, asynchronous completion, execution context, and assertions. Snapshot updates, watch interactions, debugging, TAP output, and TypeScript integration extend the development workflow. Shared-worker plugins provide coordination across otherwise isolated test files.
- The default CLI command accepts patterns, directories, and paths with line-number suffixes; --match filters titles, while --serial, --concurrency, --fail-fast, and --no-worker-threads control execution. — [lib/cli.js#L30-L62](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/cli.js#L30-L62) [lib/cli.js#L164-L173](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/cli.js#L164-L173) [lib/cli.js#L399-L405](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/cli.js#L399-L405)
- ava debug selects one file and exposes inspector host, port, and break options; ava reset-cache removes entries beneath the project's AVA cache and exits. — [lib/cli.js#L174-L215](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/cli.js#L174-L215) [lib/cli.js#L257-L284](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/cli.js#L257-L284)
- createChain() implements serial, only, skip, failing, todo, skipIf(), and runIf(), plus before/beforeEach/after/afterEach hooks and after-hook always modifiers. — [lib/create-chain.js#L101-L159](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/create-chain.js#L101-L159)
- test.macro() freezes exec/title definitions; parseTestArgs() accepts macro arguments, generates titles, and normalizes title whitespace. — [lib/create-chain.js#L162-L168](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/create-chain.js#L162-L168) [lib/parse-test-args.js#L1-L25](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/parse-test-args.js#L1-L25)
- ExecutionContext supplies log(), plan(), timeout()/timeout.clear(), teardown(), context access, and t.try() results with explicit commit/discard operations. — [lib/test.js#L68-L99](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/test.js#L68-L99) [lib/test.js#L124-L175](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/test.js#L124-L175) [lib/test.js#L185-L190](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/test.js#L185-L190)
- Assertions include identity and deep comparisons, sync/async exception expectations, snapshots, truth tests, and regex checks; snapshot assertions are prohibited in hooks. — [lib/assert.js#L293-L359](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/assert.js#L293-L359) [lib/assert.js#L398-L460](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/assert.js#L398-L460) [lib/assert.js#L634-L639](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/assert.js#L634-L639) [lib/assert.js#L687-L809](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/assert.js#L687-L809)
- Watch mode supports reruns, snapshot updates, glob and title prompts, and dependency-based file selection; CLI watch mode is rejected in CI and during debugging. — [lib/watcher.js#L358-L395](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/watcher.js#L358-L395) [lib/watcher.js#L529-L548](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/watcher.js#L529-L548) [test/watch-mode/basic-functionality.js#L5-L17](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/test/watch-mode/basic-functionality.js#L5-L17) [lib/cli.js#L288-L299](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/cli.js#L288-L299)
- AVA offers terminal/TAP reporting, an optional @ava/typescript provider, and ava/plugin shared workers with publish/subscribe messaging; shared workers require worker threads. — [lib/cli.js#L336-L349](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/cli.js#L336-L349) [lib/cli.js#L434-L452](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/cli.js#L434-L452) [lib/worker/plugin.js#L68-L99](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/worker/plugin.js#L68-L99) [entrypoints/plugin.js#L1-L1](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/entrypoints/plugin.js#L1-L1)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
