Hello World — Your first article
Welcome to your new site. This article shows how the Markdown content system with YAML frontmatter works, and how AI can create content for you.
Welcome to your new site powered by the AI-first CMS. This article shows you how everything works.
How it works
This site's content lives in Markdown (.md) files in the content/ folder. Each file has a YAML frontmatter containing metadata: title, publication date, SEO, cover image, etc.
---
type: blog
title: "My article"
publishedAt: '2026-05-13T10:00:00.000Z'
seo:
title: "My article — SEO title"
description: "Description for Google and social networks."
---
At build time, Astro reads these files, transforms the Markdown into HTML via a unified pipeline (remark + rehype), and generates ultra-fast static pages.
Content structure
content/
en/
articles/
hello-world.md ← this article
tools/
vercel.md ← nested routes
Files in content/en/articles/ automatically become routes. The file path determines the URL:
| File | URL |
|---|---|
hello-world.md |
/en/hello-world/ |
tools/vercel.md |
/en/tools/vercel/ |
Editing with AI
This is where the template gets interesting. The CLAUDE.md file at the project root contains instructions for AI agents:
- Create an article: the AI creates a
.mdfile with proper frontmatter - Edit content: the AI directly modifies the Markdown
- SEO: the AI optimizes titles, descriptions, and structure
- Batch: the AI can create multiple articles at once
No admin interface needed. No forms. The AI writes directly to files, just like a developer would.
Next steps
- Edit
astro-frontend/src/lib/site.jswith your site name - Replace this article's content with your own
- Add your own articles in
content/en/articles/ - Configure deployment (see the README)
- Let the AI do the rest
Questions frequentes
How do I add a new article?
Create a .md file in content/en/articles/ with the required frontmatter (type, title, publishedAt, seo). The article will be available after a rebuild.
Can I use HTML in Markdown?
Yes, add unsafeHtml: true in the frontmatter to enable raw HTML in the Markdown content. By default, HTML is sanitized for security.