ginta

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.