maykonmeneghel/Clean-SwiftUI
46.4
Weak · 21 September 2026
194
lines of production code
Swift
primary language
4
measurements over time
What this system is
The Content Generator is an iOS application built with SwiftUI that retrieves and displays content items. It implements a clean architecture with distinct domain, infrastructure, and presentation layers, utilizing a dependency injection system to manage state and services. The app fetches content via a remote data source and presents it in a list, supported by initial UI and unit test coverage.
Features
Added ContentRemoteDatasource for remote content retrieval
A new implementation of the ContentDatasource protocol, ContentRemoteDatasource, has been added to the Content Generator's CreateContent/External/Datasource/Remote directory. This struct provides a fetchContents method that returns a hardcoded list of five ContentModel instances, each containing a theme, URL, and level. This change introduces a new data source for content generation, likely serving as a placeholder or initial implementation for remote content fetching.
Content Generator/Features/CreateContent/External · high confidence
Added domain layer for content retrieval
Introduced the domain components for fetching content, including a ContentEntity model, a ContentRepository protocol, and a FetchContentsUseCase to orchestrate the retrieval of content items.
Content Generator/Features/CreateContent/Domain · high confidence
Adds content data access layer with model, mapper, and repository implementation
The Content Generator's infrastructure layer now includes a new data access setup for content. This introduces a ContentModel struct to represent content data, a ContentMapper to convert between the model and an internal ContentEntity, and a ContentRepositoryImpl that uses a ContentDatasource protocol to fetch and map content. This provides the underlying data retrieval mechanism for the Create Content feature.
Content Generator/Features/CreateContent/Infra · high confidence
Initial project structure for Content Generator
The Content Generator Xcode project has been initialized with a new file structure, including the main app entry point (Content\_GeneratorApp.swift), the primary user interface (ContentView.swift), and supporting assets. The project also includes configurations for unit tests (Content\_GeneratorTests) and UI tests (Content GeneratorUITests), along with standard Xcode workspace and scheme management files.
Content Generator.xcodeproj · high confidence
New content display view and view model
A new SwiftUI view (ContentView) and its corresponding view model (ContentViewModel) have been introduced to handle the display of content. The view model encapsulates the logic for fetching content via a use case, while the view binds to this model to render a list of items, automatically triggering the fetch operation when the view appears.
Content Generator/Features/CreateContent/Presentation · medium confidence
Behavioural changes
Introduces a dependency injection system for the Content Generator
The app now uses a \DependencyContainer\ as an environment object to manage application state and inject dependencies throughout the view hierarchy. This includes a \Dependency\ property wrapper for accessing injected services, a \FeaturesContainer\ that organizes feature-specific injectors like \ContentInjector\, and view extensions to support Xcode Previews. This change alters how the app manages and provides services to its components.
Content Generator · high confidence
Test coverage
Added UI and launch tests for Content Generator; Added initial test suite for Content Generator.
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 50 → 46 (-3.5)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 58 → 62 (+4.4)
- Readiness 24 → 17 (-7.3)
- Security 100 → 100 (+0.0)
Resolved (9)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- No exposed public API
- Test reliability not included
- The README describes four layers (Domain, Infra, External, Presentation) and lists each layer's components but does not explain how the layers interact or what code lives where in the repo. (README.md)
- complexity unreadable for .swift — churn × complexity hotspots could not be measured
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- single-maintainer — knowledge-concentration (bus factor) risk
New (13)
- Assertions commented out: testExample (Content GeneratorTests/Content_GeneratorTests.swift)
- Assertions commented out: testExample (Content GeneratorUITests/Content_GeneratorUITests.swift)
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no licence statement (README.md)
- Documentation: no usage examples (README.md)
- Inverted test pyramid
- No ADRs found
- No assertions: testLaunch (Content GeneratorUITests/Content_GeneratorUITestsLaunchTests.swift)
- No assertions: testLaunchPerformance (Content GeneratorUITests/Content_GeneratorUITests.swift)
- No assertions: testPerformanceExample (Content GeneratorTests/Content_GeneratorTests.swift)
- Test project verifies nothing: Content GeneratorTests (Content GeneratorTests/Content_GeneratorTests.swift)
- Test project verifies nothing: Content GeneratorUITests (Content GeneratorUITests/Content_GeneratorUITests.swift)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
maykonmeneghel/Clean-SwiftUI was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit dc367a01461df772c77dcc9d907571be5b626515 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b84573e22831.