Add a page to a site
add_pageAdd ONE new inner page to an existing site that already has a design (create_site / create_site_from_design first). Two modes, chosen by whether you pass code:
• MONDOVO WRITES IT (no code): Mondovo's AI generates the page to match the site's theme, header and footer. Give a description of what the page is for. Optional nav_placement ("main" header menu — the default, "footer", or "none") and nav_label: only this page's link is added; existing menu items are never changed. Returns a job_id immediately; poll get_job every ~10s until "completed" (~45-90s). Runs server-side even if this conversation ends. Counts as an AI refinement.
• YOU WROTE IT (pass code): the page you authored is added as-is — no AI, no credits, no job. Send the COMPLETE TSX (same authoring contract as update_variation_file). Nothing wraps your page in the site's chrome, so build it the way this design's existing pages are built — read_design and copy an existing page's imports (usually , and from './ThemeStyles', './Header', './Footer'). Put the page's own text in content under NEW top-level keys, conventionally one key page_ (e.g. { "page_marketing": {...} } for /marketing); the code reads them as content.page_marketing. Your code may also read keys the site already has, but content may not redefine them. Optional seo (title, description, structured_data), nav_placement ("main" header menu — the default, "footer", or "none") and nav_label. The page is validated with the same checks update_variation_file runs (content first, then code); a refusal writes NOTHING and returns the issues. A slug, file name or content key the design already has is refused — to change an EXISTING page use update_variation_file / patch_variation_content instead. On success it returns the page's slug, file and content key plus how_to_edit, and lands as one entry in version history (version; history_warning means it saved but was not recorded). Nothing is live until publish_site.
To try an alternative version of an EXISTING page without touching the live one, use create_page_draft, not this tool.
ON A SITE THAT STILL HOLDS SEVERAL DESIGNS this builds the site: Mondovo copies the chosen design into the working site (or reuses the copy made earlier), adds to that, and the response carries its new site_id and a build_transition — relay its tell_user and use the new site_id from then on. Pass variation_id (from list_variations) for the design the user picked; omitted, Mondovo uses the design already built or the only one edited, and otherwise answers choose_design so you can ask the user.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| seo | No | With `code`: the page's <title>, meta description and optional JSON-LD `structured_data` ({ "schemas": [ { "@type": "…", … } ] }, replacing the schema Mondovo would generate). Title defaults to "<name> | <site name>". Change later with update_page_seo. | |
| code | No | YOU-WROTE-IT mode: the complete TSX of the page. Omit to have Mondovo's AI write the page instead. | |
| name | Yes | Page name, e.g. "About", "Services", "Contact" | |
| slug | Yes | URL slug, e.g. "/about" (a leading slash is added if missing) | |
| content | No | With `code`: NEW top-level content keys the page reads, e.g. { "page_marketing": { "hero": { "headline": "…" } } }. Existing keys are refused — edit those with patch_variation_content. | |
| site_id | Yes | The site to add the page to | |
| guidance | No | Optional extra freeform direction for the page | |
| file_name | No | With `code`: PascalCase component/file name, e.g. "MarketingPage". Derived from `name` when omitted. | |
| nav_label | No | Menu label. Defaults to `name`. | |
| page_type | No | Optional explicit page type — drives section composition | |
| user_goal | No | Optional: the user's goal behind this call, in one short sentence of plain words (e.g. "add a page so customers can book tables"). No names, emails or other personal details. | |
| description | No | What the page is for — drives the sections and copy the AI generates | |
| variation_id | No | On a site that still holds several designs: the design to build the site from (from list_variations). Mondovo copies it into the working site and adds to that. Omit on a site that is already built. | |
| nav_placement | No | Link the page from the header menu ("main", default), the footer ("footer"), or nowhere ("none"). Only this page is added; existing menu items are never changed. |