# Point it at a repository. That is the setup.

> No rebuild, no plugin, no config file and no schema to write. CMS Brew reads your repository and turns every page, post and language into a list of things a client can edit.

## Why setup is this short.

- **No schema file:** You do not describe your content model. It is read from the code you already wrote.
- **Re-read on every push:** Refactor freely. Rename a component and the map rebuilds itself the next time you push.
- **Nothing added to your site:** No plugin, no runtime script, no build step and no new dependency in your project.
- **GitHub and GitLab:** Both are full publish and revert paths, not read-only imports.

## From repository to editable site.

1. **Pick the account** Choose the GitHub or GitLab account or organisation that holds the site.
2. **Pick the repository** Choose the repository and the branch your site deploys from.
3. **Mapping runs** Every page, blog post and language becomes an entry in an editable list, on its own.
4. **Invite the client** They open the editor and start typing. Nothing in your repository changed to get here.

## Use cases

- **A site you shipped two years ago:** There is no migration to plan. The repository is already the content source.
  > An Astro marketing site connects and maps without a single file being changed in the repository.
- **A site you are still building:** Connect it early, keep the guards tight while you work, and open them up at handoff.
- **A portfolio of client sites:** One workspace holds them all, and each client sees only the ones you grant.
- **A repository you inherited:** You do not need to understand every component in it to hand the content over.

## FAQ

### Which frameworks are supported?

Astro, Next.js, Vue, SvelteKit, Nuxt, Remix, Gatsby, Hugo, plus plain HTML. Publishing works with any host that rebuilds your site from Git.

### Do I have to change my repository?

No. Nothing is added: no config file, no plugin, no dependency and no build step. That is what makes connecting an old site as cheap as connecting a new one.

### What happens to the mapping when I refactor?

It gets rebuilt. The editable fields are re-read from your repository on every push, so renaming a component simply produces a new map. If a refactor moves text a client is halfway through editing, the edit follows it. If you delete that text, the edit is refused rather than landing in the wrong place.

### Can I connect a private repository?

Yes. Access comes through a GitHub App installation or a GitLab connection that you control, and you can remove it at any time. Removing an account also cleans up the webhooks it created.

---

- [All features](https://cmsbrew.com/features)
- [Publish and revert](https://cmsbrew.com/features/publish-and-revert)
- [Clients and access](https://cmsbrew.com/features/client-access)
- [Multilingual](https://cmsbrew.com/features/multilingual)
