Skip to content
CAI
Software that uses CAICheck a score

badrinathvm/StepperView

51.6

Adequate · 1 October 2026

4.3k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

StepperView is a multi-platform SwiftUI library that renders customizable step indicators with connecting lines and animated progress states across iOS, macOS, and watchOS. It provides extensive configuration options for layout, styling, and pit-stop content, supported by comprehensive example apps and test suites. The system also includes an AI-driven code generation tool, implemented as both an on-device feature and a standalone MCP server, to assist in creating stepper components via natural language.

Features

AI-powered StepperView generator with on-device Foundation Models

Adds a new \StepperViewAIGeneratorView\ that allows users to describe a stepper in natural language and generates the corresponding SwiftUI code and live preview using on-device Foundation Models (iOS 26+). The feature includes configuration models (\GeneratedStepperConfig\, \GeneratedStep\), a YAML-based config loader (\StepperAIConfig\), and a builder (\StepperAIBuilder\) that maps AI output to StepperView components, enforcing uniform indicator types/colors and handling pit-stop logic based on user prompts.

Sources/StepperView/Views · high confidence

Added Apple Watch example app and extension

The repository now includes a complete example project for watchOS, featuring a WatchKit app and its companion extension. This addition provides developers with a ready-to-run demonstration of how to integrate and use the StepperView component within a SwiftUI-based WatchKit interface, including support for complications and notifications.

_Example/StepperView\Watch Extension · high confidence

Added TextView component for formatted text display

A new \TextView\ SwiftUI component has been introduced to the StepperView library. This view renders text with configurable font styling, leading alignment, and automatic line wrapping, providing a consistent way to display text content within the stepper interface.

Sources/StepperView/Views/Components · high confidence

Added Watch-specific StepperView example views

The example app now includes five new SwiftUI views (WatchExampleView1–5) demonstrating the StepperView component on watchOS. These examples showcase various configuration options including vertical and horizontal step modes, custom numbered circle indicators, custom icon-based indicators, animated indicators, and the use of pit stops within a list context.

_Example/StepperView\Watch Extension/Views · high confidence

Added Xcode schemes for the Example app and unit tests

The project now includes dedicated Xcode schemes for the \StepperView\_Example\ application and the \StepperView\_Tests\ test bundle. These configurations allow developers to easily build, run, and debug the example app and its associated unit tests directly from Xcode, with the example scheme configured to skip specific test methods during test runs.

Example/StepperView.xcodeproj/xcshareddata · high confidence

Added Xcode workspace and scheme for Swift Package Manager integration

The project now includes the necessary \.swiftpm\ configuration files to support development and testing within Xcode. This adds a workspace definition and a specific build scheme for the \StepperView\ target, enabling users to open the package directly in Xcode to build, run, and test the library without relying solely on command-line tools.

.swiftpm · high confidence

Added watchOS example app and extension to the project

The example project now includes a dedicated watchOS target (StepperView\_Watch) and its corresponding app extension. This addition provides sample Swift files (WatchExampleView1-5) and interface controllers to demonstrate how to use the StepperView component on Apple Watch, alongside the existing iOS example views.

Example/StepperView.xcodeproj · high confidence

Animated step indicators with customizable icons and colors

The StepperView now supports animated step indicators that fill progressively with a stroke animation upon appearing. Users can display custom icons inside the circles via the new CircledIconView, which respects light and dark mode backgrounds and allows specific foreground colors for the icon image. The indicator system also supports numbered circles with configurable colors, widths, and animation delays, providing a more dynamic visual feedback for step progression.

Sources/StepperView/Views/Indicators · high confidence

Initial project scaffolding and documentation

The repository has been initialized with core configuration and documentation files, including a Jazzy configuration for API documentation generation, SwiftLint rules for code style enforcement, and standard project governance files (Code of Conduct, Contributing guide, License). The README has been expanded to provide comprehensive installation instructions for CocoaPods, Carthage, and Swift Package Manager, along with usage examples and feature overviews for the StepperView component.

(repo-wide) · high confidence

Initial release of the StepperView example application

The example application for the StepperView library has been added, providing a comprehensive suite of SwiftUI demos. The app features a tabbed interface showcasing various stepper configurations, including vertical and horizontal modes, custom alignments (top, center, bottom), and animated indicators. It demonstrates advanced capabilities such as dynamic step addition, 'pit stop' content between steps, and custom line styling, serving as a practical reference for integrating and customizing the StepperView component.

Example/StepperView · high confidence

Introduce StepperView MCP server for AI-driven SwiftUI code generation

