NewEdit your site from ChatGPT or Claude. Same rules as the built-in assistant.See how

← All guides

Guide: AI-built

Hand over an AI-built website your client can edit.

Cursor, Claude Code and Replit made the build fast. They did not make the handover easy: your client has no IDE, no terminal and no reason to learn one. Here is how to give them the everyday edits and keep the code with you.

Updated November 3, 2026for agencies and freelancers

A finished client site after the client changed the headline and Saturday hours themselves

The short answer

AI-built handover in short.

Push the project to a GitHub repository, host it somewhere that deploys on every push, and write down who owns the repository, the hosting and the domain.

Do not hand the client your coding tool: an AI agent with full repository access can change anything, not just words.

Connect the repository to CMS Chat instead: the client asks for the change, it becomes a commit inside the safe parts only, and bigger asks come back to you.

The handover problem

What actually breaks when you hand over an AI-built site.

01

Your tools are not their tools

Cursor and Claude Code live in an editor or a terminal; Replit is a full coding workspace. A client who wants new opening hours should not need any of them.

02

An agent can touch everything

A coding agent edits whatever it is asked to. Without zones, “make the header nicer” can turn into a refactor. Clients need a tool that knows what is locked.

03

The code may not be on GitHub yet

Local projects and Replit workspaces often have no remote repository, or one on a personal account. Fix that first; everything else depends on it.

04

Who pays and who owns

Your AI tool subscriptions, the hosting, the domain and the client's editing are separate. Agree who holds each before handover.

Before you hand over

The checklist. Ten minutes now saves the support mail.

  • The project is in a GitHub repository with the latest code pushed
  • The site deploys from main on every push (Vercel, Netlify, Cloudflare Pages or similar)
  • Secrets are in the host's environment settings, not committed to the repository
  • The build passes from a clean clone
  • Texts that change often are plain text in components, Markdown or JSON
  • Ownership of the repository, hosting and domain is written down

Step by step

From AI-built project to a client who edits.

The connect part takes about 2 minutes once the code is on GitHub. Inviting the client and the first change take another ten.

  1. 01

    Push the project to GitHub

    If the project is not on GitHub yet, create a new repository and push it (git push). In Replit, connect the workspace to GitHub from its Git pane and push. Then connect your host to the repository so main deploys on push.

  2. 02

    Install the CMS Chat GitHub App on that one repository

    In CMS Chat, open Add a site and pick “Cursor or Claude Code”: you see only the steps for that tool. Then install the GitHub App on the site's repository only. It can read that repository, write to it and open pull requests on it. Nothing else in the account.

    Add a site in CMS Chat: pick where the site was built, then follow that tool's steps
  3. 03

    Pick the repository and check what is editable

    CMS Chat scans the repository, detects how the site is built and suggests what the client may edit: texts, prices, photos, opening hours. Page titles and headings ask before they change. Layout and code stay locked.

    The site workbench: the live page on the left, the chat with saved changes on the right
  4. 04

    Invite your client

    Add the client under Clients and Sites, assign the site and send the invite link. Your client gets a login that shows their site and nothing else: no agency dashboard, no other clients, no settings to break.

    The agency's site list, grouped by client, with framework and repository
  5. 05

    Make the first change together

    Ask for one small change while your client watches, for example “Saturday we are open 9 to 14”. They see before and after, the change is committed to the repository, and riskier edits wait for an OK.

    A change in the chat: Saturday hours and the home headline, with before and after

How a change goes live on an AI-built site

CMS Chat commits to the default branch and your host deploys it like your own commits; with deploy-on-push set up, the change list shows the deploy status. Riskier edits arrive as a pull request for review instead.

Small fix or agency job

Where the line sits after the handover.

The client handles the small edits on their own plan. Everything that changes how the site works or looks stays with you, as a request you can quote.

Your client, alone, in a sentence

  • Headlines, paragraphs and button texts
  • Prices, packages and offers
  • Photos and team members
  • Opening hours and contact details
  • FAQ answers and banners

