Skip to content

Import a repo

This page covers connecting a GitHub repository to a project so the app can deploy it.

Prerequisite: signed in.

Install the GitHub App

The app uses a GitHub App (named stasho-deploy on GitHub) to access your repositories. The first time you connect a repo, the New Project wizard prompts you to install it.

One install per wallet: connecting a second account or organization replaces the first. If you need repos from multiple orgs, this is an alpha limitation — see Alpha status & limits.

  1. Click New project in the dashboard
  2. The wizard opens; if you haven't connected GitHub yet, click Install GitHub App
  3. GitHub asks which account or organization should host the install — pick the one that owns the repo you want to deploy
  4. GitHub asks which repositories the App can access — pick Only select repositories and choose specific repos, or All repositories to give it access to everything (you can change this later)
  5. Click Install

GitHub redirects you back to the wizard. You should now see the Select Repo step with a list of repositories.

Pick a repository

The Select Repo step shows your accessible repositories with a status column:

Step 1 of 2, Select Repo, in the New Project wizard: a 'Manage repo access' button beside the 'Import from GitHub' heading, a line explaining that repos already on Stasho are marked Imported and repos linked to another account can't be imported here, a repository search box, and a table with Repository, Visibility, Last Push and Status columns listing three public repositories, each with a status of Available.
The Select Repo step, with three repositories ready to import. The Status column is what tells you which repos you can still pick — see the table below for the other two values it can take.
StatusMeaning
AvailableNot yet imported into the app — pick this to create a new project
ImportedAlready imported as a different project — selecting it shows a notice with a link to that project and then continues to workspace detection, so a monorepo whose other workspaces aren't imported yet can still be picked up here
Linked to another accountFirst imported from a different wallet. A repo can only be deployed from the account that imported it, so clicking shows that reason instead of continuing

If your repository list is empty:

  • The App is installed but you didn't grant access to any repositories. Click Manage repo access at the top of the step (links to your GitHub install settings) and grant access to the repos you want.
  • Refresh the wizard. The list should populate.

Manage access later

Repository access is managed on github.com, not in the app. Two paths to change it:

  • From the wizard — click Manage repo access to open your install settings on GitHub
  • From the app — go to Settings → Integrations. The current GitHub install is shown with two actions:
    • Manage on GitHub — opens your install settings (same as above)
    • Disconnect — removes the install from the app's records, then opens GitHub for you to complete the uninstall

Disconnect

If you uninstall the App on GitHub directly (without using the in-app Disconnect), the app receives a webhook from GitHub and cleans up its internal records automatically. You don't need to do anything in the app.

After disconnect, your existing projects' deployments are unaffected (they're already pinned on IPFS). The app just can't trigger new deployments until you reconnect.

Verification

You should now see:

  • A repository selected in the wizard
  • The wizard advances to the framework-detection step (covered in Your first deployment)

See it in the demo

The live demo's shop repo group shows what a monorepo import looks like once it's live: two workspace members from the same repository, grouped as siblings with their own build config and deploy history.