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
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | ✅ | Unique package identifier (reverse domain style) |
| namespace | string | optional | Short namespace identifier for metadata scoping (e.g. "crm", "todo") |
| version | string | ✅ | Package version (semantic versioning) |
| type | Enum<'plugin' | 'ui' | 'driver' | 'server' | 'app' | 'theme' | 'agent' | 'objectql' | 'module' | 'gateway' | 'adapter'> | ✅ | Type of package |
| name | string | ✅ | Human-readable package name |
| description | string | optional | Package description |
| permissions | string[] | optional | Array of required permission strings |
| objects | string[] | optional | Glob patterns for ObjectQL schemas files |
| datasources | string[] | optional | Glob patterns for Datasource definitions |
| dependencies | Record<string, string> | optional | Package dependencies |
| configuration | Object | optional | Plugin configuration settings |
| contributes | Object | optional | Platform contributions |
| data | Object[] | optional | Initial seed data (prefer top-level data field) |
| capabilities | Object | optional | Plugin capability declarations for interoperability |
| extensions | Record<string, any> | optional | Extension points and contributions |
| loading | Object | optional | Plugin loading and runtime behavior configuration |
| engine | Object | optional | Platform compatibility requirements |