### Install Project Dependencies Source: https://help.draftbit.com/features/publishing/manual-publishing/ios-publishing Install all the necessary project dependencies for your app. This command downloads all required components listed in your project's configuration. ```bash yarn install ``` -------------------------------- ### Example Context Summary Source: https://help.draftbit.com/intro/best-practices/using-credits-efficiently An example of a context summary for implementing a user profile editing feature, demonstrating how to structure the information for effective handoff. ```markdown ## Context Summary **Goal:** Implement user profile editing feature **Current State:** - Profile viewing is complete (ProfileScreen.tsx) - API endpoints exist for GET /profile and PATCH /profile - Form validation library (react-hook-form) is configured **Key Decisions:** - Using optimistic updates for better UX - Profile images stored in S3, not database - Validation happens client-side and server-side **Next Steps:** - Add edit mode toggle to ProfileScreen - Implement form submission with error handling - Add image upload component **Relevant Files:** - src/screens/ProfileScreen.tsx - src/api/profile.ts ``` -------------------------------- ### Navigate to Project Directory Source: https://help.draftbit.com/features/publishing/manual-publishing/android-publishing Change the current directory in your console to your project's root folder. This is necessary before installing dependencies. ```bash cd ``` -------------------------------- ### Install EAS CLI Source: https://help.draftbit.com/features/publishing/manual-publishing/ios-publishing Install the EAS CLI tool globally on your machine. This command downloads and installs the necessary tools to interact with Expo Application Services. ```bash npm i -g eas-cli ``` -------------------------------- ### Example Prompt for Expense Tracking App Source: https://help.draftbit.com/intro/best-practices/writing-your-initial-prompt This prompt provides a detailed specification for a personal expense tracking mobile app, covering audience, core flows, must-have features, out-of-scope items, constraints, success metrics, risks, and references. It serves as a comprehensive example of an initial prompt that checks all essential boxes for an AI agent. ```plaintext Build a simple mobile app for tracking personal expenses. Audience: Individuals managing monthly budgets; non-technical; iOS and Android. Core flows: - Add an expense with amount, category, date, and optional note. - View a list of expenses filtered by month. - See a monthly total and category breakdown. Must-haves (v1): - Local-only storage (no login). - Categories: Food, Transport, Rent, Utilities, Other. - Accessibility: readable text, high contrast. Out of scope (v1): - Cloud sync, account creation, or bank integrations. - Recurring expenses. Constraints: - Works offline. - Launch icons + app name “PennyTrack.” Success: - A user can add, view, and understand monthly spend in <30 seconds. Risks: - Categories might need customization later. References: - [PennyTrack](https://www.pennytrack.app) - [Figma design](https://www.figma.com/design/1234567890/PennyTrack) - [API docs](https://api.pennytrack.app) - [Brand voice](https://www.pennytrack.app/brand-voice) ``` -------------------------------- ### Context Summary Template Source: https://help.draftbit.com/intro/best-practices/using-credits-efficiently Use this template to summarize the current state, decisions, and next steps when starting a new thread to preserve essential context efficiently. ```markdown ## Context Summary **Goal:** [What we're trying to accomplish] **Current State:** [What's been completed, what exists now] **Key Decisions:** [Important architectural or technical choices made] **Next Steps:** [Specific tasks to complete] **Relevant Files:** [List only files that will be actively modified] ``` -------------------------------- ### Check Project Setup with Expo Doctor Source: https://help.draftbit.com/features/publishing/manual-publishing/ios-publishing Run a health check on your project to ensure everything is set up correctly for building and publishing. Expo Doctor will identify and suggest fixes for any issues. ```bash npx expo-doctor --check ``` -------------------------------- ### Build and Submit iOS App Source: https://help.draftbit.com/features/publishing/manual-publishing/ios-publishing Use this command to build your iOS app, submit it to the App Store, and set up TestFlight. This process is automated and occurs in the cloud. ```bash eas build -s ``` -------------------------------- ### Initialize EAS for Project Source: https://help.draftbit.com/features/publishing/manual-publishing/ios-publishing Run this command in your console to connect your project to EAS and select the owning Expo account. ```bash eas init ``` -------------------------------- ### Generate Web App Files Source: https://help.draftbit.com/features/publishing/manual-publishing/web-publishing Use this command to convert your app into static web files, which will be saved in the 'dist' folder. ```bash npx expo export --platform web ``` -------------------------------- ### Deploy Web App to Production Source: https://help.draftbit.com/features/publishing/manual-publishing/web-publishing Upload your generated web app files to Expo's servers and obtain a public URL for your app. Use the --prod flag for production deployments. ```bash eas deploy --prod ``` -------------------------------- ### Create Supabase Client Instance Source: https://help.draftbit.com/guides/setting-up-supabase Initializes the Supabase client using environment variables for URL and key. This client can be imported and used throughout your app for interacting with Supabase. ```typescript import { createClient } from '@supabase/supabase-js'; const supabaseUrl = process.env.EXPO_PUBLIC_SUPABASE_URL!; const supabaseKey = process.env.EXPO_PUBLIC_SUPABASE_KEY!; export const supabase = createClient(supabaseUrl, supabaseKey); ``` -------------------------------- ### Configure EAS Build Source: https://help.draftbit.com/features/publishing/manual-publishing/ios-publishing Execute this command to set up the necessary configurations for EAS Build for both Android and iOS platforms. ```bash eas build:configure ``` -------------------------------- ### Build Android App with EAS Source: https://help.draftbit.com/features/publishing/manual-publishing/android-publishing Initiate an Android app build using EAS Build. The build process occurs in the cloud and can take 10-20 minutes. ```bash eas build -p android ``` -------------------------------- ### Sign in to Expo Source: https://help.draftbit.com/features/publishing/manual-publishing/ios-publishing Log in to your Expo account using the EAS CLI. You will be prompted to enter your Expo username and password in the console. ```bash eas login ```