A new standalone MCP server (StepperViewMCP) is available for installation via Homebrew, enabling AI assistants like Claude Desktop, Cursor, and VS Code to generate production-ready SwiftUI StepperView code. The server exposes four tools: generate\_stepper\_code for creating stepper components with configurable layouts, colors, and indicators; list\_colors and list\_sf\_symbols to provide valid configuration options; and get\_example for retrieving ready-to-use code snippets. Configuration is self-contained within the binary, removing the need for external resource bundles.

StepperViewMCP · high confidence

Introduction of dedicated line view components for StepperView

This change introduces three new SwiftUI view components—HorizontalLineView, VerticalLineView, and PitStopLineView—within the StepperView library to handle the rendering of connecting lines between step indicators. These views support customization via StepperLineOptions, allowing users to choose between default gray dividers or custom colors and widths. The VerticalLineView specifically implements logic to calculate correct Y-offsets based on step alignments (top, center, bottom), ensuring proper visual connection regardless of indicator positioning.

Sources/StepperView/Views/Lines · high confidence

StepperView extension layer refactored with new color palette and environment configuration

The \Sources/StepperView/Extension\ directory has been restructured to introduce a comprehensive \Colors\ enum providing a wide palette of named colors and variations (red, green, blue, gray, yellow, etc.) for consistent styling. Additionally, \EnvironmentValues\ and \View\ extensions have been added to centralize configuration, allowing users to set stepper modes, spacing, line options, pit-stop options, and animations via standard SwiftUI environment modifiers. Supporting infrastructure includes new \PreferenceKey\ definitions for dynamic layout calculations (height, width, bounds) and custom \VerticalAlignment\ extensions to support top, center, and bottom alignments for step indicators.

Sources/StepperView/Extension · high confidence

Behavioural changes

Added CocoaPods workspace configuration

The example project now includes a dedicated Xcode workspace that integrates the main project with the CocoaPods dependency tree. This setup ensures that the Pods project is correctly referenced and that Xcode workspace checks are enabled, providing a stable environment for building and testing the example app with its managed dependencies.

Example/StepperView.xcworkspace · high confidence

Test coverage

Added snapshot and unit tests for StepperView; Added unit tests for StepperView alignment and parameters.

Dependencies

Initial release of StepperView 2.0 with multi-platform support and MCP server

This entry introduces the initial version (2.0) of the StepperView library, establishing its distribution manifests for Swift Package Manager and CocoaPods. The library now supports iOS 13.0, macOS 10.15, and watchOS 7.0, with the Yams dependency (v5.0.6) included for iOS and macOS to handle YAML resources. Additionally, a new StepperViewMCP executable target is added, depending on the Model Context Protocol Swift SDK (v0.9.0) to provide an MCP server for code generation.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 57 → 52 (-5.8)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 97 → 94 (-2.3)
  • Architecture 83 → 95 (+12.1)
  • Maturity 55 → 55 (+0.0)
  • Readiness 50 → 38 (-11.9)
  • Security 55 → 55 (+0.0)

Resolved (6)

  • Documentation: no installation or build instructions
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no project overview
  • Documentation: no usage examples
  • Documentation: no usage examples (README.md)
  • Hotspot: Sources/StepperView/Views/StepperAIBuilder.swift (Sources/StepperView/Views/StepperAIBuilder.swift)

New (15)

  • Colors.rawValue (cyclomatic 56) (Sources/StepperView/Extension/Colors+Extension.swift)
  • Documentation: no installation or build instructions (docs/Enums/StepperMode.html)
  • Documentation: no project overview (docs/Enums/Colors/BlueSubType.html)
  • Documentation: no project overview (docs/Enums/Colors/GreenSubType.html)
  • Documentation: no project overview (docs/Enums/Colors/YellowSubType.html)
  • Documentation: no project overview (docs/Enums/StepperMode.html)
  • Documentation: no usage examples (docs/Enums/StepperMode.html)
  • Duplicated block (10 lines × 2) (Sources/StepperView/Views/StepIndicatorHorizontalView.swift)
  • Duplicated block (10 lines × 2) (StepperViewMCP/Sources/StepperViewMCP/Tools/ListColorsTool.swift)
  • Duplicated block (13 lines × 2) (Example/StepperView/ExampleView11.swift)
  • Duplicated block (5 lines × 2) (Example/StepperView/ExampleView11.swift)
  • Duplicated block (6 lines × 3) (StepperViewMCP/Sources/StepperViewMCP/Tools/GenerateCodeTool.swift)
  • Duplicated block (9 lines × 2) (Example/StepperView/ExampleView11.swift)
  • Duplicated block (9 lines × 2) (StepperViewMCP/Sources/StepperViewMCP/Tools/GenerateCodeTool.swift)
  • StepperViewAIGeneratorView.body (cognitive 18) (Sources/StepperView/Views/AI/StepperViewAIGeneratorView.swift)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

badrinathvm/StepperView was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 957ef8c18a9dac76a1ccd96ed85e9dc01e96421a — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.