Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/JerryZLiu/Dayflow/llms.txt

Use this file to discover all available pages before exploring further.

This guide will help you set up your development environment for contributing to Dayflow.

Prerequisites

Before you begin, ensure you have the following installed:
  • Xcode 15+ - Download from the Mac App Store
  • macOS 13.0+ - Required to build and run Dayflow
  • Git - For cloning the repository (included with Xcode Command Line Tools)
After installing Xcode, run xcode-select --install in Terminal to ensure Command Line Tools are installed.

Clone the Repository

1

Clone Dayflow

Open Terminal and clone the repository:
git clone https://github.com/JerryZLiu/Dayflow.git
cd Dayflow
2

Open the project

Open the Xcode project:
open Dayflow/Dayflow.xcodeproj
The project file is located at Dayflow/Dayflow.xcodeproj within the repository.

Understanding the Project Structure

Dayflow’s codebase is organized as follows:
Dayflow/
├─ Dayflow/                 # SwiftUI app sources
│  ├─ Dayflow/              # Main app code
│  │  ├─ Timeline UI        # Timeline view and components
│  │  ├─ Debug UI           # Developer tools and debug views
│  │  └─ Capture Pipeline   # Screen recording and AI analysis
│  ├─ DayflowTests/         # Unit tests
│  └─ DayflowUITests/       # UI tests
├─ docs/                    # Documentation assets and appcast
│  ├─ images/               # Screenshots and animations
│  └─ assets/               # DMG background and other assets
└─ scripts/                 # Release automation scripts
   ├─ release.sh            # One-button release workflow
   ├─ release_dmg.sh        # Build, sign, and notarize DMG
   └─ update_appcast.sh     # Update Sparkle appcast feed

Key Directories

  • Dayflow/Dayflow/ - Contains all SwiftUI views, models, and business logic
  • DayflowTests/ - Unit tests for core functionality
  • DayflowUITests/ - UI tests for user interface validation
  • scripts/ - Build automation and release scripts (see Building for details)

Running Tests

Dayflow includes both unit tests and UI tests to ensure code quality.
1

Run all tests

In Xcode, press Cmd + U or select Product → Test from the menu.
2

Run specific test suites

To run a specific test suite:
  • Unit tests only: Select the DayflowTests scheme
  • UI tests only: Select the DayflowUITests scheme
3

Run from command line

You can also run tests from Terminal:
# Run all tests
xcodebuild test -project Dayflow/Dayflow.xcodeproj -scheme Dayflow

# Run only unit tests
xcodebuild test -project Dayflow/Dayflow.xcodeproj -scheme Dayflow -only-testing:DayflowTests
Test files include TimeParsingTests.swift for unit tests and DayflowUITests.swift for UI automation.

Next Steps

Now that your development environment is set up, you can:

Build docs developers (and LLMs) love