For the complete documentation index, see llms.txt. This page is also available as Markdown.

Products & Targets

Understand how products and targets relate.

Products define what you test. Targets define which version you test.

Products

A product is the top-level object for an application or website in Duku. It stores the name, description, and general base URL for that app or site.

Common examples:

  • A marketing site

  • A web app

  • A checkout flow

Targets

A target is a concrete deployment of a product. In most teams, targets map to commits, branches, preview deployments, or production.

Explorations run against the product's base URL. A target inherits that URL - it records which version you tested, not where.

In the app, you manage targets from the target menu in the top-right navbar, next to the active product. When Releases are enabled, the target menu is hidden.

Each target carries:

  • Version: A commit SHA or build identifier

  • Metadata: Context like branch name, PR number, and commit message

  • Environment: For example staging, canary, or production

Releases and environments

When Releases are enabled for your organisation, a product also has environments - a name and URL, such as staging. A release is a version you record as deployed to an environment. Runs, tests and schedules are then chosen by environment, and releases take the place of the target menu. See Releases.

Relationship

CI can override the URL for a single run, which is how per-PR preview deployments are explored.

Create one product per application. Use targets for environments and deploy variants.

When you use the GitHub Action, Duku creates and updates targets automatically. When you use the API directly, call upsertSimulationTarget.

Last updated