Skip to main content

Features & the lifecycle

A feature is a named piece of desired behavior, written as Gherkin (Feature: + Scenario:s). TestVibe's AI turns that Gherkin into runnable Playwright tests.

Lifecycle

draft ──▶ generating ──▶ generated
│ ▲
▼ │
failed ──────────┘ (fix the Gherkin, generate again)
StatusMeaning
draftCreated, no generated tests yet.
generatingA generation is in flight. The feature is locked: updates, deletes, and new generations are rejected with 409 conflict until it finishes (or you cancel).
generatedTests exist — the feature is runnable.
failedThe last generation didn't produce working tests. Read the generation log, fix the Gherkin, retry.
cancelledThe last generation was cancelled.
suggestionDrafted by TestVibe's exploration agent, awaiting your review.
warning

Only features with status generated can be run. run_feature rejects anything else.

Anatomy

get_feature returns the full picture:

  • gherkin — the source of truth you edit,
  • status — the lifecycle state above,
  • rationale — for suggestions, why the exploration agent proposed it,
  • kind, updatedUtc.

Features are addressable by numeric id or by name (case-insensitive) in every operation that takes a feature argument.