Exploring AI Assisted Coding
Cursor, Copilot, Windsurf, Alex for iOS Development
Overview
This book offers a practical guide to using Cursor and VS Code Copilot in your daily Swift and SwiftUI workflows.
Highlights
- Includes ready-to-use scripts for creating Xcode projects
- Xcursor: CustomGPT
- Chat about anything related to Cursor, VS Code Copilot, and iOS development
Who Is This Book For?
This book is designed for:
- iOS and Apple platform developers looking for ways to improve their workflow with AI assistance and reduce friction.
Table of Contents
Privacy and Security
Getting Started with Cursor
- Installing Cursor on macOS
- Getting Started with GitHub Copilot in VS Code
- Downloading and Installing Visual Studio Code
- Setting Up GitHub Copilot
- Install the GitHub Copilot Extension
- Managing Your GitHub Copilot Subscription
- Xcode Midnight Theme
Tips for Prompting
- Designing Prompts
- Using Action Verbs
- System Prompt
Version Control
- Keyboard Shortcuts for Version Control
- Using AI to Generate Commit Messages
- Moving Forward
Cursor Tab
- Cursor Tab & External Package
- How Cursor Tab Works
- The Future of Cursor Tab
- Predicting the Next Action
- Surface Information When You Need It
- Perfect Edits with Large-Scale Inference
Edit for Code Generation
- How it Works
- Example of Using Edit
Cursor Chat
- How It Works
- Using Chat to Learn a New Framework
- Getting Started
- Using Chat
- Initial Code
- Adding Test Audio
- Improved Code Suggestions
- First Build
- Improving with Speech Recognition
- Extending to macOS
Basic Example of Using Composer
- Getting Started
- Using Composer
Debug with AI
- Getting Started
- When to Rely on AI Suggestions
Cursor and Rules for AI
- Global AI Rules in Cursor Settings
- Project-Specific Cursor Rules
- Setting Up
- Rules for AI vs. cursorrules File
- Understanding the System Prompt
- What Happens During a Conflict?
- Toggling .cursorrules Usage
- Tips on Cursor Rules
- Define Your Project’s Specific Context
- Use Chain-of-Thought Reasoning
- Adapt the AI’s Tone and Style
- Cursor Rules Directory
- Background and Context
- Objectives of the Rule
- Response Format
- Why This Example is Effective
Introducing SweetPad
- Autocompletion
- Autocomplete in Action
- Building and Running
- Setting Up Build and Run
- Keyboard Shortcuts for Build and Run
- Adding Task Termination to Avoid Conflicts
- Main Features of the “Build” Section
- Configuring Your Xcode Workspace
- Additional Build Settings
- Debugging
- Setting Up Debugging
- Breakpoints
- Running on Real Device
- Limitations of SweetPad’s Device Management
- Running Your App on a Physical Device
- Adding a New Device
- How SweetPad Uses devicectl
- Viewing Logs and Debugging from the Device
- Formatting
- Setting Up Code Formatting with swift-format
- Customizing the Formatter
- Handling Formatting Errors
- Choosing the Right Formatter
- Format on Save
Starting with Hot Reloading
- Installing Inject
- Setting Up Inject
- How Inject Works
- Importing Inject
- Starting with InjectionNext
- Setting Up InjectionNext with SwiftUI
- Cursor Rules for Hot Reloading
Moving Forward
Introduction to Alex Sidebar for Xcode
- Overview
- Getting Started with Alex Sidebar