> ## Documentation Index
> Fetch the complete documentation index at: https://docs.duckpost.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Release agent

> Generate DuckPost release notes from GitHub with AI.

The [**Release Agent**](https://duckpost.app/release-agent) connects DuckPost to GitHub so merged work can become release notes faster.

## What it does

The release agent can:

* Watch a GitHub repository
* Generate customer-facing release titles and summaries
* Apply your style rules
* Create draft release notes
* Auto-publish production updates when enabled

## Owner setup checklist

Only organization owners or sudo users can change release agent settings.

<Steps>
  <Step title="Connect the repository">
    In **Release Agent**, save:

    * The GitHub repository URL or `owner/name`
    * The production branch
    * Whether production pushes should auto-publish
    * Whether auto-published releases should notify subscribers
  </Step>

  <Step title="Set style rules">
    Add guidance for tone, formatting, and what the model should avoid mentioning. DuckPost uses these rules when it generates release notes.
  </Step>

  <Step title="Create an action key">
    Create an API key and save the one-time value as the GitHub secret `DUCKPOST_TOKEN`.
  </Step>

  <Step title="Add the workflow">
    Copy the generated YAML and save it as:

    ```text theme={null}
    .github/workflows/duckpost-release-notes.yml
    ```
  </Step>
</Steps>

## What the configuration controls

* **Repository** decides which GitHub project DuckPost listens to
* **Production branch** defines which branch counts as live production work
* **Auto-publish** decides whether production push jobs create published releases instead of drafts
* **Notify subscribers** decides whether auto-published releases should trigger outbound delivery
* **Style rules** shape the tone and structure of generated content

## Important behavior

* DuckPost keeps a single active action key at a time
* Pull requests targeting the production branch can generate release notes
* Production branch push jobs can auto-publish when that option is enabled
* Subscriber notifications can be tied to auto-published jobs

## Job history

The job history table helps you verify:

* Which repository and branch triggered the job
* Which commit was processed
* Whether the job completed, failed, skipped, or stayed pending
* The generated result or failure reason

<Warning>
  Regenerating or deleting the action key invalidates the previous secret value. Update `DUCKPOST_TOKEN` in GitHub immediately after you rotate the key.
</Warning>
