@prata.ma/anvil-schema
v3.1.0
Published
Shared schema parsing and authored schema package for Anvil workspaces.
Downloads
465
Readme
@prata.ma/anvil-schema
Shared schema package for Anvil workspaces.
Overview
@prata.ma/anvil-schema owns shared schema parsing utilities plus the shared runtime schema contracts consumed across published packages. It exists to stop parser and runtime-schema ownership from fragmenting across catalog blocks, individual consumer packages, and Hub-side target adapters.
The package owns the shared *.schema.yaml parser, manifest schemas, the runtime-facing Zod schemas still consumed across packages, and shared AI metadata helpers. Block-owned authored YAML sidecars and doctrine-only schemas may live with their owning catalog blocks when they no longer serve as shared package contracts.
Installation
Install from npm or consume it through a workspace dependency while developing inside this monorepo.
npm
pnpm add @prata.ma/anvil-schemaWorkspace
{
"dependencies": {
"@prata.ma/anvil-schema": "workspace:*"
}
}Layout
src/format/- shared schema-format parser and types for*.schema.yamlsrc/schemas/- shared runtime and manifest schema folderssrc/schemas/{domain}/{artifact}/- per-artifact folders where shared runtime schemas, variants, and supporting files live togethertest/- package tests for shared schema parsing and validation behavior
Conventions
- Keep one artifact folder per shared schema concern, for example
src/schemas/manifest/anvil/ - Colocate shared runtime schemas, variants, and supporting schemas in the same artifact folder
- Use
artifacts/in framework docs for artifact specification, but keep block-owned authored YAML sidecars with the owning catalog block when they are no longer shared package inputs - Treat this package as the shared schema source for consumers such as
@prata.ma/anvil-eslint,@prata.ma/anvil,@prata.ma/anvil-ai, and later@prata.ma/anvil-hub - Prefer shared exported constants when multiple consumers need the same durable contract, such as the AI rule-budget limits and prohibited constructs
Surface
src/format/template-schema.tssupports parser-level artifact constraints such asmaxChars,maxLines,maxTokens, and prohibited markdown constructssrc/schemas/ai/managed.tsexports the shared managed deployment marker contract used across reparsed deployable artifactssrc/schemas/ai/agent/agent.tsowns the one-file markdown agent frontmatter contract used by sync-owned agent deployment
Development
pnpm --filter @prata.ma/anvil-schema release:check
pnpm --filter @prata.ma/anvil-schema build
pnpm --filter @prata.ma/anvil-schema lint
pnpm --filter @prata.ma/anvil-schema test
pnpm --filter @prata.ma/anvil-schema test:typeNotes
@prata.ma/anvil-schemanow participates in the repo's Changesets, npm publish, and GitHub Release automation.- The package remains the shared parser and runtime-schema source for
@prata.ma/anvil,@prata.ma/anvil-eslint,@prata.ma/anvil-ai, and@prata.ma/anvil-hub.
