Manifest Generation Model
Semantic Manifests are generated from AXAG annotations through extraction, normalization, and serialization.
Generation Pipeline
Generation Approaches
Build-Time Extraction (Recommended)
A bundler plugin reads source files (HTML, JSX, TSX, Vue SFC, Angular templates) and generates the manifest during the build. See Build-Time Compilation.
Runtime Extraction
registerDocument() from @web-axag/webmcp reads annotations from the live DOM and registers them as tools. Useful for pages with no build step. Framework bindings register specs built at runtime the same way, action by action.
Static Analysis
An AST-based analyzer processes source files without rendering — axag generate in CI, using the same compiler as the bundler plugin. Most reliable for CI/CD validation.
Annotations whose value is only known at runtime (axag={spec} built from props) can't be extracted statically. Generators list them under dynamic_actions so a runtime knows the manifest is incomplete for that page.
Extraction Rules
- Scan all elements with any
axag-*attribute - Group attributes by element
- Resolve context inheritance from parent elements
- Normalize parameter references
- Validate required fields per conformance level
- Serialize to manifest JSON