# Synchronization of Prototypes

This document explains how to synchronize visual prototypes and POCs (Proof of Concept) into this monorepo.

## Overview

Prototypes are developed in separate repositories (e.g., `client-krow-poc`). To keep this main repository clean and focused on production code, we do not commit the build artifacts of these prototypes. Instead, we use a synchronization script to bring them in locally.

**Key benefits:**
1.  **AI Context:** Once synced, AI tools (like Gemini) can read the prototype code to understand the intended UI/UX and logic.
2.  **Local Preview:** You can view the prototypes directly through the **DevOps Launchpad**.
3.  **Local Deployment:** Allows you to deploy the latest prototypes to Firebase Hosting from your machine.

## Prerequisites

The synchronization script assumes that the prototype repository is cloned **adjacent** to this project directory.

```bash
# Navigate to your workspace root
cd ..
# Clone the POC repository
git clone git@github.com:Oloodi/client-krow-poc.git
```

Your folder structure should look like this:
```
/workspace
  ├── krow-workforce-web (This repo)
  └── client-krow-poc    (POC repo)
```

## How to Synchronize

Run the following command from the root of this repository:

```bash
make sync-prototypes
```

**What this command does:**
1.  Navigates to the adjacent `client-krow-poc` repository.
2.  Installs dependencies (via `pnpm`).
3.  Builds the web application (`pnpm run build`).
4.  Copies the resulting `dist/` folder into `internal/launchpad/prototypes/web/`.

## Git & AI Behavior

*   **Git:** The contents of the `prototypes/` directories are defined in `.gitignore`. They will **not** be committed to this repository.
*   **Gemini/AI:** These files are **not** ignored in `.geminiignore`. Once you run the sync script, the AI will be able to "see" the code and use it as a reference for your tasks.

## Deployment to Hosting

If you want to make these prototypes available on the live DevOps Launchpad (`launchpad.krowwithus.com`), you must:
1.  Run `make sync-prototypes` on your local machine.
2.  Run `make deploy-launchpad-hosting`.

---
*Note: As we add mobile prototypes (Flutter), this guide and the script will be updated to include the `flutter build web` steps.*
