BetaMaShop is in public beta. We improve it continuously, and your feedback shapes what comes next.

Connect GitHub

ConnectEnglish· 3 min read· Updated September 01, 2026

What the GitHub connection creates on your account, where to authorize it before or after your first project, and what breaks the day the token goes away.

Connect

GitHub hosts code in Git repositories. Connecting it lets MaShop create the repository of your project on your own account and push the generated code there.

What MaShop can do with GitHub

One thing today, and it is the one that matters. When you publish, MaShop creates a private repository named mashop- followed by your project identifier. It pushes the whole project into it as a single commit. Every later generation commits to that same repository. Restoring an earlier version writes a new commit rather than erasing history, so a restore can itself be undone.

The connector catalogue also declares four tools for your agents: repo.read, repo.write, pr.create and commit.push. None of the four has an executor yet. An agent that calls one is refused, and nothing is attempted. The permissions below are a setting for later, not a live power.

What it touches

  • One private repository on your account, holding your public site and your back office together.
  • Its commit history, which MaShop adds to and never rewrites.
  • Nothing else on your GitHub account.

Default permissions

ToolLevelDefault state
repo.readRead onlyAllow
repo.writeWrite and editAsk
pr.createWrite and editAsk
commit.pushCritical actionAsk

Before your first project

The setup wizard asks for GitHub at step one, before any project exists. That is the earliest place to authorize it, and it is the same authorization as the one below.

The token is stored on your account, not on a project. Connect once, and every project you own is covered.

Connect it

  1. Open your project in the workspace.
  2. Click the gear in the top bar, Project settings. The keyboard shortcut is Ctrl and comma, or Cmd and comma.
  3. Open the Deployment tab.
  4. On the GitHub card, click Connect.
  5. GitHub opens in full page and asks for the repo and user email scopes. Approve.

You land back in the project. The GitHub Sync popover in the top bar offers the same button while the account is missing.

Check that it works

  • The GitHub card in the Deployment tab shows your repository name.
  • The GitHub Sync popover reads GitHub connected, with an arrow that opens the repository.
  • While the account is missing, the Publish button refuses with: GitHub is not connected. Connect it to publish.

Limits

  • One repository per project, private, named after the project identifier.
  • A repository of that name already on your account is reused rather than treated as a failure.
  • Saving a file in the workspace editor saves in MaShop, not on GitHub. The push happens when you publish.
  • Versions come only from a generation that succeeds. An edit made by hand creates none.
  • Duplicating a project copies the files but leaves the copy without a repository.
  • The four catalogue tools are not executable.

When it breaks

  • Publishing refuses. The account is not connected, or the stored token was removed. Reconnect from the Deployment tab.
  • The repository name is already taken. MaShop reuses that repository. Change the project identifier first if you wanted a separate one.
  • Your code is not on GitHub yet. A project that was never published has no repository. Publish once to create it.

Deleting the project deletes its repository

Deleting a project destroys the GitHub repository along with the MaShop record. The confirmation asks you to retype the project name. Nothing brings the repository back.

Remove the connection

Project settings, Deployment tab, GitHub card, Disconnect. A confirmation asks Disconnect this service, and tells you that you can reconnect at any time.

MaShop deletes the token it stored. Your repository and its code stay on your account, untouched. The authorization remains listed in your GitHub settings until you revoke it there. Publishing and updating stop working until you reconnect.

See also

connectgithubrepositorypublishingdeploymentcode ownershipoauthpermissions
Was this page helpful?
Your feedback is anonymous.