Skip to content

kyleve/Broadway

Repository files navigation

Broadway

An open-source iOS and Mac Catalyst design system prototype.

Requirements

  • Xcode 16+
  • mise (manages Tuist and SwiftFormat automatically)
  • iOS 26.0+

Getting Started

Install mise

curl https://mise.run | sh

Or via Homebrew:

brew install mise

Set Up the Project

mise install       # Install pinned versions of Tuist and SwiftFormat
./ide -i           # Install dependencies, fetch external skills, generate Xcode project

After the initial setup, run ./ide (without -i) to regenerate the Xcode project without re-installing dependencies.

The ./ide script also configures a Git pre-commit hook that automatically formats staged Swift files with SwiftFormat and keeps generated AI agent configuration in sync.

Run Tests

tuist test

Or open the generated project in Xcode and run tests with Cmd+U.

Project Structure

BroadwayCatalog/          # Catalog app (Sources/, Resources/, Tests/)
BroadwayUI/               # Reusable UI component framework (Sources/, Tests/)
BroadwayCore/             # Foundational utilities framework (Sources/, Tests/)
BroadwayTestHost/         # Minimal test host app
BroadwayTesting/          # Shared test utilities framework
Project.swift             # Tuist project manifest
ide                       # Dev setup script
swiftformat               # Run SwiftFormat
sync-agents               # Sync AI agent configuration across tools

AI Agent Skills

External skills are managed via sync-agents. The manifest at .agents/external-skills.json tracks installed skills pinned to specific commits.

./sync-agents --add <github-url> [name]   # Add a new skill from GitHub
./sync-agents --update                    # Update all skills to latest
./sync-agents --install                   # Fetch skills from the manifest

License

This project is licensed under the Apache License 2.0. See LICENSE for details.

About

Open source iOS design system prototype

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors