# Theme Packaging

Use [`@halo-dev/theme-package-cli`](https://github.com/halo-dev/theme-package-cli) to package a theme into a ZIP file for uploading to Halo Console or distributing to others.

## Installation

```bash
npm install -g @halo-dev/theme-package-cli
```

Or run without installing via `npx`:

```bash
npx @halo-dev/theme-package-cli
```

## Usage

Run in the theme root directory (the one containing `theme.yaml`):

```bash
# Package only essential files (recommended)
theme-package

# Package all files (excluding node_modules, dist, .git, etc.)
theme-package --all
```

## Default Package Contents (without `--all`)

| Included           | Description                                       |
| ------------------ | ------------------------------------------------- |
| `templates/`       | Templates and static assets                       |
| `*.yaml` / `*.yml` | Config files: `theme.yaml`, `settings.yaml`, etc. |
| `i18n/`            | Internationalization files (if present)           |
| `README.md`        | Documentation file (if present)                   |
| `LICENSE`          | License file (if present)                         |

> For Vite-based themes, run `npm run build` first to generate the `templates/` output, then run the packaging command.
