WeaveKit Docs

Type presets

The four starting presets and how they configure the project.

The --type value selects a starting preset: it sets projectType in weavekit.config.ts, chooses the initial subsystem composition, and writes a one-line narrative into the config and the generated README. The core engine is always enabled; a preset never trims it.

PresetNarrativeAdds
agent (default)AI-Agent backend — metadata-driven objects with REST access for AI agentsbase field types only
governanceGovernance platform — auditable, permission-scoped business objectssemantic field types
serviceBusiness service — headless backend with RBAC and a REST APIsemantic field types, script subsystem
businessBusiness backend — objects and formulas on PostgreSQLsemantic field types, script subsystem

Field-type gating

agent presets whitelist only the engine's primitive field types. The other presets additionally whitelist the semantic field types (for example person and department). The whitelist is written to features.fieldTypes in weavekit.config.ts and is fail-closed: a schema using a type outside the list is rejected. Extend the list in the config to opt in to more types.

Script subsystem

service and business enable the script subsystem:

subsystems: {
  script: { enabled: true },
},

Script hooks run sandboxed in isolated workers (*.server.js). The other presets leave the subsystem out, so it costs nothing at runtime until you enable it.

About business

business is currently a headless backend preset (REST/MCP/RBAC/audit/script) — it generates no UI. Files such as objects/<name>/show.client.js and pages/<name>/layout.json are experimental groundwork and have no in-project renderer yet.

You can change the composition later with the CLI (weave module:add / weave module:remove); weavekit.config.ts is the source of truth.

On this page