# Shopify AI App Builder - Implementation Notes ## Overview This document describes the recent updates to the Shopify AI App Builder to improve the user experience and implement a plan-first workflow. ## Key Changes ### 1. New Apps List Page (`/apps`) - **File**: `chat/public/apps.html` - **Purpose**: Default landing page for authenticated users - **Features**: - Grid view of all user's Shopify app projects - Search functionality to filter apps - Create new app button - App cards showing: - App name/title - Model used - Status (Ready/Building) - Creation date - Quick actions (Open, Delete) - Clicking an app navigates to `/builder?session={sessionId}` ### 2. Enhanced Builder Page (`/builder`) - **File**: `chat/public/builder.html` - **Changes**: - Removed "New Project" button - Removed session list from sidebar (single-app focus) - Added Build Mode indicator showing current phase: - 📋 Planning - AI creates a detailed plan - 🔨 Building - AI implements the approved plan - Added "Approve & Build" button for plan approval - Updated design with brand accent color scheme (#008060) - URL parameter support: `?session={id}` to load specific app ### 3. Editable System Prompt - **File**: `chat/public/shopify-builder-prompt.txt` - **Purpose**: Contains the system prompt for Shopify app development - **Features**: - Loaded dynamically by builder.html - Can be edited without modifying code - Falls back to default if file not found - Defines app structure, requirements, and best practices ### 4. Plan Mode Workflow The builder now follows a two-phase workflow: #### Phase 1: Planning (Default) - User describes the app they want to build - AI creates a detailed plan including: - Feature outline - Required Shopify APIs and webhooks - Data models and schema - UI components (Polaris-based) - Authentication approach (App Bridge) - Implementation roadmap - User can refine the plan through conversation - "Approve & Build" button appears after initial plan #### Phase 2: Building - User clicks "Approve & Build" - AI receives approval message - Switches to build mode (🔨 icon) - Implements the approved plan - Creates all necessary files and code ### 5. Design Improvements - **Color Scheme**: Shopify green (#008060) throughout - **Typography**: Space Grotesk for headings, Inter for body - **Icons**: Text-based monochrome icons (SH, PLAN, BUILD, BOX, TERM, CLOSE, HOME, etc.) - **Cards**: Clean white cards with subtle shadows - **Gradients**: Professional green gradients on buttons - **Responsive**: Works on mobile and desktop ## Server Changes ### New Route - `GET /apps` → Serves the apps list page ### Updated Prompt Loading - System prompt loaded from `/chat/shopify-builder-prompt.txt` - Served via existing `/chat/*` route handler ## User Flow ### New User Journey 1. User visits home page (`/`) 2. Clicks "Start Building Free" → redirected to `/apps` 3. Clicks "Create New App" → redirected to `/builder` 4. Describes app in input field 5. AI creates detailed plan 6. User reviews and refines plan 7. User clicks "Approve & Build" 8. AI implements the complete app 9. User can export as ZIP or push to GitHub ### Returning User Journey 1. User visits `/apps` 2. Sees list of all their apps 3. Clicks on an app card 4. Redirected to `/builder?session={id}` 5. Continues working on that specific app ## Technical Details ### Session Management - Sessions tied to user ID (from localStorage or cookie) - Each session = one app project - Session state includes messages, model, CLI, and metadata - Builder page loads specific session via URL parameter ### Build Mode State Managed in `builderState` object: ```javascript { mode: 'plan' | 'build', planApproved: false, shopifyPrompt: '...' } ``` ### Message Interception - First message automatically includes system prompt - Plan mode instruction added to guide AI - Build mode instruction sent when plan approved - UI updates based on mode changes ## Files Modified/Created ### New Files - `chat/public/apps.html` - Apps list page - `chat/public/shopify-builder-prompt.txt` - Editable system prompt ### Modified Files - `chat/public/builder.html` - Enhanced builder interface - `chat/public/home.html` - Updated links to point to /apps - `chat/server.js` - Added /apps route, Admin endpoints ### Unchanged Files - `chat/public/app.js` - Session/message handling (reused) - `chat/public/styles.css` - Base styles ## Customization ### Editing the System Prompt Edit `chat/public/shopify-builder-prompt.txt` to customize: - App structure and organization - Required features and components - Best practices and guidelines - Technology stack preferences (Node, Remix, App Bridge) - Deployment targets ### Styling Builder-specific styles are in `