Storelib Developer HubUsing the builder

Using the website builder

Every part of the Storelib website builder: what each button, panel and setting is, what it changes, and where it lives. The settings on this page are drawn from the same lists the builder reads, with their defaults, so what you see here is what you see in the editor.

The builder opens from Websites in your dashboard. Pick a website and press Edit website.

The screen#

PartWhereWhat it is for
Top barAcross the topLeaving, switching page, desktop or phone preview, the inspector, Ask AI, and Publish.
SidebarLeft, on a computer. A sheet at the bottom, on a phoneThe sections of the page, the pages of the site, and General Settings.
CanvasThe middleThe page, drawn by the same renderer your visitors get. Click a section to edit it.
Ask AIBetween the sidebar and the canvas, when openDescribe a change, or a new section, and it is made.

A window narrower than 768px is treated as a phone: the preview is the phone preview and the sidebar becomes a sheet with three tabs, Sections, Pages and Settings.

The top bar#

From left to right on a computer:

ControlWhat it does
ExitBack to your websites. If a save is still going or a code file is unsaved, it asks first: Stay here or Leave anyway.
Sections, Pages, General SettingsSwitch what the sidebar shows.
Website name and green dotThe dot means the website is published.
menuView code, Theme settings, Website settings, Connect Claude Code or Codex, Undo, Redo, View live site, Back to Dashboard. On a phone this is also how you reach Code, Website settings and the connections.
Preview, Code, Website SettingsThree ways of looking at the project. Code opens the code editor over the canvas.
Desktop or phoneOne button that switches the canvas between the full width and a 390px phone.
Page switcherWhich page you are editing. See Pages.
Open the live pageThe page you are on, on the live site, in a new tab.
Undo and Redo30 steps. Typing in a box counts as one step. Changing page starts a fresh history.
InspectorOn: click a section in the canvas to select it. Off: the canvas is a plain preview you can click through.
PlugConnect Claude Code, Codex or ChatGPT. Opens Website Settings › Advanced, where they connect.
Ask AIOpens and closes the AI panel.
Publish, or SaveSee Saving and publishing.

Shortcuts: ⌘Z or Ctrl+Z undoes, ⌘⇧Z, ⌘Y or Ctrl+Y redoes. In the code editor, ⌘S or Ctrl+S saves.

The sidebar#

Sections#

The page's sections, top to bottom.

  • The header and footer sit in their own boxes at the top and bottom. They are the same on every page: change them on one and every page changes. They can be hidden with the eye, but not moved, copied or deleted.
  • Every other section has a grip to drag it up or down (press and hold on a phone, or use the arrow keys), and a menu with Duplicate, Hide or Show, and Delete. Right-clicking the row opens the same menu.
  • A hidden section is drawn faded in the list and is left out of the page. Delete takes effect at once; Undo brings it back.
  • A thin line between two rows shows a + under the pointer: press it to add a section at exactly that point.
  • Add section, at the end of the list on a computer and the start on a phone, adds a section above the footer.

Adding a section#

Add section opens the library: a search box, the categories down the side, and a card for each section drawn small with its real content. Sections you or Ask AI coded are under Created by you. Pick one and it is placed, selected and scrolled to.

The library's categories are Hero, Products, Features, Content, Social Proof, CTA, Media, About, FAQ and Marketing.

Blocks#

Some sections hold repeated items: questions in an FAQ, columns in a footer, slides in a gallery. These are blocks, listed under the section's settings. Each block can be moved up or down, duplicated, deleted, and opened to edit its own settings. Add adds another until the section's limit, and clicking a block in the canvas opens it in the list.

Pages#

Pages lists the website's pages: Home, About, Contact, Shop and Search, the pages you made, and a product page for each product. The switcher in the top bar does the same with a search box, and Create page asks for a title and makes a page at an address taken from it. A new page starts with the header and footer and nothing between.

Every website comes with a Refund Policy, a Privacy Policy and Terms of Service page. Edit them like any other page before you publish.

A section's settings#

