# Getting Started With ZeroPress

ZeroPress supports several practical authoring workflows. This site focuses on the theme runtime, preview-data contract, and CLI tools. Markdown-source publishing guidance for Build Pages lives on its own product site.

## Choose A Workflow

| Goal | Use | Best For |
| --- | --- | --- |
| Create or test a reusable theme | `@zeropress/create-theme` and `@zeropress/theme` | Theme authors and custom site design |
| Build directly from preview-data and a theme | `@zeropress/build` | AI-generated sites, admin-generated preview-data, advanced integrations |
| Build a static site from Markdown files | `@zeropress/build-pages` | Documentation, GitHub Pages style repositories, simple public sites |

Need command snippets first? See [Package Quick Starts](/packages/) for the shortest useful command for each public package.

## Markdown Site

Use `@zeropress/build-pages` when your source tree is mostly Markdown and public assets. Its documentation is now separated from the contract reference:

- [Build Pages Documentation](https://build-pages.zeropress.dev/)
- [Build Pages on GitHub Marketplace](https://github.com/marketplace/actions/build-zeropress-pages)

## Custom Theme

Use `@zeropress/create-theme` to scaffold a starter theme and preview-data fixture.

```bash
npx @zeropress/create-theme --name my-docs-theme --template docs
```

Preview the generated theme locally:

```bash
npx @zeropress/theme dev ./my-docs-theme/theme --data ./my-docs-theme/preview-data.json
```

When the theme is ready, use it from Build Pages with `theme-path`, or use it directly with `@zeropress/build`.

```yaml
with:
  source: ./docs
  destination: ./_site
  theme-path: ./my-docs-theme/theme
```

Next:

- [Theme Authoring](/theme-authoring/)
- [Theme Runtime Reference](/reference/theme-runtime/)

## Direct Build Contract

Use `@zeropress/build` when you already have a `preview-data.json` file and a ZeroPress theme.

```bash
npx @zeropress/build ./theme --data ./preview-data.json --out ./dist
```

This path is useful when preview-data is generated by an admin dashboard, importer, AI tool, or custom pipeline.

Next:

- [Preview Data Reference](/reference/preview-data/)
- [Preview Data Schema](https://schemas.zeropress.dev/preview-data/v0.6/schema.json)
- [Theme Runtime Schema](https://schemas.zeropress.dev/theme-runtime/v0.6/schema.json)

## Current Contracts

New projects should target:

- `preview-data` version `0.6`
- `theme.json` runtime `0.6`
- Build Pages config version `0.1`, documented at [build-pages.zeropress.dev](https://build-pages.zeropress.dev/)

Machine-readable JSON Schema files live at [schemas.zeropress.dev](https://schemas.zeropress.dev/).
