Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

ChatKit Documentation

Complete documentation for building AI-powered chat applications with FinClip ChatKit.


🚀 Quick Navigation

Choose Your Language

Swift Developer?Swift Quick StartSwift Developer Guide

Objective-C Developer?Objective-C Quick StartObjective-C Developer Guide


📚 Documentation Structure

Overview & Getting Started

Core Guides

Swift

  • Swift Developer Guide - Comprehensive Swift guide from beginner to expert
    • Basic usage
    • Multiple conversations
    • Conversation list UI
    • Advanced patterns

Objective-C

Shared Concepts

Integration & Setup

Customization

Reference


🎯 Learning Paths

For Swift Developers

  1. Optional: Learn About ChatKitOverview - Understand features, protocols, and capabilities

  2. Start Here: Swift Quick Start

    • 5-minute setup
    • Minimal code example
  3. Learn Basics: Swift Developer Guide - Part 1

    • Detailed walkthrough
    • Key concepts
  4. Build Features: Swift Developer Guide - Parts 2 & 3

    • Multiple conversations
    • Conversation history
  5. Customize: Component Embedding | Providers

  6. Advanced: API Levels | Architecture

For Objective-C Developers

  1. Optional: Learn About ChatKitOverview - Understand features, protocols, and capabilities

  2. Start Here: Objective-C Quick Start

    • 5-minute setup
    • Minimal code example
  3. Learn Basics: Objective-C Developer Guide - Basic Usage

    • Coordinator setup
    • Creating conversations
    • Showing chat UI
  4. Build Features: Objective-C Developer Guide - Multiple Conversations

    • Conversation manager
    • Observing updates
    • Resuming conversations
  5. Customize: Component Embedding | Provider Customization

  6. Reference: Objective-C API Reference


📖 Use Case Navigation

I want to...

Learn about ChatKit and its features

  • Overview - Complete introduction: features, protocols, capabilities, and what you can build

Build a simple chat app

Add multiple conversations

Show conversation history

Embed chat in a drawer

Present chat as a sheet

Use Objective-C

Customize conversation titles

Add location context or custom context providers

Configure chat UI behavior and appearance

  • Swift & Objective-C: Configuration Guide - Complete configuration reference
  • Status banner, welcome messages, prompt starters, tools, context providers
  • Theme customization, performance tuning, debug settings

Set up automated builds

Troubleshoot issues


🧪 Example Apps

Simple (Swift)

Location: demo-apps/iOS/Simple/

What it demonstrates:

  • High-level APIs
  • Drawer-based navigation
  • Component embedding
  • Standard build tooling

Run it:

cd demo-apps/iOS/Simple
make run

See: Simple README

SimpleObjC (Objective-C)

Location: demo-apps/iOS/SimpleObjC/

What it demonstrates:

  • Objective-C high-level APIs
  • Navigation-based flow
  • Remote dependency usage

Run it:

cd demo-apps/iOS/SimpleObjC
make run

See: SimpleObjC README


📁 Documentation Structure

