Skip to content

Latest commit

 

History

History
32 lines (27 loc) · 1.57 KB

File metadata and controls

32 lines (27 loc) · 1.57 KB

Kapusch.StoreKit2ApisForiOSComponents - AI Working Agreement

Goals

  • Provide a reproducible iOS NuGet package for StoreKit 2 interop.
  • Keep the managed API minimal and stable.
  • Never commit secrets or credentials.

Branch and release contract

  • master is the only long-lived branch. Use short-lived feature branches and pull requests.
  • Never implement work directly on release/*, rewrite published history, force-push shared branches, or move an existing tag.
  • Both vX.Y.Z-rc.N and vX.Y.Z must target commits reachable from origin/master.
  • A versionless manual workflow run is a GitHub Packages preview. A manual NuGet.org version publish must run from master and must use an unused version.
  • Historical packaging requires an explicit source_ref reachable from origin/master.
  • Follow Docs/Release.md; the workflow and validation scripts are deterministic and take precedence if prose disagrees.

Packaging constraints

  • Public OSS repo with generic docs and examples.
  • NuGet ships the native interop wrapper xcframework and injects it with NativeReference.
  • Consuming apps must not fetch native dependencies during build.

Repository layout

  • src/Kapusch.StoreKit2ApisForiOSComponents/ - managed API and buildTransitive
  • src/Kapusch.StoreKit2ApisForiOSComponents/Native/iOS/ - Swift wrapper and scripts
  • Docs/ - integration and maintenance docs

Safety

  • Never log purchase tokens or signed payloads in clear text.
  • Keep changes deterministic and reproducible in CI.
  • Preserve all historical tags and package provenance when retiring branches.