Overview › Documentation & Comments
Documentation & Comments
Stale README; minimal DocC coverage; no ADRs.
55
SCORE
Summary
Top-level README.md exists; per-package READMEs in Costco-Digital/ are absent. DocC not adopted. No ADRs.
Documentation surface vs target
| Asset | Today | Target |
|---|---|---|
| Root README | Present, possibly stale | Refresh: setup steps, scheme map, branching, on-call, security contact |
| Per-SPM-package README | Absent (29 packages) | 1 paragraph each: purpose, public types, example |
| DocC catalogs | Not adopted | For Core, CoreImplementation, CostcoDesignSystem |
| ADRs (architectural decisions) | None | 5-10 backfilled (CocoaPods→SPM, MVVM, RZVinyl retirement, etc.) |
| CODEOWNERS | Likely absent | Map SPM packages to teams |
| Setup script | Likely absent | scripts/setup.sh for new-engineer first-run |
| API surface annotations | /// comments sparse | SwiftLint missing_docs for shared package public API |
DocC quick-start
# Add a documentation catalog to a package:
# Costco-Digital/Core/Sources/Core/Core.docc/Core.md
# Document a public type:
/// A high-level description.
///
/// Detailed description with examples.
///
/// - Important: Anything thread-safety or lifecycle related.
public protocol NetworkClient {
/// Sends a request and returns a typed response.
func send<T: Decodable>(_ request: APIRequest<T>) async throws -> T
}
# Build & preview:
swift package generate-documentation --target Core
swift package --disable-sandbox preview-documentation --target Core
Suggested ADR backlog
- Why CocoaPods + SPM hybrid (and the migration plan).
- MVVM as default architecture — when to use Coordinators / TCA.
- RZVinyl retirement strategy and replacement (CostcoNetworkClient + Codable).
- SwiftUI vs UIKit for new screens (decision tree).
- Snapshot testing baseline (per-locale plans, when to update reference images).
- Privacy Manifest workflow (who owns updates).
Findings
""HIGH
No per-SPM-package README
29 SPM packages, no module-level docs. New engineers must read code to understand intent.
Recommendation: Add a 1-paragraph README to each package: purpose, public types, example usage.
MEDIUM
DocC not used
Apple's DocC ships with Xcode and produces beautiful API docs from
/// comments.Recommendation: Generate DocC for
Core, CoreImplementation, CostcoDesignSystem first; publish to internal Pages.MEDIUM
No ADRs
Architectural decisions (CocoaPods → SPM migration, MVVM choice, RZVinyl retirement plan) undocumented.
Recommendation: Adopt MADR; backfill 5-10 key decisions.
No findings logged in this category yet for iOS.
Costco iOS · Code Review Report · Generated 2026-05-07 · 88 machine-curated findings