Introduction
Build modern web applications with Arky's headless CMS, e-commerce, and scheduled service platform
Arky is a developer-first platform for building modern web applications. Power storefronts, service scheduling, and content sites with one unified TypeScript SDK.
For storefronts, the recommended integration is createArkyStore from arky-sdk/storefront-store. It gives you one reactive store for CMS, e-shop, scheduled services, profile context, activity tracking, and utilities.
What You Can Build
E-commerce Storefronts
Fetch products, hydrate the backend cart, quote totals, and create orders from the cart.
import { createArkyStore } from 'arky-sdk/storefront-store';
const arkyStore = createArkyStore({ baseUrl, storeId, market: 'us', locale: 'en' });
await arkyStore.setup({ hydrateCart: true });
const { items: products } = await arkyStore.eshop.product.list({ limit: 20 });
await arkyStore.eshop.cart.addProduct(products[0], products[0].variants[0], 1);
const quote = await arkyStore.eshop.cart.quote();
const order = await arkyStore.eshop.cart.checkout({ payment_method_id: 'cash' });
Scheduled Services
List services, show availability, and add scheduled service lines to the same cart.
const { items: services } = await arkyStore.eshop.service.list({});
await arkyStore.eshop.service.initialize();
await arkyStore.eshop.service.select(services[0]);
await arkyStore.eshop.service.findFirstAvailable();
const state = arkyStore.eshop.service.state.get();
await arkyStore.eshop.service.selectTimeSlot(state.slots[0]);
await arkyStore.eshop.service.addToCart();
Content-Driven Websites
Pull CMS content for pages, blogs, forms, and multilingual sites.
const website = await arkyStore.cms.node.get({ key: "website", locale: 'en' });
const titleBlock = website.blocks.find((block) => block.key === 'title');
const title = arkyStore.utils.getBlockTextValue(titleBlock, 'en');
Features Built-In
- Profile sessions - Anonymous and authenticated storefront profiles
- Server carts - Product lines, service lines, promo codes, forms, quote, and checkout
- Payments - Stripe integration with multi-currency support
- Multi-market - Different pricing, taxes, payment methods, and locale mapping
- CMS - Nodes, blocks, forms, taxonomies, and media helpers
- Activity tracking - Page views, cart events, checkout events, and purchases
Use the storefront store for normal websites. The lower-level SDK client remains available as arkyStore.client for integrations that need direct endpoint access.
Quick Navigation
Getting Started
- Quick Start - Storefront store setup and first calls
- Installation - Package installation and framework notes
- Authentication - Auth patterns
API Reference
- User API - Authentication and user management
- E-shop API - Products, services, providers, carts, orders
- CMS API - Content nodes and blocks
Guides
- E-commerce Store - Build a cart-first storefront
- Scheduled Services - Create a service scheduling flow
- Content Website - Build with CMS content
Supported Frameworks
Arky is fully headless and works with any JavaScript or TypeScript framework:
- Astro and Svelte
- React and Next.js
- Vue and Nuxt
- Plain TypeScript
- Node.js and server routes