# Choose your integration

> **Related:** [Project access](https://docs.atmyapp.com/account.md) · [Hand the website over to your client](https://docs.atmyapp.com/ai-assistant.md) · [Changelog](https://docs.atmyapp.com/changelog.md) · [Deploy your website](https://docs.atmyapp.com/deployment.md) · [Examples](https://docs.atmyapp.com/examples.md) · [Connect a JavaScript website](https://docs.atmyapp.com/quick-start.md) · [Troubleshooting](https://docs.atmyapp.com/troubleshooting.md)
> **Also:** [HTML version](https://docs.atmyapp.com/integrations) · [Docs index](https://docs.atmyapp.com/llms.txt)

---
| Package              | Purpose                                                      | Start here                          |
| -------------------- | ------------------------------------------------------------ | ----------------------------------- |
| `@atmyapp/core`      | Framework-independent runtime reads, forms, and diagnostics  | [JavaScript setup](/quick-start/)   |
| `@atmyapp/astro`     | Environment setup, shared clients, metadata, forms, previews | [Astro setup](/guides/astro/)       |
| `@atmyapp/structure` | Canonical content definitions and validation                 | [Schema design](/guides/structure/) |
| `@atmyapp/cli`       | Connect a project and upload schemas/content                 | [CLI workflow](/guides/cli/)        |

For React, Vue, Svelte, or a custom server, use Core in your framework's loader or browser data layer. Your framework owns routing, rendering, environment access, and caching. Core does not automatically add routes or read preview query parameters.

For Astro, use its integration and server helper to keep content, metadata, and forms in the same preview context. Production can remain entirely static.