Ios
v1.6.2iOS development validation with Xcode build hooks.
Installation
Install han binary (required for hooks to work):
curl -fsSL https://han.guru/install.sh | bashThen install this plugin:
han plugin install jutsu-iosOverview
iOS development validation with Xcode build hooks for Claude Code.
Features
- Automatic build validation: Ensures your iOS project compiles after agent changes
- Smart caching: Only builds when Swift, Objective-C, or project files have changed
- Simulator build: Uses iOS Simulator to avoid code signing requirements
Installation
han plugin install jutsu-ios
Hooks
build (Stop hook)
Automatically runs when you stop Claude Code to ensure the iOS project builds:
- Detects directories containing
.xcodeprojor.xcworkspace - Only runs if Swift, Objective-C, XIB, Storyboard, or project files have changed
- Builds for iOS Simulator (no code signing required)
- Auto-detects the first available scheme
Configuration
You can customize the hook behavior in your project's han-config.yml:
jutsu-ios:
hooks:
build:
enabled: true
# Override with a specific scheme and destination
# command: "xcodebuild -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 16' build CODE_SIGNING_ALLOWED=NO"
To disable the hook for a specific project:
jutsu-ios:
hooks:
build:
enabled: false
Requirements
- macOS with Xcode installed
- Xcode Command Line Tools (
xcode-select --install) - iOS Simulator runtime
Notes
- The build uses
CODE_SIGNING_ALLOWED=NOto skip code signing - Build output is limited to the last 20 lines to keep hook output concise
- For workspaces with CocoaPods, ensure
pod installhas been run
Related Plugins
- jutsu-swift: Swift language skills and SwiftLint validation
- jutsu-objective-c: Objective-C development skills
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT License - See LICENSE for details.
Skills
ios-swift-concurrency
Use when implementing async/await, Task management, actors, or Combine reactive patterns in iOS applications.
ios-swiftui-patterns
Use when building SwiftUI views, managing state with @State/@Binding/@ObservableObject, or implementing declarative UI patterns in iOS apps.
ios-uikit-architecture
Use when building iOS apps with UIKit, implementing MVVM/MVC/Coordinator patterns, or integrating UIKit with SwiftUI.
Hooks
Token Usage Notice
Hooks run automatically during Claude Code sessions and their output is sent to the model for processing. This may increase token usage and associated costs. Consider disabling hooks you don't need via han-config.yml.
Stop
Runs when the main Claude Code agent has finished responding. Can verify task completion, check quality gates, or ensure documentation requirements are met before the session ends.
SubagentStop
Runs when a Claude Code subagent (Task tool call) has finished responding. Can validate subagent outputs, enforce quality standards, or trigger additional workflows after delegated tasks complete.