An open API service indexing awesome lists of open source software.

https://github.com/ronstorm/tca-kit

A lightweight state-management library inspired by TCA principles.
https://github.com/ronstorm/tca-kit

clean-code composable-architecture state-management swift tca

Last synced: 8 months ago
JSON representation

A lightweight state-management library inspired by TCA principles.

Awesome Lists containing this project

README

          

# TCAKit Documentation

Welcome to the TCAKit documentation! This guide will help you understand and use TCAKit effectively.

## Quick Start

1. **[Installation](installation.md)** - Add TCAKit to your project
2. **[Basic Usage](basic-usage.md)** - Your first TCAKit app
3. **[Examples](../Examples/)** - Ready-to-run example apps

## Core Concepts

### [Store](store.md)
The central component that manages state and handles actions.

### [Reducer](reducer.md)
Pure functions that handle actions and update state.

### [Effect](effect.md)
Represents async side effects with cancellation support.

### [Dependencies](dependencies.md)
Environment-based dependency injection for services.

### [WithStore](withstore.md)
SwiftUI helper for ergonomic store usage in views.

### [TestStore](teststore.md)
Testing utility with fluent assertions and transcripts.

### [CombineBridge](combine-bridge.md)
Seamless integration between Combine publishers and TCAKit effects.

## Advanced Topics

### [SwiftUI Integration](swiftui-integration.md)
Best practices for using TCAKit with SwiftUI.

## Examples

Ready-to-run examples showcasing TCAKit patterns:

- **[BasicCounter](../Examples/BasicCounter/)** - Start here
- **[TodoList](../Examples/TodoList/)** - Intermediate patterns
- **[WeatherApp](../Examples/WeatherApp/)** - Advanced patterns

## Need Help?

- [GitHub Issues](https://github.com/ronstorm/tca-kit/issues)
- [GitHub Discussions](https://github.com/ronstorm/tca-kit/discussions)