Docs Manifest

Manifest Reference: Complete Schema


Full Example

{
    "id":          "wptruss/feature-card",
    "archetype":   "features",
    "category":    "Features",
    "layoutType":  "single-column",
    "intent":      [ "education" ],
    "funnelStage": [ "consideration" ],
    "complexity":  "basic",
    "dynamic":     true,
    "schemaSupport": [],
    "sectionRole": "capability-item",
    "tags":        [ "features", "icon", "card" ],
    "contentModel": {
        "elements":  [ "heading", "description", "icon" ],
        "repeaters": [],
        "ai_fill": {
            "heading":     true,
            "description": true,
            "iconId":      false
        }
    },
    "composition": {
        "canFollow":  [ "hero", "stats" ],
        "canPrecede": [ "pricing", "cta" ]
    }
}

All fields are required. An empty array [] is correct for fields with no applicable values.


id

Must exactly match the name field in runtime/block.json.

"id": "wptruss/faq-accordion"

archetype

The block’s functional category. Used by the composition engine and AI tools.

Value Typical block type
hero Full-width hero / banner section
features Feature cards, capability grids
faq FAQ accordion or list
pricing Pricing tiers, plan comparison
testimonials Quote cards, review grids
stats Number / metric displays
cta Call-to-action prompts
team Team member cards
blog Blog post cards
gallery Image grids
content General prose / editorial
form Contact forms
navigation Menus, breadcrumbs
media Video embeds, image features
social-proof Logos, awards, press mentions
steps Process steps, how-to sequences
timeline Chronological event displays
comparison Feature comparison tables
accordion General expandable content
tabs Tabbed content panels
map Location / map embeds
embed Third-party service embeds

category

Human-readable display label shown in the marketplace filter sidebar.

"category": "Features"

Common values: "Features", "Content", "FAQ", "Hero", "Pricing", "Testimonials", "Stats", "CTA", "Team", "Gallery", "Forms", "Navigation", "Media".


layoutType

The block’s internal layout pattern.

Value Layout
single-column Stacked vertically
two-column Two columns
three-column Three columns
four-column Four columns
grid Flexible multi-column grid
hero Full-width with overlay or split
split Left/right split
centered Centred single column
list Vertical list
table Tabular data
carousel Horizontally scrollable
full-bleed Edge-to-edge, no container

intent

Marketing or communication purpose. At least one value required.

Value Purpose
"education" Explains a concept or process
"engagement" Encourages interaction
"conversion" Drives a specific action
"trust" Establishes credibility
"navigation" Helps users move through the site
"decoration" Visual interest only
"retention" Encourages return visits

A block can serve multiple intents. Limit to the two or three most relevant, do not apply all values.

"intent": [ "education", "conversion" ]

funnelStage

Maps the block to marketing funnel stages.

Value Stage
"awareness" First exposure – introduce the brand
"consideration" Evaluation – explain features, answer questions
"decision" Conversion moment – pricing, CTA, sign-up
"retention" Post-conversion – support, community, upsell
"funnelStage": [ "consideration", "decision" ]

complexity

Configuration complexity expected of the user who installs this block.

Value Meaning
"basic" Works with content defaults. No setup required.
"intermediate" Requires content entry and some configuration.
"advanced" Requires a data layer, CPT setup, or schema configuration.

dynamic

true if the block uses render.php. All wpTruss marketplace blocks must set "dynamic": true – the Block Constitution requires render.php for all blocks to prevent database-level validation errors when the block’s HTML structure changes.


schemaSupport

Lists schema.org types this block outputs as JSON-LD structured data. Empty array means no schema output.

Schema type Suited archetype
"FAQPage" faq
"HowTo" steps
"Product" pricing
"Review" testimonials
"Organization" team, about
"Article" blog headers
"Event" event listings
"Service" services
"Person" team member cards
"schemaSupport": [ "FAQPage" ]

sectionRole

Semantic role in a fully assembled page. Used by the composition engine.

Value Description
"hero-section" Page’s primary visual and headline
"feature-section" Group of capability or benefit items
"capability-item" Single feature card (used inside a grid)
"faq-section" Questions and answers section
"pricing-section" Pricing plan display
"testimonial-section" Social proof / review section
"stats-section" Metrics and numbers section
"cta-section" Call-to-action prompt section
"content-section" General body content
"blog-section" Post listing or article grid
"gallery-section" Media grid or image collection
"form-section" Contact or lead capture form

tags

Freeform searchable tags. Use lowercase hyphenated strings. Include the archetype name.

"tags": [ "faq", "accordion", "questions", "schema" ]

Avoid generic tags like block, section, content that apply to every block.