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

# Publish an app

> Prepare your app, describe how Zenith should run it, and submit it for review.

Zenith publishes apps from public GitHub repositories. Your repository supplies the container images and a `zenith-compose.yml` file that describes how to run them.

> Agent workflow
>
> Prepare a repository for Zenith in this order:
>
> 1. Inspect every service and ensure it has a publicly pullable container image.
> 2. Create or validate the root `zenith-compose.yml` using the [manifest guide](/content/zenith-compose) and [complete reference](/content/zenith-compose-reference).
> 3. Run the local Compose checks documented on those pages.
> 4. Stop before account connection, publication consent, or final submission. Those actions require the repository owner in the [publishing dashboard](/content/submit).
>
> Preserve existing application behavior. Do not add `internal.yml`, pricing, Kubernetes placement, or any other operator-only field to the developer repository.

## Before you start

<Info>
  You need all of the following before you begin:

  * A public GitHub repository that you own or administer.
  * Permission to publish and maintain the app.
  * Docker installed for local builds and tests.
</Info>
