pointfreeco/swift-composable-architecture

A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 13 minutes ago
Added to GitGenius on May 29th, 2026
Created on May 3rd, 2020
Open Issues & Pull Requests: 25 (+0)
GitHub issues: Enabled
Number of forks: 1,670
Total Stargazers: 14,892 (+0)
Total Subscribers: 217 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.3 hours
Mean response time: 10.8 days
90th percentile: 11.1 days
Tracked items: 163

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 7% of issues opened in the past year have been closed. Three people close 77% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 16
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 386 days
Stale 30+ days: 16
Stale 90+ days: 13

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (88)
  • 2.0 (10)
  • apple bug (7)
  • deprecated (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

The Composable Architecture is a Swift library developed by Point-Free that provides a structured approach to building applications across all Apple platforms including iOS, macOS, iPadOS, visionOS, tvOS, and watchOS. It works with both SwiftUI and UIKit, offering a consistent methodology for managing state, composing features, handling side effects, and writing tests.

The library addresses core challenges in application development through several key problem domains. State management is handled using simple value types that can be shared across multiple screens, allowing mutations in one screen to be immediately observed elsewhere. Composition enables developers to break down large features into smaller, isolated components that can be extracted into separate modules and reassembled. Side effects are managed in a testable and understandable manner, allowing parts of the application to interact with the outside world predictably. The architecture emphasizes testing at multiple levels, from unit tests of individual features to integration tests of composed features and end-to-end tests that verify how side effects influence the application. All of this is accomplished through a minimal API with few concepts and moving parts.

The core building blocks of the architecture are State, which describes the data a feature needs, Action, which represents all possible events that can occur, Reducer, which evolves state given an action and returns effects, and Store, which is the runtime that executes the reducer and effects while allowing observation of state changes. The library includes extensive examples demonstrating solutions to common and complex problems, including case studies, navigation patterns, higher-order reducers, reusable components, and complete applications like a Tic-Tac-Toe game, Todos app, Voice Memos, and the SyncUps app.

The repository shows strong community engagement and maintenance.

The library was designed through a series of episodes on Point-Free, a video series exploring advanced Swift programming topics. The repository includes comprehensive documentation and a multipart tour of the architecture, making it accessible to developers at various skill levels. The architecture enables developers to write testable code through the TestStore, which allows assertions about how features evolve as actions are sent, including verification of state changes and effect execution. Dependencies can be injected and mocked for testing purposes, allowing deterministic test scenarios even when features interact with external APIs or services.