用途:指导 Contentstack Utils Swift 项目的日常开发,包括本地初始化、分支管理与 PR 流程,并解答如何运行测试、哪个分支对应 master 等问题。
分支与 CI:使用功能分支,如 feat/...、fix/... 或工单分支。CI 在推送到 master 以及针对 master 或 next 的 PR 时运行(.github/workflows/ci.yml)。合并到 master 可能受限:base 为 master 的 PR 通常应来自 staging,其它来源可能无法通过 check-branch 工作流(.github/workflows/check-branch.yml),需先与团队确认。
构建与测试:SPM 使用 swift build、swift test;iOS 模拟器的 Xcode 方式为 xcodebuild -project "ContentstackUtils.xcodeproj" -scheme "ContentstackUtils-Package" -destination "OS=13.4.1,name=iPhone 11 Pro" test,需按本地 Xcode/模拟器调整 -destination。开 PR 前先跑测试,默认测试使用离线 mock 与 fixture,无需 .env 或在线 stack 凭证。
Lint:使用 SwiftLint,命令为 swiftlint(配置 .swiftlint.yml)。
PR 要求:构建通过 swift build 与 swift test,若涉及 Xcode 相关路径还需 xcodebuild;合并前遵循代码评审技能(skills/code-review/SKILL.md);优先保持公共 API 向后兼容,并说明破坏性变更与 semver;发布时按团队流程描述行为并更新 CHANGELOG.md 与版本元数据(ContentstackUtils.podspec、tags);CI 可能运行安全/策略扫描(如 .github/workflows/sca-scan.yml、policy-scan.yml)。
可选 TDD:若团队采用 TDD,遵循 RED → GREEN → REFACTOR,测试结构见 skills/testing/SKILL.md。
覆盖率:测试后使用 Slather(.slather.yml,scheme 为 ContentstackUtils-Package)检查 Sources/ContentstackUtils/ 的覆盖率。
限制:上述为项目工作流约定,具体分支门禁与发布流程需以团队实际确认为准;资料未提供其他环境配置或额外命令。