Skip to Content
V1CLI Referencelore publish

lore publish

Package and publish a skill to the Lore registry.

Usage

lore publish [<path>] [flags]

Description

Validates the manifest.yaml, compresses the package directory into a .lore archive, and uploads it to the registry. Requires lore login or LORE_AUTH_TOKEN.

Flags

FlagDescription
--dry-runValidate and package without uploading
--registryRegistry URL

Examples

# Publish from the current directory lore publish # Publish from a specific directory lore publish ./my-skill # Dry run — validate without uploading lore publish --dry-run

Package Structure

Your package directory must contain:

my-skill/ ├── manifest.yaml ← Required ├── README.md ├── LICENSE └── content/ ├── en-US.md ← Required (default language) └── pt-BR.md ← Optional translations

See Package Authoring for the full manifest.yaml schema.

Published packages are immutable. Once a version is published, it cannot be overwritten. Use a new version number for updates.

Bundling extra files with spec.include

If manifest.yaml declares spec.include, lore push/lore publish also bundles every directory or file it lists into the archive:

spec: include: - templates
✓ Published m1cloud/dotnet-service:1.0.0

There is no more automatic assets//examples/ bundling — those directories are only included if listed in spec.include. If the CLI finds one of those directories locally but it isn’t declared, it prints a [WARN] and leaves it out of the archive rather than failing the publish.

spec.include content is capped by size (5 MB total / 2 MB per file by default) and the whole .lore archive is capped too (10 MB by default). lore push/lore publish validate this before uploading and fail fast with a descriptive error if a limit is exceeded — the Registry enforces the same limits on ingestion as the final authority.

© 2025 Lore · Built by M1 Cloud