Your agency, quoted and built

  • New pages and features
  • Layout and design changes
  • Forms, auth, payments, integrations
  • Refactors and dependency updates
  • Anything in config, scripts or the build

What your client sees

One box to ask. One list to undo.

Your client opens their home, types the change, and sees it in their list of recent changes with an undo. Bigger asks go to you from the same screen.

  • Their own login, their site only
  • Every change in their history, with an undo
  • “Ask your agency for something bigger” on the same page
The client's home: a box to ask for a change, recent changes with undo, and requests to the agency
The agency's client requests: a new landing page and an online booking page, with a quote

What you see

Bigger asks arrive as requests. Ready to quote.

When your client asks for a new page or a booking form, the request lands with you, in their words. You reply with a quote and update the status.

AI-built specifics

What goes wrong and how to avoid it.

01

Keep pulling before you prompt

Your client's edits land on main. Pull before you start a Cursor or Claude Code session, or your agent works on stale text and the merge fights you.

02

Agent rules files

Files like CLAUDE.md, .cursor rules or AGENTS.md are for your tools. They stay locked; the client never needs them.

03

Replit hosting

If the site runs on a Replit deployment, changes on GitHub reach it only after you pull them into Replit and redeploy. A host that builds from GitHub on push avoids that step.

04

Scattered strings

Generated code often repeats the same phone number in several components. Put repeated details in one data file before handover so one change updates everywhere.

05

Secrets in the repository

Check the history for committed API keys before you install any GitHub App. Rotate anything that was ever committed.

06

Your client's own AI

Clients who already pay for ChatGPT or Claude can edit through the CMS Chat MCP server too, under the same rules. Not metered by CMS Chat.

By tool

Same handover. Different first step.

Cursor

The project is usually a local Git repository already. Add a GitHub remote, push main, and connect your host. Keep Cursor for the real work; the client never opens it.

Claude Code

Same as Cursor: push the repository to GitHub, deploy from main, and pull before each session so your agent sees the client's latest edits.

Replit

Connect the workspace to GitHub from the Git pane and push. Prefer a host that deploys from the repository on push, so the client's changes go out without anyone opening Replit.

Codex, Windsurf and others

Any tool that leaves you with a GitHub repository works the same way. In CMS Chat, pick “Cursor or Claude Code” or “Other code on GitHub” when you add the site.

Who pays for what

Clear money, no awkward invoices.

Your client’s editing

Your client picks a plan from the public price list and pays CMS Chat directly, from EUR 29 / month incl. VAT. Same price with or without an agency.

The AI

Your own ChatGPT or Claude: not metered by us. Built-in assistant: a monthly allowance that resets each month.

Your bigger work

New pages, features and redesigns stay between you and your client, quoted and invoiced by you as before.

Questions

AI-built handover, asked before

Anything missing: write to hello@cmschat.ai and a person replies.

How do I hand over a website I built with Cursor or Claude Code?
Push the project to GitHub, deploy main on every push, write down who owns the repository, hosting and domain, then connect the repository to CMS Chat and invite the client. They edit texts, prices and photos by asking; the code stays locked.
Can my client use Cursor or Claude Code to edit the site themselves?
They can, but a coding agent with full repository access can change anything. CMS Chat gives the client the same plain-words editing inside safe zones, with an undo for every change.
Does this work with Replit?
Yes, once the Replit workspace is connected to a GitHub repository. Deploying that repository from a host that builds on push keeps the client's changes flowing without Replit in the loop.
What if the project is not on GitHub at all?
Create a free GitHub account and a new repository and push the code, or upload the files. If you get stuck, write to hello@cmschat.ai.
Who pays for the client's editing?
Your client picks a CMS Chat plan from the public price list and pays CMS Chat directly. Your AI tool subscriptions, hosting and bigger work stay separate.
Is CMS Chat affiliated with Cursor, Anthropic or Replit?
No. CMS Chat is independent; the tools are named here only to describe which sites this guide covers.

Hand it over. Keep the big work.

Connect the repository, invite your client, make the first change together.

month to monthundo any changecode stays in your GitHub

Prefer to see it first? Ask for a walkthrough