# Products & Targets

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 target URL. The product base URL is reference data for the product itself.

Each target carries:

* **Version:** A commit SHA or build identifier
* **URL:** The exact deployment URL Duku should start from
* **Metadata:** Context like branch name, PR number, and commit message

### Relationship

```
Product: Web App
├── Target: main @ abc123 (https://www.example.com)
├── Target: PR #42 @ def456 (https://pr-42.preview.example.com)
└── Target: PR #43 @ ghi789 (https://pr-43.preview.example.com)
```

{% hint style="info" %}
Create one product per application. Use targets for environments and deploy variants.
{% endhint %}

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.duku.ai/core-concepts/products-and-targets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
