The tools
Sixteen tools; each description tells the assistant when to use it. Arguments are JSON. Every tool works only on the signed-in account's own sites.
Reading
get_guide — Ginta's building guide; call it first. topic narrows it: developers, modules, seo, design, blocks, editing.
{ "topic": "developers" }
list_sites — the account's sites, plan and limits (websites, domains, files per site, credits, page views).
{}
→ "you@example.com: Light plan, 2 of 3 websites (room for 1 more), 0 of 3 custom domains."
check_name — is <name>.ginta.page free?
{ "name": "Duonos Namai" } → { "name": "duonos-namai", "available": true }
get_site — a site's files (text contents; images and fonts listed), and with history its versions.
{ "site_id": "duonos-namai", "paths": ["index.html"], "history": true }
get_messages — messages visitors sent through the site's forms (personal data: owner only).
{ "site_id": "duonos-namai", "limit": 20 }
get_stats — visitors (views per day, top pages, referring sites) and phone speed/SEO scores with the issues to fix.
{ "site_id": "duonos-namai" }
→ "Visitors: 412 views in 30 days (18 today); top pages / (301), /menu (77); from google.com (96).
Phone scores: performance 99, accessibility 100, best practices 100, SEO 100. All on target."
preview_site — screenshots (desktop + phone) of a page, to review the design.
{ "site_id": "duonos-namai", "page": "menu" }
Writing
create_site — publish a new site. Send files, or no files to get an upload link for a build.
{ "name": "duonos-namai", "notify_email": "labas@duonosnamai.lt",
"files": [{ "path": "index.html", "content": "<!doctype html>…" }, { "path": "img/logo.png", "content_base64": "iVBORw0…" }] }
→ { "url": "https://duonos-namai.ginta.page/", "site_id": "duonos-namai", "version": 1, "warnings": [] }
update_site — small find/replace edits (preferred), whole files, deletions, the form email. One new version.
{ "site_id": "duonos-namai", "note": "New prices",
"edits": [{ "path": "index.html", "find": "Sourdough loaf €4.50", "replace": "Sourdough loaf €4.90" }] }
upload_files — many files, images, fonts, a whole build. files items take content, content_base64 or url;
no files → an upload link for a .zip. replace_all: true makes the upload the whole site.
{ "site_id": "my-app", "files": [{ "path": "fonts/inter.woff2", "url": "https://example.com/inter.woff2" }] }
restore_version — undo: restores an earlier version as a new one.
{ "site_id": "duonos-namai", "version": 3 }
attach_image — puts the owner's photo or logo into the account (/_g/u/….webp), for pages and module content.
{ "url": "https://example.com/our-shop.jpg", "filename": "shop.jpg" } → { "path": "/_g/u/k3j9x2m1p0q8r7s6.webp" }
manage_module — the ready-made parts (modules): module + action + data. Without module
it lists what the site's plan includes; action: "help" shows a module's actions and fields.
{ "site_id": "duonos-namai", "module": "menu", "action": "setup",
"data": { "currency": "EUR", "sections": [{ "name": "Bread", "items": [{ "name": "Sourdough loaf", "price": 4.9 }] }] } }
manage_secrets — API keys, write-only: set, list (names only), delete. Secrets
{ "site_id": "my-app", "action": "set", "name": "WEATHER_API_KEY", "value": "…" }
manage_connections — let the site's JavaScript call an API with a secret: save, list, delete.
{ "site_id": "my-app", "action": "save", "name": "weather", "base_url": "https://api.openweathermap.org/data/2.5",
"secret": "WEATHER_API_KEY", "auth": "query", "auth_name": "appid", "methods": ["GET"] }
connect_domain — connect the owner's domain (exact DNS steps for their provider), or without domain check it.
{ "site_id": "duonos-namai", "domain": "duonosnamai.lt" }
Errors come back as readable tool errors ("The site has a form but no notify_email…", "Your Free plan includes 1 website…"), so the assistant can fix and retry.