Skip to content

Configure Your Project

This step turns “an empty folder” into “a real codebase”. Mosayic downloads its mobile and API templates from GitHub, runs git init, installs dependencies, and patches a few config files for your local setup.

The dashboard asks: Where on your machine should this project live?

You’ll see a Choose folder… button. Clicking it tells the extension to open VS Code’s native folder picker. You pick a folder anywhere on your disk — typically ~/Code, ~/Projects, or ~/Documents/whatever. Mosayic creates a subfolder inside the one you pick, named after your project.

So if your project is called recipe-app and you pick ~/Code, you’ll end up with:

  • Directory~/Code/
    • Directoryrecipe-app/
      • Directorymobile/ (your React Native app, its own git repo)
      • Directoryapi/ (your Python backend, its own git repo)

Each subfolder is a standalone Git repository. They are not a monorepo — Mosayic intentionally keeps them separate so each can be released, deployed, and versioned independently.

When you click Scaffold project, the dashboard hits POST /projects/{id}/scaffold on the backend, which fires a background task that orchestrates the extension to:

  1. Download the mobile template from a GitHub release (a tarball of an Expo + TypeScript starter).

  2. Extract it into <parent>/<project>/mobile/ and run git init.

  3. Download the API template (FastAPI + uv + Supabase Python client).

  4. Extract it into <parent>/<project>/api/ and run git init.

  5. Detect your machine’s LAN IP so your phone can later reach your local API.

  6. Patch .env files with the LAN IP and any environment variables already known.

  7. Install dependenciesnpm install for mobile, uv sync for the API.

  8. Open the project folder in VS Code so you can see what just appeared.

This typically takes 1-3 minutes depending on your network. The dashboard shows a status badge that updates from startingin_progressdone.

Once the local code exists, the dashboard offers to create the GitHub repos. This is one click and runs:

  • An SSH key is generated on your machine and added to your GitHub account
  • gh is set to use SSH
  • Two private repos are created: <project>-app and <project>-api
  • The local code is pushed to those repos

If you’d rather create the repos under a GitHub organization, you can pass an org name in the form. Otherwise they go under your personal GitHub account.

What if I already have code I want to use?

Section titled “What if I already have code I want to use?”

The current setup guide assumes a green-field project. If you want to bring an existing codebase into Mosayic, the supported path is:

  1. Run the scaffold step to get the templates and project structure
  2. Migrate your code into the mobile/ or api/ folders
  3. Commit and push

Long-term we plan to support importing existing repos — for now, use the templates as the starting point and merge your existing code in.

Everything you set in this step shows up on the Project Info screen (/projects/<id>/project in the dashboard). You can edit:

  • The local folder paths (if you moved the project on disk)
  • The repo names (if you renamed them on GitHub)
  • The Google Cloud project ID (set later in the deployment phase)

You can also delete the project from this screen. Deleting a project removes it from Mosayic’s database but does not touch your local files, GitHub repos, or Google Cloud project — those are yours and you’d need to delete them separately.

Continue to Configure Supabase — start a local Postgres + Auth + Storage stack on your machine.