# krzysztofzablocki/Difference

Simple way to identify what is different between 2 instances of any type. Must have for TDD.

Repository: https://github.com/krzysztofzablocki/Difference
Canonical: https://ross.abutalabs.com/products/difference
Homepage: http://merowing.info
Language: Swift
License: MIT
License Family: permissive
Topics: testing, ios, swift, macos, watchos, tvos
Last push: 2025-05-08T05:01:06+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 20, release rhythm 8, longevity 100
- inputs: {"age_days": 3241, "days_push": 482, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1243, forks 60 (observed 2026-08-28T04:04:06.592474+00:00)

## What it is
A Swift library that highlights exactly which properties differ between two instances of any type, producing readable diffs instead of Xcode's wall of text. It integrates with XCTest, Quick, and lldb to improve test failure output.

## Use cases
- show readable diffs when XCTAssertEqual fails
- find which property differs between two Swift objects in tests
- debug test failures with po dumpDiff in lldb
- improve TDD workflow with better equality assertions
- integrate diff output into Quick matchers

## When to choose
- you write Swift tests with equality assertions and want clear failure messages
- you use XCTest or Quick and struggle to spot differences in large object dumps
- you want a lightweight MIT-licensed Swift package for iOS/macOS testing

## When to avoid
- you don't work in Swift or Apple platforms
- you need snapshot/image-based test comparison rather than value diffs

## Facets
- artifact type: library
- maturity: active
- function: testing, developer-tools
- domain: testing, developer-tools
- platform: cross-platform
- tags: swift, xctest, tdd, diff, unit-testing, quick, lldb, ios, macos

## Member repositories
- krzysztofzablocki/Difference (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:06.592474+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T05:08:20.009671+00:00, confidence not recorded.
  - readme: https://github.com/krzysztofzablocki/Difference (fetched 2026-08-28T04:04:06.592474+00:00, sha 32d7497d480a)
  - homepage: http://merowing.info (fetched 2026-08-29T12:20:00.108681+00:00, sha 61f3f84527cc)
  - site_page: https://merowing.info/about (fetched 2026-08-29T12:20:00.111109+00:00, sha 169bfe72ef06)
  - site_page: https://merowing.info/posts/eval-loops-for-llm-features (fetched 2026-08-29T12:20:00.113545+00:00, sha b28398939c2f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