Click a section, in the canvas or the list, and its settings open in the sidebar.

  • Colour scheme comes first: pick one of the website's schemes and every colour in the section follows it. Advanced colors overrides single colours (background, text, heading, accent, border, and the two buttons) for this section only. Reset to scheme undoes that.
  • Text picks the heading and body styles from General Settings, or Custom to set font, weight, size per screen, line height, letter spacing and case for this section.
  • The section's own settings follow, in the order its file declares them, each with its help text.
  • Blocks, if it has any.
  • Hide, Duplicate and Delete are pinned along the bottom.

With the inspector on, a selected section also shows a small toolbar at its top right: Ask AI, Move up, Move down, Duplicate, Hide and Delete.

Every control a section can have#

A section declares its settings in its schema, and each type is drawn as one control. This is every type, drawn as the builder draws it. To write one, see Schema.

Headingtext

A single line of text. A one-line box. A text setting whose id or label says gradient is drawn as the gradient editor instead.

Bodytextarea

Several lines of plain text. A box that grows as you type.

Contentrichtext

Formatted text. Stored as sanitised HTML; output with the raw filter. A small editor with Paragraph, Heading 2 to 4, Bold, Italic, Link, bulleted and numbered lists. Pasting brings in plain text.

Columnsnumber

A number typed in. A number box that keeps to its min, max and step. With responsive, a Desktop, Tablet, Phone switch sits above it.

Show badgetoggle

On or off. A switch.

Require agreementcheckbox

On or off, drawn as a checkbox. Prefer toggle for a single switch. The same switch as toggle. Prefer toggle in new sections.

Layoutselect

One of a list, drawn as a dropdown. A dropdown.

Button styleradio

One of a short list, every option visible. Buttons side by side when there are three options or fewer, a dropdown when there are more.

Paddingrange

A number on a slider. A slider with the number and unit beside it. Can be responsive.

Backgroundcolor

A hex colour. A swatch and its hex. It opens in place with a colour field, a hue slider, the hex and the colours already on the page. Hidden in a section panel, where colours come from the scheme.

Colour schemecolor_scheme

One of the theme's named colour schemes, by key: the built-in white, light, dark, black and highlight (Light, Soft, Dark, Brand and Accent in the editor) or one the creator added. The editor offers every scheme the theme has; see docs/theme/16-design-tokens.md. The scheme picker at the top of the section panel, each scheme painted in its own colours, with Edit beside each one.

Heading fontfont_picker

A font family from the theme's font list. A dropdown whose options are drawn in their own font.

Alignalignment

Left, centre or right. Three buttons: left, centre, right. Can be responsive.

Imageimage_picker

One image from the media library. Stored as an asset reference, rendered as a URL. A dashed box: Add Image, click to upload or drag in. Filled, it shows the picture with Replace and Remove. JPEG, PNG, GIF, WebP, SVG or AVIF under 5 MB.

Imagesimage_gallery

Several images, in order. A stack of image pickers, with an empty one at the end to add another.

Background videovideo_picker

A video file from the media library, or a hosted video URL. The video, with an X to clear it, and a box to paste a hosted video link.

Downloadable filefile_picker

Any file from the media library. A box for a file's address.

Iconicon_picker

One icon from Storelib's icon library, by name. A searchable grid of icons.

Button linkurl

