ObjectStackObjectStack

Manifest

Manifest protocol schemas

Schema for the ObjectStack Manifest.

This defines the structure of a package configuration in the ObjectStack ecosystem.

All packages (apps, plugins, drivers, modules) must conform to this schema.

@example App Package


id: com.acme.crm

version: 1.0.0

type: app

name: Acme CRM

description: Customer Relationship Management system

permissions:

- system.user.read

- system.object.create

objects:

- "./src/objects/*.object.yml"

Source: packages/spec/src/kernel/manifest.zod.ts

TypeScript Usage

import { Manifest } from '@objectstack/spec/kernel';
import type { Manifest } from '@objectstack/spec/kernel';

// Validate data
const result = Manifest.parse(data);

Manifest

Properties

PropertyTypeRequiredDescription
idstringUnique package identifier (reverse domain style)
namespacestringoptionalShort namespace identifier for metadata scoping (e.g. "crm", "todo")
versionstringPackage version (semantic versioning)
typeEnum<'plugin' | 'ui' | 'driver' | 'server' | 'app' | 'theme' | 'agent' | 'objectql' | 'module' | 'gateway' | 'adapter'>Type of package
namestringHuman-readable package name
descriptionstringoptionalPackage description
permissionsstring[]optionalArray of required permission strings
objectsstring[]optionalGlob patterns for ObjectQL schemas files
datasourcesstring[]optionalGlob patterns for Datasource definitions
dependenciesRecord<string, string>optionalPackage dependencies
configurationObjectoptionalPlugin configuration settings
contributesObjectoptionalPlatform contributions
dataObject[]optionalInitial seed data (prefer top-level data field)
capabilitiesObjectoptionalPlugin capability declarations for interoperability
extensionsRecord<string, any>optionalExtension points and contributions
loadingObjectoptionalPlugin loading and runtime behavior configuration
engineObjectoptionalPlatform compatibility requirements

On this page