Skip to content

Save your project to GitHub

In shortConnect GitHub in one click with MonstarX's GitHub App (no token needed — you pick the repositories), then press GitHub in a project's top bar to create a new repository or link an existing one. MonstarX pushes the whole project, then commits every change it makes — and pulls in what you commit on GitHub. Imported apps sync to a monstarx branch, so your own branch never moves.

GitHub is where developers keep code, with a history of every change. Link a MonstarX project to a GitHub repository (a project’s folder on GitHub) and the two stay in step, both ways: what MonstarX builds is pushed there as commits, and what you or a developer commit there comes back into MonstarX.

It is useful when a developer wants to work on the code in their own editor, when your company keeps all code on GitHub, or when you deploy from GitHub — Railway does, for example.

You connect GitHub once for your whole MonstarX account, from SettingsIntegrations or from the GitHub button in any project. The easiest way is MonstarX’s GitHub App: there is no token to make or paste, and you decide exactly which repositories MonstarX can touch.

  1. Click Connect personal GitHub account.

  2. GitHub opens and asks where to install the app. Choose your personal account (not an organization).

  3. Choose which repositories MonstarX may use: All repositories, or Only select repositories and tick the ones you want. You can change this later on GitHub.

  4. Click Install, then Authorize when GitHub asks you to confirm.

  5. You are back in MonstarX. The card says Connected · GitHub App.

A few things to know about the GitHub App:

  • No organization approval. It installs on your personal account only. If you pick an organization by mistake, MonstarX asks you to install it on your personal account and try again.
  • New repositories are created in your personal account. MonstarX can always reach a repository it created, even if you chose Only select repositories.
  • Your choice of repositories is the limit. To link an existing repository, it must be one you gave the app. Add more under GitHub’s settings for installed apps.
  • Access is short-lived and renewed automatically, and stored encrypted. It is never sent to your browser.

If you prefer, two other methods are there too:

MethodWhen to use it
Personal repository with limited access (in Settings: Connect a personal repository with limited access)You want MonstarX to reach exactly one repository with a personal access token (a password you make on GitHub for one purpose). Make a fine-grained token with your personal account as the resource owner, only that repository, and Contents: read and write. Create the repository on GitHub first; this kind of token cannot create new ones.
Use GitHub authorization insteadYou want to push to repositories in organizations you belong to. GitHub’s usual sign-in screen may include access to those organizations, so review it before you allow it.

Once connected, the card shows how (GitHub App, Signed in with GitHub or Personal access token) and lists every repository MonstarX keeps up to date, with when each last synced and whether it syncs Automatic or By hand. Connecting a different way later replaces the old connection; your linked repositories stay linked.

  1. Open the project and click GitHub in the top bar. (It is also in the project’s SettingsExport, under Keep it in GitHub.)

  2. If your account isn’t connected yet, connect it right there.

  3. Choose New repository or Existing repository:

    • New repository — pick the Owner (you or one of your organizations), type a Repository name, leave Private repository ticked unless you want everyone to see the code, and click Create repository and push.
    • Existing repository — type owner/repository or paste its github.com address, optionally a Branch (the default branch when empty), and click Link and sync. Your account needs permission to push to it.
  4. MonstarX pushes the whole project as a ready-to-deploy repository. The GitHub button gets a green dot when it is in sync.

A new repository starts with one commit, “Initial commit from MonstarX”. In an existing repository, the project is committed on top of the branch, and files MonstarX doesn’t manage — a LICENSE, CI workflows, docs — are never touched.

Everything Export gives you: the app’s code, MonstarX’s framework files, the configuration to run and deploy it, the database migrations, a list of the secret names the app needs (never their values), and a README.

Some things never go to GitHub:

  • Secret values and your app’s database rows and uploaded files stay with MonstarX.
  • Rows imported from a spreadsheet are never pushed, because a repository may be public and those are your customers’ details.
  • Binary files and files over 1 MB are skipped and listed in the sync log.

While Push every change automatically is on (it is, by default), MonstarX syncs:

  • after every request that changed the app’s files — the commit message is your request;
  • after a QA auto-fix;
  • after you restore a version;
  • after you save or delete a file in the Code view.

Sync now in the GitHub menu pushes and pulls whenever you like. Turn automatic pushing off if you would rather sync by hand.

What happens when someone edits the code on GitHub?

Section titled “What happens when someone edits the code on GitHub?”

Commit on GitHub as usual. On the next sync, MonstarX pulls the changes into the project:

  • Changes to the app’s own files (src/, public/, migrations/ and README.md) come into MonstarX. The preview updates, new database migrations run, and a version named From GitHub: and the commit’s subject appears in Versions.
  • A card in the chat, such as “Pulled 3 files from GitHub”, lists the files, so you and MonstarX’s builder both know what changed.
  • Changes to MonstarX’s framework files, like package.json or configuration, stay on GitHub until MonstarX itself next changes that file.
  • If the same file changed on both sides, MonstarX keeps its version and GitHub keeps yours in the history. The card marks it “changed on both sides — MonstarX’s version kept”.

What does the GitHub menu show once linked?

Section titled “What does the GitHub menu show once linked?”
  • The repository, its branch and whether it is Private or Public.
  • When it last synced (Synced a few minutes ago), or Last sync failed with the reason.
  • Sync now and Open repository.
  • Push every change automatically.
  • Recent syncs — the last five, each with its commit.
  • Unlink repository — stops syncing. The repository stays on GitHub.
  • Disconnect — disconnects your GitHub account. Nothing is pushed until you connect again.

When you import an app from a repository you can push to, the project stays linked to it — on a new branch called monstarx, started from the commit you imported. Your own branch never moves. When you’re happy with MonstarX’s changes, Open a pull request in the GitHub menu takes you to GitHub to merge them.

Do I need a GitHub token?

No. Connect personal GitHub account installs MonstarX's GitHub App: you sign in on GitHub, choose the repositories, and you are done. A personal access token is only an alternative for people who want to limit MonstarX to a single repository that way.

Can the GitHub App reach my company's organization?

No — it installs on your personal account only, and creates new repositories there. To push to an organization's repository, connect with Use GitHub authorization instead, or ask the organization to add you so you can link it from your account.

How do I give MonstarX access to another repository later?

On GitHub, open your settings for installed GitHub Apps, choose MonstarX, and add the repository (or switch to All repositories). Then link it from the project's GitHub menu.

Is my repository private?

A new repository is private by default — untick Private repository only if you want the code public. MonstarX never pushes secret values or your app's data.

Can I link a repository that belongs to my company's organization?

Yes, if your GitHub account can push to it. Use Existing repository, or choose the organization as Owner when creating a new one.

What happens if I unlink the repository?

MonstarX stops syncing. The repository and all its history stay on GitHub, and you can link it again later.

A developer changed package.json on GitHub. Why didn't it come back?

Framework files such as package.json and configuration are managed by MonstarX. Edits to them stay on GitHub until MonstarX next changes that file; later syncs never silently undo them.

Can I deploy from the repository?

Yes. The repository is ready to deploy, and Railway deploys from it. See also Publish to other hosts.

What happens to the link if I transfer the project?

It is dropped, so nothing is ever pushed to your GitHub account on the new owner's behalf. The repository itself is untouched.