Where something links to: a page of the site, a product, or any address. The link picker: a search over your pages and products, or any address typed in (/about, https://…, mailto:).

Pagepage_picker

One of the site's pages, by key. A dropdown of the site's pages.

Productproduct_picker

One of the creator's products, by id. A dropdown of your products.

Communitycommunity_picker

One of the creator's communities, by id. A box for a community id.

Contentheader

A heading in the sidebar. Holds no value. A small heading that divides a long panel. Holds no value.

Paragraphparagraph

A line of help text in the sidebar. Holds no value. A line of help text in the panel. Holds no value.

Dividerdivider

A rule between groups of settings. Holds no value. A line across the panel. Holds no value.

The header's own panel#

The header has a panel of its own, in three parts.

  • Store Logo: the logo, its height, a nudge left or right, and a separate logo and height for phones.
  • Navigation Links: up to eight links, each with a label, where it goes, and whether it opens in a new tab. Drag to reorder. Each link can hold one level of sub-links.
  • Header Settings: the layout on a computer (logo left, nav inline, nav centred, or logo centred) and on a phone; the colour scheme; how menu links react to the pointer; width and spacing; sticky and transparent behaviour; a bottom border and shadow; which icons show (search, account, wishlist, cart); and an optional button with its own text and link.

General Settings#

The settings that belong to the whole website. Open them with the gear in the top bar, or Settings on a phone.

Colors#

Every section picks one colour scheme. Change a scheme here and every section using it changes with it. A website starts with five:

Aa Light

Body text on this scheme.

PrimarySecondary
white

Aa Soft

Body text on this scheme.

PrimarySecondary
light

Aa Dark

Body text on this scheme.

PrimarySecondary
dark

Aa Brand

Body text on this scheme.

PrimarySecondary
black

Aa Accent

Body text on this scheme.

PrimarySecondary
highlight

Pick a scheme to edit it: its name, whether new sections start on it, and its seventeen colours in five groups (surface, text, primary button, secondary button, inputs). If a pair of colours is hard to read, it says so and by how much. A scheme can also lay a gradient over its background. Add scheme makes another; a scheme you made can be deleted, and the sections on it move to another.

Page colors, under Colors, are the colours of the page itself, behind and between sections:

Primaryprimary_color

The page's main colour, outside any section.

Primary hoverprimary_hover_color

The main colour under the pointer.

Secondarysecondary_color

A second colour for the page's own parts.

Accentaccent_color

Small highlights outside sections.

Page backgroundbackground_color

The page behind every section.

Surface / cardsurface_color

Cards and panels outside sections.

Surface altsurface_alt_color

A second, slightly different surface.

Heading texttext_color

Headings outside sections.

Body texttext_secondary_color

Body text outside sections.

Muted texttext_muted_color

Captions and quiet text outside sections.

Borderborder_color

Lines and borders outside sections.

Link colorlink_color

Links outside any section.

Link hoverlink_hover_color

Those links under the pointer.

Successsuccess_color

Confirmations, such as a sign-up that went through.

Errorerror_color

Errors, such as a form that needs fixing.

Branding#

The store's name, logo and its height, an optional smaller logo for phones, the favicon and a tagline. The logo is kept in step with the header's Store Logo: change it in either place.

Store namebrand_name

The store's name, used by the header when there is no logo and in the page title.

Logo imagelogo_url

The logo in the header. Kept in step with the header's own Store Logo.

Logo heightlogo_width

How tall the logo is drawn. The Branding panel shows it as Logo height.

Faviconfavicon_url

The small icon in the browser tab. A square image, 64 by 64 or larger.

Taglinetagline

A line under the store's name, where a section or the footer shows it.

Typography#

Three fonts, and nine text styles every section uses unless it sets its own.

Heading fontfont_heading

The font every heading style uses unless a style says otherwise.

Body fontfont_body

The font for body text and buttons.

Accent fontfont_accent

A third font a text style can pick. Empty means the heading font.

The text styles, with their defaults. Each can be changed: font, weight, a size for desktop, tablet and phone, line height, letter spacing and case. A dot marks a style you changed, and Reset style puts it back.

StyleKeyFontWeightSize, px (desktop / tablet / phone)Line heightLetter spacing, px
Heading 1h1heading70056 / 44 / 361.1-1
Heading 2h2heading70036 / 32 / 301.15-0.5
Heading 3h3heading60024 / 22 / 201.250
Heading 4h4heading60018 / 17 / 161.350
Body largebody_largebody40018 / 17 / 171.60
Bodybodybody400161.60
Body smallbody_smallbody400141.50
Buttonbuttonbody600141.20
Captioncaptionbody500121.40.3

Buttons#

Default stylebutton_style

What a button looks like before a section changes it: filled, outlined or text only.

Button shapebutton_shape

Square corners, rounded, or fully round ends.

Border radius (px)button_border_radius

Exactly how round a rounded button is.

Default sizebutton_size

The default padding and text size of a button.

Font weightbutton_font_weight

How heavy button text is.

Button shadowbutton_shadow

A soft shadow under every button.

Hover animationbutton_transition

What a button does under the pointer.

Layout#

Max page widthpage_width

The widest the content of a section gets on a large screen.

Side paddingcontent_padding_x

The space between content and the screen's edges.

Section gapsection_gap

Space added between every two sections.

Spacing scalespacing_scale

Multiplies every section's own spacing: below 1 tighter, above 1 roomier.

Card border radiusborder_radius

How round the corners of cards are.

Card shadowcard_shadow

How much shadow a card casts.

Image border radiusimage_border_radius

How round the corners of images are.

Animations#

Enable scroll animationsanimations_enabled

Sections ease in as they scroll into view. Visitors who ask their device for less motion never see it.

Animation styleanimation_style

How a section arrives: rising, fading, sliding or growing.

Duration (ms)animation_duration

How long the arrival takes.

Stagger delay (ms)animation_stagger

The delay between items arriving in a row, such as cards.

Announcement bar#

Show announcement barannouncement_bar_enabled

A thin bar across the top of every page.

Messageannouncement_bar_text

What the bar says.

Link textannouncement_bar_link_text

The words of the link at the end of the bar.

Link URLannouncement_bar_link_url

Where that link goes.

Backgroundannouncement_bar_bg

The bar's colour.

Text colorannouncement_bar_color

The colour of the bar's text.

Scrolling marqueeannouncement_bar_scrolling

The message moves across the bar instead of standing still.

Allow dismissannouncement_bar_dismissible

Visitors can close the bar with an X.

Twitter / X URLsocial_twitter

Your X profile, for the social icons.

Instagram URLsocial_instagram

Your Instagram profile.

YouTube URLsocial_youtube

Your YouTube channel.

TikTok URLsocial_tiktok

Your TikTok profile.

LinkedIn URLsocial_linkedin

Your LinkedIn page.

Discord URLsocial_discord

Your Discord server invite.

Facebook URLsocial_facebook

Your Facebook page.

Pinterest URLsocial_pinterest

Your Pinterest profile.

Twitch URLsocial_twitch

Your Twitch channel.

GitHub URLsocial_github

Your GitHub profile.

Show icons in headersocial_show_in_header

Shows an icon for each filled-in profile in the header.

Show icons in footersocial_show_in_footer

Shows them in the footer.

Shipping#

Free shipping threshold ($)free_shipping_threshold

The order total above which shipping is free. 0 turns it off.

Show free shipping progress barfree_shipping_bar

Shows the cart how far it is from free shipping.

SEO#

Default page titleseo_title

The title search results and browser tabs show when a page has none of its own.

Meta descriptionseo_description

The sentence search results show under the title.

Social share image (OG)seo_og_image

The picture a link to your site shows when it is shared.

Twitter card typeseo_twitter_card

A small or a large picture when a link is shared on X.

Allow search indexingseo_robots

Off asks search engines not to list the site.

Use my own words and colourscookie_banner_enabled

Every site asks visitors before storing anything optional, and a visitor can change their answer from Cookie preferences in the footer. On, the banner uses the words and colours below instead of Storelib's.

Banner textcookie_banner_text

What the banner says, in place of Storelib's sentence.

Accept button textcookie_accept_text

The words on the accept button.

Decline button textcookie_decline_text

The words on the decline button.

Banner backgroundcookie_bg

The banner's colour.

Text colorcookie_text_color

The banner's text colour.

The canvas#

The canvas is your page, drawn the way a visitor sees it.

With the inspector on, a section shows a faint ring under the pointer and a solid one when selected. Clicking selects a section, or a block inside it. Clicking into a form field lets you type in it rather than selecting the section. Hovering the gap between two sections shows Add a section here.

With the inspector off, the canvas is a plain preview: links inside the website open that page in the builder.

Either way, the builder never leaves itself:

  • A link to a page of the website opens that page in the builder. A link to a page that does not exist yet offers Create this page.
  • Links to other websites, email links and phone links do nothing.
  • Forms do not submit, and nothing can be bought. A sign-up box in the canvas does not subscribe anyone.

A section that fails to draw says so in its place, with the error and Try again. The rest of the page is unaffected.

Ask AI#

Ask AI has two modes.

  • Change this page: describe a change and it is made with the same sections, blocks and settings the panels use. It is one step of Undo, and nothing is saved until the builder saves. Select a section first and it can be limited to that one.
  • Code a section: describe a section the library does not have. It is written as a section file, compiled, and only kept if it compiles; a file that does not compile is sent back to be fixed, up to three times. While it is being written, the panel says what it is doing (Starting, Thinking, Writing the section, Checking it, Fixing a detail), the spot it will fill shows code being typed, and the finished section takes its place. If it still cannot get it right, it says so in plain words with Try again, never with the compiler's report.

Both modes answer rather than guess. A greeting, a question, or a request too unclear to act on gets a short reply saying what it understood and what to ask for, and nothing on the page changes.

You can attach up to four pictures (PNG, JPEG, WebP or GIF) of something you want built. Pressing Enter while it is working queues the next request.

The code editor#

Code, in the top bar, opens every file of the website's theme: the section files, the templates, the settings, the styles and the scripts. The list marks files you changed in blue and unsaved ones in amber.

  • Save (or ⌘S) compiles a section file first. If it does not compile, nothing is saved, and each error is listed with its line; press one to jump to it, or Solve with AI.
  • A save is a draft: the live website changes when you publish.
  • History lists every save of a file; open any of them to bring it back.
  • Revert puts a theme file back to how the theme shipped it. Your own files can be renamed, duplicated and deleted; the editor warns first if a page uses the section.
  • Unsaved edits are kept in the browser, and offered back when you return.

The language section files are written in is the Storelib Builder Framework.

Website settings#

Website Settings, in the top bar, is a page of its own, with nine subjects down the left. On a phone they are a list, and each opens with its own Back. The tabs above the live website's cover on the Website page (Pages, Domain, SEO, Publishing, Settings) open the matching one.

Every website has its own settings. Anything marked below as part of the draft is saved with the website's other changes, can be undone, and reaches visitors when you publish.

PageWhat is there
GeneralThe website's name, which only you see. Its address, set by your username. Whether it is live. Its favicon and its language (both part of the draft); the language sets the page's lang and the share card's locale.
DomainsThe Storelib address, and a custom domain if one is connected, with its status: waiting for DNS, securing, or connected. The www. address is the main one and the bare domain redirects to it. HTTPS is set up for both. Connect a domain opens Settings › Domains.
SEO & SocialA preview of the search result. Site title, meta description, social image, share card size, and whether search engines may list the website (all part of the draft).
Pages & NavigationEvery page with Edit, which opens it in the builder, and Add page. Edit menu selects the header, where the menu is.
CommerceHow many published products the website can show, and Manage products. Checkout is Storelib's, paid by card or Google Pay through Stripe, in US dollars. Payments settings is where payouts go. Free shipping from an amount, and the free shipping bar (part of the draft).
PoliciesThe refund, privacy and terms pages, each with Edit. The cookie banner, its message and its two buttons (part of the draft).
PublishingLive or draft, the published address, when it was last published, Publish, and Take offline, which asks first and deletes nothing.
Backups & VersionsA backup is kept every time you publish and every time Ask AI finishes. Back up now makes one; Restore puts one back (after saving the current draft as a backup first). The newest 30 are kept. Duplicate makes a draft copy, if the library has room.
AdvancedConnect Claude Code, Codex or ChatGPT: pick the tool and follow its steps. Claude Code and Codex connect directly with a token or through GitHub; ChatGPT connects through GitHub. Edit code, and the developer docs. See Building with AI agents.

A creator keeps up to three websites: one live and two drafts. Add theme, Duplicate and Import all refuse a fourth, on the server.

Saving and publishing#

  • Every change is saved as a draft a moment after you make it. There is no save button to remember while editing.
  • The live website does not change until you Publish. On a website that is live, the button in the top bar says Publish, with a bright dot when the draft is ahead of the live site.
  • The Publish panel shows the website's address, when it was last published, and Preview, which makes a private link that shows the draft to anyone you send it to.
  • Publishing makes every page's draft, the theme settings and the saved code files live at once, and keeps a backup.
  • A website that has never been published has a Save button instead, since there is nothing live to update yet.
Using the website builder | Storelib Developer Hub