Open with AI
Examples
Use these examples as starting points for real projects.
Start with the complete JavaScript integration or Astro setup. These schemas illustrate alternative content models; migrate them and create real content before reading it.
Minimal site settings
Section titled “Minimal site settings”import { defineDocument, defineSchema, s } from "@atmyapp/structure";
export default defineSchema({ definitions: { settings: defineDocument({ fields: { siteTitle: s.string({ default: "My Website" }), supportEmail: s.string({ format: "email" }), }, }), },});Blog collection
Section titled “Blog collection”import { defineCollection, defineDocument, defineSchema, s,} from "@atmyapp/structure";
export default defineSchema({ definitions: { authors: defineCollection({ fields: { name: s.string(), avatar: s.image({ optional: true }), }, }), posts: defineCollection({ fields: { title: s.string({ min: 3 }), slug: s.slug({ source: "title" }), excerpt: s.string({ format: "long", default: "" }), cover: s.image({ optional: true }), publishedAt: s.date({ optional: true }), }, }), home: defineDocument({ fields: { headline: s.string(), intro: s.string({ format: "long" }), }, }), },});CLI workflow
Section titled “CLI workflow”atmyapp use --token cli_... --url https://edge.atmyapp.com/projects/your-project-idatmyapp init --template blogatmyapp migrate --dry-run --verboseatmyapp migrate