Skip to Content
V1Package Authoringmanifest.yaml Reference

manifest.yaml Reference

Every Lore package must include a manifest.yaml at the root of the package directory.

Schema

apiVersion: lore.io/v1 kind: Skill # Skill | Rule | Spec | Template | MCPServer metadata: namespace: m1cloud name: azure-architect version: 1.0.0 spec: title: Azure Architect description: Azure architecture specialist content: defaultLanguage: en-US translations: - en-US - pt-BR dependencies: - m1cloud/terraform-reviewer:^1.0.0 license: Apache-2.0 tags: - azure - architecture

Fields

apiVersion

Must be lore.io/v1.

kind

Package type. One of: Skill, Rule, Spec, Template, MCPServer.

KindDescription
SkillReusable capability that teaches an AI how to perform a task
RuleBehavioral constraints and policies
SpecStructured project requirements
TemplateReusable project scaffolding
MCPServerMCP Server installation descriptor — configures an MCP server in AI runtimes

metadata.namespace

Publisher namespace. Must match your registered namespace in the registry.

metadata.name

Package name in kebab-case. Together with namespace, forms the unique package identifier.

metadata.version

Semver (MAJOR.MINOR.PATCH). Published versions are immutable.

spec.title

Human-readable package title.

spec.description

One-line package description.

content.defaultLanguage

IETF BCP 47 language tag (e.g., en-US). A content file for this language must exist.

translations

List of all languages for which content files exist.

dependencies

List of required packages. Format: <namespace>/<name>:<semver-range>.

license

SPDX license identifier.

tags

List of tags for search and discovery.

mcp: (MCPServer only)

Required for kind: MCPServer. Forbidden for all other kinds. Defines how the CLI installs the MCP server into the target AI runtime’s configuration.

mcp: defaultTransport: stdio # "stdio" | "sse" — required when both transports are declared transports: stdio: command: npx # executable to invoke args: - -y - my-mcp-server env: MY_API_KEY: "" # empty = required (user must fill in) LOG_LEVEL: "info" # non-empty = optional with default sse: url: https://mcp.example.com/sse headers: Authorization: "Bearer ${MY_API_KEY}"

At least one transport (stdio or sse) must be present. When only one transport is declared, defaultTransport is optional (the CLI defaults to the single available transport).

Env vars with an empty value ("") are treated as required — the CLI will warn after installation that the user must set them. Env vars with a non-empty value are optional and pre-filled with the default.

© 2025 Lore · Built by M1 Cloud