# Customize Stella With AI

## Customize Stella With AI

**Skill level:** Beginner · **Works with:** Claude, Cursor, GitHub Copilot, Gemini, Windsurf, Codex, ChatGPT, and any other assistant

Stella is built so that an AI assistant can change it safely. Three things make that work:

1. **Content is separate from code.** Almost every change is an edit to a Markdown, TOML, or JSON file: your site details in `src/config/config.toml`, plans in `src/content/sections/<language>/pricing-section.md`, integrations in `src/content/integration/`, open roles in `src/content/career/`. AI tools do this kind of task well.
2. **Content files explain themselves.** Section files list their options and allowed values in comments next to each key, so the assistant can see what is possible without guessing.
3. **The theme ships instruction files for AI tools.** They describe the folder structure and the rules for changing it. Most AI coding tools load them when you open the project folder.

### The AI Instruction Files In Stella
Stella ships four instruction files at the top of the theme folder and three in hidden folders. Folders that start with a dot (`.github/`, `.cursor/`, `.windsurf/`) are hidden by default in Finder and File Explorer; your code editor shows them. You don't need to edit any of these files. They are there for your assistant. Each edition ships its own copy, written for that edition.

| File                                    | Read by                                                                                                | What it contains                                                                                                                                 |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `AGENTS.md`                             | OpenAI Codex, Cursor, Windsurf, GitHub Copilot, and other tools that follow the `AGENTS.md` convention | The full rules: project map, content model, sections and page overrides, menus, styling, RTL, languages, motion, forms, editions, and the limits of the checks |
| `SKILLS.md`                             | Any assistant you point to it                                                                          | Step-by-step recipes: add a section or page, change the homepage, edit menus, add or remove a language, make something work right to left, rebrand, add an icon, verify |
| `CLAUDE.md`                             | Claude Code                                                                                            | Imports `AGENTS.md` (the `@AGENTS.md` line), then a short list of the most important rules                                                       |
| `GEMINI.md`                             | Gemini CLI                                                                                             | The same as `CLAUDE.md`, for Gemini                                                                                                              |
| `.github/copilot-instructions.md`       | GitHub Copilot (coding agent, VS Code, CLI)                                                            | A short summary that points to `AGENTS.md` and `SKILLS.md`                                                                                       |
| `.cursor/rules/theme-architecture.mdc`  | Cursor (always on)                                                                                     | The architecture rules, with a pointer to `AGENTS.md`                                                                                            |
| `.windsurf/rules/theme-architecture.md` | Windsurf (always on)                                                                                   | The same rules for Windsurf                                                                                                                      |

The `.vscode/` folder holds editor settings and recommended extensions, not AI rules.

Chat assistants in a browser (ChatGPT, Claude, Gemini) can't read your folder. You paste `AGENTS.md` into the conversation yourself: see [AI Workflow](/stella/ai-customization/ai-workflow/).

These files tell an assistant to:

- keep editable text, links, images, buttons, and options in `src/content/`, not in components
- make every change in every language: each language folder under `src/content/`, `src/i18n/<language>.json`, and `src/config/menu.<language>.json`
- change a section on one page through the `content` prop the route passes, not by editing the component
- reuse Stella's `CustomButton.astro`, `Icons.astro`, and `OptimizedImage.astro` and the color tokens in `src/styles/theme.css`
- use logical CSS classes (`ms`, `pe`, `start`, `text-start`) so every page still works right to left in Arabic
- read languages through `src/config/language.json`, never from a hard-coded language code
- never invent testimonials, customer names, prices, usage numbers, or certifications
- check changed pages at about 375 px and 1280 px wide, and at `/ar/`
- run `npm run astro-check` when they finish

### Two Ways To Work With AI
<CardGrid>
  <Card title="AI that can open your files" icon="laptop">
    Cursor, Windsurf, Claude Code, GitHub Copilot in VS Code, Gemini CLI, Codex.
    Open the Stella project folder in the tool and describe the change. It reads
    the instruction files, edits the files, and can run the checks.
    **This is the best way to work.**
  </Card>
  <Card title="Chat assistants" icon="comment">
    ChatGPT, Claude, or Gemini in the browser. They can't see your project, so
    you paste `AGENTS.md` and the file you want changed, and copy the answer
    back. Fine for rewriting text, one file at a time.
  </Card>
</CardGrid>

### What AI Is Great At In Stella
- Rewriting the sample copy for your product, in every language
- Setting your plans, prices, and the comparison table
- Filling collections: integrations, blog posts, open roles, changelog entries, legal pages
- Writing the FAQ and the testimonials list
- Reordering the homepage and picking section options
- Changing menus, including the mega menu and the two footer columns
- Translating the site, adding a language, or turning one off
- Explaining an error message and fixing it

### What To Check Yourself
- **Prices and plan features.** Every number in `src/content/sections/<language>/pricing-section.md` and the comparison table is a sample. An assistant can't know your plans: give them to it, and read the result back.
- **Facts.** AI writes convincing copy, and it can invent testimonials, customer names, user counts, uptime figures, funding, and compliance claims you never gave it. Check every quote, number, and promise before you publish.
- **Integrations.** Only list integrations you actually have, and use each company's own name and logo correctly.
- **Longer names and labels.** A product name, button label, or menu item longer than the sample can wrap or crowd the layout. Check the header, the mega menu, and the hero at about 375 px.
- **Arabic and French.** Both are machine translated in the sample content. Open `/ar/` after any layout change and have the text reviewed by a native speaker.
- **The result in the browser.** `npm run astro-check` validates only `pages`, `blog`, `integration`, and `changelog`. A wrong option in a `homepage`, `author`, `career`, `testimonial`, `pricing`, `faq`, `contact`, or `sections` file passes the check, a block in frontmatter that no page passes to a section is ignored without an error, and `src/sections.schema.ts` types the components without checking content files.
- **Forms.** Send one contact message and one newsletter signup on the live site, and check that they arrive.

<Aside type="tip" title="Five rules for good results">
  1. One task per request. "Change the hero" works better than "redo the site".
  2. Name the file when you know it. Every page in these docs tells you which one.
  3. Say what must stay the same: "keep every key and option, only change the text".
  4. Ask for every language, or say which languages you use.
  5. Save a checkpoint first (a git commit or a copy of the folder), so any change can be undone.
</Aside>

Ready? Go to the [Prompt Library](/stella/ai-customization/prompt-library/) for copy-paste prompts.