www/apps/bloom/app/developers/export-to-github/page.mdx
import { CardList, Prerequisites, InProductAction, Kbd, getOsShortcut } from "docs-ui"
export const metadata = {
title: Sync with GitHub,
}
You have full ownership over your Bloom store's code. Export your Bloom project to GitHub for advanced development with full IDE features, version control, and team collaboration.
After exporting, you can continue using Bloom to build features while developing locally. Bloom automatically syncs changes from GitHub, maintaining a seamless workflow between local development and AI-powered building.
<Prerequisites items={[ { text: "Bloom Hobby Plan", link: "/credits-and-plans", }, { text: "GitHub Account", link: "https://github.com", }, ]} />
To export your Bloom project to GitHub, you need to open the <InProductAction product={"bloom"} type={"MEDUSA_AI_OPEN_PANE"} data={{ pane: "github" }}>GitHub tab</InProductAction>:
This will open the Sync with GitHub page where you can connect your GitHub account and transfer your repository.
If you signed up for Bloom with GitHub, you can skip this step as your account is already connected. This step is required for users who signed up with email.
To connect your GitHub account, click the "Connect" button and authorize Bloom to access your GitHub account. A new page will open on GitHub to give Bloom the necessary permissions.
<Note title="Tip">If you're transferring to a GitHub organization, make sure to give Bloom access to that organization during the authorization process.
</Note>Once you've authorized Bloom, you'll be taken back to the GitHub form in Bloom where you can proceed with the repository transfer.
After connecting your GitHub account, you can transfer your Bloom project to your GitHub account. Bloom creates a new repository in your GitHub account with the full codebase and commit history of your Bloom project.
To transfer the repository, choose the GitHub account or organization where you want the repository to be created. Then, click the "Transfer" button to start the transfer process.
<Note title="Tip">If you don't see your GitHub organization in the dropdown, click the "Configure integration" link to manage your GitHub integration settings. Make sure you've given Bloom access to the organization you want to transfer to.
</Note>Bloom will create a new repository in your GitHub account with the same name as your Bloom project. The repository includes all code, commit history, and branches from your Bloom project.
Once the transfer is complete, you'll see a "Repository Information" section with a button to view the repository on GitHub. Click the "View Repository" button to open your new repository on GitHub.
The repository contains the full codebase of your Bloom project, organized in a monorepo structure with backend and storefront directories. You can clone the repository to your local machine, make changes, and push updates to GitHub.
See Project Structure in the Code Editor guide for an overview of the codebase structure and key files in your Bloom project.
</Note>While you have complete ownership over your Bloom project's code, if you want to continue using Bloom to build features and make changes, it's highly recommended to avoid making changes to the following files:
package.json, turbo.json, and any other configuration files at the root level of the project. Changes to these files can affect how Bloom builds and runs your project, potentially causing unexpected behavior.package.json scripts: Avoid changing the scripts in package.json, especially those related to building and running the project. These scripts are used by Bloom to execute tasks, and changes can interfere with Bloom's ability to manage your project effectively.vite.config.ts plugins: The default Vite configuration includes plugins that Bloom relies on to build and deploy your storefront. Avoid removing or changing these plugins to ensure Bloom can continue to build and deploy your storefront correctly.medusa-config.ts admin configurations: The medusa-config.ts file includes configurations for the Medusa Admin dashboard to ensure it works correctly with Bloom's features. Avoid changing admin-related configurations to prevent issues with previewing the admin dashboard.No, repository transfer is one-way. Once transferred to GitHub, the repository remains in your GitHub account.
However, you can continue using Bloom after transfer. Bloom automatically syncs changes from GitHub. You can still prompt Bloom to build features.
Your Bloom project remains fully functional after export. You can continue using Bloom to build features and make changes to your store.
Yes, your team can continue collaborating on the project after export. They can make changes to the GitHub repository if they have access, or use Bloom to build features and make changes without accessing the codebase.
Yes, you can export to a GitHub organization during the transfer process. Make sure to give Bloom access to the organization during the GitHub authorization step. Then, when transferring the repository, select the organization as the destination.
Check out the documentation for the key technologies powering your Bloom project.
<CardList items={[ { title: "Medusa Documentation", text: "Learn about Medusa's architecture, development patterns, and how to customize the backend and admin dashboard.", href: "!docs!", }, { title: "TanStack Start Documentation", text: "Learn about routing, data fetching, server functions, and performance optimization for your storefront.", href: "https://tanstack.com/start/latest", }, { title: "Vite Documentation", text: "Learn about Vite's features, configuration options, and how to optimize your development and build process.", href: "https://vitejs.dev/guide/", }, { title: "Turborepo Documentation", text: "Learn about monorepo management, task running, and how to optimize your development workflow.", href: "https://turborepo.dev/" } ]} itemsPerRow={1} />