Primary button — three sizes
The anodized button at 32 / 40 / 44px. Size is layout only — the material is the same.
- skeu-btn
- skeu-btn-primary
- #btn-sizes
112 components built from the very classes that run gini.iq — buttons, forms, tables, commerce cards and dashboards. Pick one to see it working, take its code as HTML or React, and it runs as-is on any page with three lines.
<link rel="stylesheet" href="https://gini.iq/brand.css">
<link rel="stylesheet" href="https://gini.iq/skeu.css">
<link rel="stylesheet" href="https://gini.iq/gini-ui.css">On Tailwind v4? Import brand.tailwind.css instead of gini-ui.css.
The commerce platform's APIs, an MCP server for AI assistants, the drop-in brand files, and the materials and tokens the components are built from.
Two fully documented APIs: the Merchant API for a merchant to run their store from their own systems, and the Application API for a partner to list Gini merchants and products and send customers to checkout. Every request is signed with HMAC-SHA256, and the docs cover every endpoint with parameters and examples.
Run your store from your own systems: products, variants and discounts; orders and abandoned carts; settlements and transactions; branches and opening hours; exports and webhooks; and the wholesale market.
Show Gini merchants, their products and reels inside your app, send the customer to checkout with a single link, and follow the orders your app created, with webhook notifications.
Every request is signed with HMAC-SHA256 over the path and timestamp, sent as X-API-KEY, X-TIMESTAMP and X-SIGNATURE — no sessions, no cookies.
No keys, no sign-up: add gini.iq/mcp to your client and the assistant reads colours, logos, components and voice straight from the source — 17 tools, 6 resources and 3 ready prompts.
https://gini.iq/mcpStreamable HTTP, stateless, open CORS — paste it into any MCP-capable client, or pick your client for the ready command.
npx @modelcontextprotocol/inspector --transport http --server-url https://gini.iq/mcpMCP Inspector is a local tool: run this in your terminal and the inspector opens in your browser, connected to the server.
get_brand_overviewName, positioning, facts and every canonical endpointget_paletteColours in HEX/RGB/HSL/CMYK/Pantone with their rolescheck_contrastWCAG contrast ratio and rating for any two coloursget_typographyTypeface, weights and the type scaleget_logosThe right logo files for any surface, with rules and measurementsget_product_marksProduct marks and lock-up rules with the GINI markget_design_systemMaterials, lighting, elevation, radii, motion and tokenslist_componentsSearchable index of the copy-ready componentsget_componentThe full HTML of one componentget_layout_systemSpacing scale, grid and breakpointsget_iconographyIcon library and its rulesget_imagery_guidelinesPhotography and illustration principlesget_mascotsOfficial mascot poses with direct URLsget_voiceVoice traits and writing examplesget_press_kitBoilerplate, facts, trademark and FAQget_brand_promptThe complete system prompt for modelsget_stylesheetbrand.css, Tailwind, skeu.css or W3C tokensgini://brand/manifestThe full brand manifest (JSON)gini://brand/guideThe brand book (Markdown)gini://brand/promptThe system promptgini://brand/cssCSS variablesgini://component/{id}One component with its codegini://logo/{id}One logo file (SVG)gini_brand_systemLoad the whole GINI identity into the conversationdesign_gini_screenDesign a screen or page with GINI componentswrite_gini_copyWrite copy in the GINI voiceThis is the brand server, read-only and keyless. Commerce data lives on the commerce MCP server.
shadcn-compatible CSS variables, a Tailwind v4 block, W3C-format tokens and ready system instructions for Claude, Cursor and coding agents. Every file is a stable URL, read directly and updated without you touching your project.
/* globals.css */
@import url("https://gini.iq/brand.css");
/* That's it — every --gini-* token + shadcn alias is now available. */
.btn-primary {
background: var(--gini-orange);
color: var(--gini-cream);
}Every skeu-* class is a physical material with a fixed recipe of light, shadow and edge. Know what you are putting on screen before you copy it, and use the same tokens in your own CSS when you need something the library does not have.
Page base, recessed trays and wells, input fields
Cards, panels, the navigation rail, dialogs, secondary buttons
The primary button, icon tiles, the active tab, solid badges, the ON switch
The footer, code windows, dark CTA blocks and the controls on them
A JSON manifest with a formal schema, a Markdown book, the logo files, the mascot pack and llms.txt — for any browser, agent or build pipeline. No HTML to parse and no session to hold.
/mcp/en/brand.json/en/brand.md/schemas/brand-manifest.json/en/brand#logo/en/brand#mascot/llms.txtShort answers on authentication, frameworks, direction, versions and licensing. Not here? Email info@gini.iq.
The same Application API, reached from Claude or any MCP client: connect once with your app's credentials and the server signs every call for you. What the API covers and where the keys come from is in the Gini API section above.
https://merchant.gini.iq/mcp/applicationsclaude mcp add --transport http gini-applications https://merchant.gini.iq/mcp/applications \
--header "X-App-Id: <your app_id>" \
--header "X-App-Secret: <your app_secret>"{
"mcpServers": {
"gini-applications": {
"type": "http",
"url": "https://merchant.gini.iq/mcp/applications",
"headers": {
"X-App-Id": "<your app_id>",
"X-App-Secret": "<your app_secret>"
}
}
}
}Send your technical question or partner-access request to info@gini.iq and we reply within one business day. For everything about identity — logo, colours, typography, voice — there is the brand guide.