Skip to Content
📖 Esta página ainda não foi traduzida para o português. Ver em inglês · Contribuir com a tradução →

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 | Bundle | Agent | Scaffold 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, Bundle, Agent, Scaffold.

KindDescription
SkillReusable capability that teaches an AI how to perform a task
RuleBehavioral constraints and policies
SpecStructured project requirements
TemplateReusable project scaffolding described as markdown instructions
MCPServerMCP Server installation descriptor — configures an MCP server in AI runtimes
BundleA curated set of other packages, installed together via components:
AgentAn AI agent persona with an optional model hint (ai.model)
ScaffoldA project scaffold that bundles real files (not just markdown) via spec.include — see below

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.

spec.include

Optional list of directories or individual files, relative to the package directory, that get bundled into the .lore archive as real files — alongside the usual manifest.yaml and content/*.md. Allowed for every kind except Bundle. Entries are literal paths — no glob patterns.

spec: title: .NET Service Scaffold description: Base structure for a .NET service with Clean Architecture include: - templates - schemas/openapi.yaml

This is how kind: Scaffold packages ship real project files (source trees, config files, etc.) instead of just markdown instructions. lore pull never extracts include: files directly onto disk — it writes an instruction file (.claude/includes/{name}.md, or .claude/scaffolds/{name}.md specifically for kind: Scaffold) listing the included paths and a lore extract command, so the AI decides how and where to place them after downloading with the CLI’s own authenticated session. See Content Structure and lore pull for the full behavior.

spec.include content is capped by size: 5 MB total, 2 MB per file, 10 MB for the whole .lore archive (Registry-configurable, but these are the defaults). lore publish/lore push reject oversized archives before uploading; the Registry enforces the same limits on ingestion regardless.

Older versions of this schema auto-bundled assets/ and examples/ directories without needing to declare them. That convention is gone — every extra directory or file must now be listed explicitly in spec.include. lore publish prints a warning if it finds an assets/, examples/, or templates/ directory that isn’t declared.

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