Access: Must be enabled for your organization. Contact your Gradial team to get access.
Prerequisites
- Node.js 22 or later
- npm 10 or later
- A terminal and code editor
1. Create the starter
Run the ACI initializer with the Astro starter and sample content:2. Start the site
.content/ for changes, and refreshes the browser as you work.
3. Tour the project
The starter keeps authored content, compile-time contracts, and runtime components in clear locations:- A page document names a component and supplies its props.
- A component contract validates those props.
- The registry maps the contract to the Astro component that renders it.
4. Make your first content change
Open.content/pages/home/_index.json and find the block whose id is hero. Change its headline while leaving the component ID and the other props in place:
id matters. ACI uses it to address that block across edits and personalized experiences. Keep an existing ID when you are updating the same block; use a new, unique ID when you add a different block.
5. Run the checks
Before you commit, compile the content and run the starter’s verification commands:npm run dev already compiles and watches content for local development. Run npm run content:compile when you want a one-time compile, such as in CI or before a separate framework command.How page files map to routes
Pages live under.content/pages/:
A page document identifies its layout and fills the layout’s named regions:
component value must match a registered contract ID. Its props must satisfy that contract’s Zod schema.
Common issues
The CLI is not available
Install the starter dependencies first:A content change does not appear
Check that:- the JSON file was saved;
- the terminal running
npm run devhas no compile error; - the page file is under
.content/pages/; and - the block’s
componentvalue matches a contract exported by the component contract registry.
npm run dev, then run npm run content:compile to see the validation output directly.
Content compilation fails
Read the first reported file path and field error. Common causes are invalid JSON, a missing required prop, an unknown component ID, or a region that is not declared by the selected layout.Next steps
Frontend contract
Learn how configuration, contracts, runtime components, and the registry fit together.
Framework guides
Compare the Astro and Next.js integrations.
CLI reference
Work with local content, branches, promotion, and releases.
Agent-ready projects
See how repository guidance helps people and coding agents follow the same workflow.
Next: Frontend contract →