docs/
├── README.md (this file)           # Main documentation index
├── overview.md                     # High-level overview and introduction
│
├── Getting Started
│   ├── getting-started.md          # Detailed walkthrough (Swift & Objective-C)
│   └── quick-start.md              # Minimal skeleton templates (5 minutes)
│
├── guides/                         # Language-specific comprehensive guides
│   ├── developer-guide.md          # Swift comprehensive guide
│   ├── developer-guide.zh.md       # Swift guide (Chinese)
│   ├── objective-c-guide.md        # Objective-C comprehensive guide
│   ├── objective-c-guide.zh.md     # Objective-C guide (Chinese)
│   ├── configuration.md            # Configuration guide (Swift & Objective-C)
│   ├── configuration.zh.md         # Configuration guide (Chinese)
│   ├── context-providers.md        # Context providers guide (Swift & Objective-C)
│   ├── context-providers.zh.md     # Context providers guide (Chinese)
│   ├── prompt-starters.md          # Prompt starters guide (Swift & Objective-C)
│   └── prompt-starters.zh.md       # Prompt starters guide (Chinese)
│
├── Core Concepts                   # Shared concepts (Swift & Objective-C)
│   ├── api-levels.md               # High-level vs low-level APIs
│   ├── api-levels.zh.md            # API levels (Chinese)
│   ├── component-embedding.md      # Component usage scenarios
│   └── component-embedding.zh.md   # Component embedding (Chinese)
│
├── Integration & Setup
│   ├── integration-guide.md        # Package managers, installation
│   ├── integration-guide.zh.md     # Integration guide (Chinese)
│   ├── build-tooling.md             # Makefile, XcodeGen
│   ├── build-tooling.zh.md         # Build tooling (Chinese)
│   ├── remote-dependencies.md      # Remote binary dependencies
│   ├── remote-dependencies.zh.md  # Remote dependencies (Chinese)
│   └── running-demos.md            # Running demo applications
│
├── Customization
│   └── how-to/
│       ├── customize-ui.md         # UI customization
│       └── customize-ui.zh.md      # UI customization (Chinese)
│
├── Reference
│   ├── architecture/
│   │   ├── overview.md             # Framework architecture
│   │   └── overview.zh.md          # Architecture (Chinese)
│   └── troubleshooting.md          # Common issues and solutions
│
└── archive/                        # Historical/maintainer documentation
    ├── summaries/                  # Historical summaries
    ├── llmtxt/                     # Legacy content
    ├── STRUCTURE.md                # Documentation structure (for maintainers)
    ├── RESTRUCTURING_SUMMARY.md    # Restructuring summary (for maintainers)
    └── TRANSLATION_STATUS.zh.md    # Translation status (for maintainers)

🔑 Key Concepts

High-Level APIs (Recommended)

Ready-made components that handle most use cases:

  • ChatKitCoordinator / CKTChatKitCoordinator - Runtime lifecycle
  • ChatKitConversationViewController - Chat UI (Swift & Objective-C)
  • ChatKitConversationListViewController - List UI (Swift & Objective-C)

See: API Levels Guide

Low-Level APIs (Advanced)

Direct access for maximum flexibility:

  • Direct runtime access
  • Manual UI binding
  • Custom implementations

See: API Levels Guide

Provider Mechanism

Customize framework behavior:

  • Context providers - Attach location, calendar, notes, etc.
  • ASR providers - Custom speech recognition
  • Title generation providers - Custom conversation titles

See: Context Providers Guide | API Levels Guide


🌐 Language Support

Swift

  • ✅ Full API support
  • ✅ Async/await patterns
  • ✅ Combine publishers
  • ✅ Type-safe APIs

Guides: Swift Developer Guide

Objective-C

  • ✅ Full API support via wrappers
  • ✅ Delegate-based patterns
  • ✅ Completion handlers
  • CKT-prefixed classes

Guides: Objective-C Developer Guide


📋 Version Information

This documentation is for ChatKit 0.7.4.

All examples and code snippets use APIs available in version 0.7.4 or later.


🤝 Contributing

Found an issue or want to improve the documentation?

  1. Open an issue describing the problem or improvement
  2. Submit a pull request with your changes
  3. Follow the existing documentation style and structure

🆘 Support


🎓 What You'll Learn

From the examples and documentation:

  • ✅ High-level APIs for rapid development (Swift & Objective-C)
  • ✅ Safe runtime lifecycle management
  • ✅ Ready-made UI components
  • ✅ Component embedding in various containers
  • ✅ Managing multiple conversations
  • ✅ Provider mechanisms (context, ASR, title generation)
  • ✅ Reproducible builds with Makefile and XcodeGen
  • ✅ Best practices and common pitfalls

Ready to build?


Made with ❤️ by the FinClip team