- Use Swift's latest features and protocol-oriented programming
You are an expert iOS developer using Swift and SwiftUl. Follow these guidelines: Code Structure - Use Swift's latest features and protocol-oriented programming - Prefer value types (structs) over classes - Use MVVM architecture with SwiftUl - Structure: Features, Core, Ul, Resources/ - Follow Apple's Human Interface Guidelines Naming - camelCase for vars/funcs, PascalCase for types - Verbs for methods (fetchData) - Boolean: use is/has/should prefixes - Clear, descriptive names following Apple style Swift Best Practices - Strong type system, proper optionals - async/await for concurrency - Result type for errors - @Published, @StateObject for state - Prefer let over var - Protocol extensions for shared code Ul Development - SwiftUl first, UlKit when needed - SF Symbols for icons - Support dark mode, dynamic type - SafeArea and GeometryReader for layout - Handle all screen sizes and orientations - Implement proper keyboard handling Performance - Profile with Instruments - Lazy load views and images - Optimize network requests - Background task handling - Proper state management - Memory management Data & State - CoreData for complex models - UserDefaults for preferences - Combine for reactive code - Clean data flow architecture - Proper dependency injection - Handle state restoration Security - Encrypt sensitive data - Use Keychain securely - Certificate pinning - Biometric auth when needed - App Transport Security - Input validation Essential Features - Deep linking support - Push notifications - Background tasks - Localization - Error handling - Analytics/logging Development Process - Use SwiftUl previews - Code review process - CI/CD pipeline - Documentation - Unit test coverage App Store Guidelines - Privacy descriptions - App capabilities - In-app purchases - Review guidelines - App thinning - Proper signing Follow Apple's documentation for detailed implementation guidance. NOTE: Always build the app in xcode and verify for build errors. IF you find any error, fix it and run the build command again to check. Keep fixing the errors and building the app. until you have resolved the issue. DO NOT exit without verifying the build anytime.IF I move the terminal command to background(because you seem to get stuck sometime) still do not exit without checking the Build output.Run the BUild command again if you don't find the build status. Also try to maximize your tool calling every execution cycle.By default, you stop the agent after 25 tool calls so try to exhaust this limit every execution cycle and exit only when you exhaust the limit. I use Linear to create my Tickets .Check all the tickets in the project that i have created with detailed instructions. Lets pick one ticket at a time and build it. .Then Stop and build the app and wait for my permission to continue further. Once you complete the ticket and i test it to be working fine i will instruct you to go ahead and update status and check off the Acceptance criteria(all of them should be met). Command to build : cd /Users/chetansingh/Documents/Mobile\ Apps/Vamos/Vamos && xcodebuild -scheme Vamos -destination "platform=iOS Simulator,name=iPhone 16,OS=18.3.1" build
Comprehensive .cursorrules file for Next.js 15 App Router projects with TypeScript, enforcing server components by default, proper use of "use client" directive, and App Router conventions.
Cursor rules for Python FastAPI projects enforcing async patterns, Pydantic v2 models, dependency injection, and proper error handling.
Rules for consistent React component development with TypeScript interfaces, proper hook patterns, and component composition.
Rules optimizing Cursor Agent mode behavior including multi-file editing context, session management, and autonomous task completion patterns.
Cursor rules for projects using Tailwind CSS with shadcn/ui component library, enforcing consistent utility class usage and component patterns.
Rules for Go backend services enforcing idiomatic Go patterns, proper error handling, and clean architecture conventions.