.aci.yaml, component and layout contracts, and a renderer entrypoint, so the concepts you learn for one carry over to the rest. The contract is shared; each framework simply decides how to render the validated page payload. This page walks through setting up each one, from installing the SDK to wiring your first component.
Shared Setup
Install the SDK and TypeScript tooling:Contract File Rules
Keep contract files separate from runtime components:@gradial/aci and zod. They should not import framework components, CSS, browser APIs, or runtime rendering code.
Astro
Astro is ACI’s recommended starting point. Its island architecture and static-first approach align naturally with ACI’s pre-compile model, so it’s the fastest way to get a feel for how content and code come together.Config
Component Contract
Layout Contract
Renderer Entry
Local Scripts
Next.js
Next.js plugs into the same contract, centered on the App Router and SSR path. If you already run Next.js, ACI slots in alongside it.Config
CMS Catch-All Route
Create a catch-all App Router page and force dynamic SSR:Middleware
Release Asset Route
aci doctor to verify the catch-all route, dynamic SSR settings, package dependency, and asset route.
SvelteKit
SvelteKit uses the same.aci.yaml contract and a renderer function that returns HTML.
Config
Renderer Function
Local Content Structure
Content lives in.content/ as JSON files:
Validation Loop
Run this before committing starter changes:Next: CLI Reference →