🎯

Ios

v1.6.2

iOS development validation with Xcode build hooks.

Installation

Install han binary (required for hooks to work):

curl -fsSL https://han.guru/install.sh | bash

Then install this plugin:

han plugin install jutsu-ios

Overview

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 .xcodeproj or .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=NO to skip code signing
  • Build output is limited to the last 20 lines to keep hook output concise
  • For workspaces with CocoaPods, ensure pod install has 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

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.