Skip to content

Commit aef7cdc

Browse files
committed
Add repo setup orchestration commands
1 parent e86923e commit aef7cdc

17 files changed

Lines changed: 638 additions & 198 deletions

File tree

.env.example

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
# Checkout Kit sample storefront configuration.
2-
# Copy this file to .env, fill in local values, then run:
2+
# Copy this file to .env, fill in local values, then run dev bootstrap or:
33
# scripts/setup_storefront_env
4-
# Optional Apple Pay and Customer Account API values can stay blank.
4+
# Direct interactive setup prompts for optional Apple Pay and Customer Account
5+
# API values by default. dev up/dev bootstrap use non-interactive setup, so
6+
# missing optional values can stay blank.
57
#
68
# Do not commit real values from .env or generated platform config files.
79

.github/CONTRIBUTING.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The following is a set of guidelines for contributing to this project. Please take a moment to read through them before submitting your first PR.
44

5-
This is a monorepo containing the iOS/Swift, Android, and (forthcoming) React Native implementations of the Shopify Checkout Kit. Each platform has its own conventions, tooling, and release process; the shared guidelines below apply to all of them.
5+
This is a monorepo containing the Swift, Android, React Native, and Web implementations of the Shopify Checkout Kit. Each platform has its own conventions, tooling, and release process; the shared guidelines below apply to all of them.
66

77
## Code of Conduct
88

@@ -48,7 +48,25 @@ dev up
4848
dev check
4949
```
5050

51-
Platform-scoped commands are available as `dev android <command>`, `dev swift <command>`, and `dev react-native <command>` (or `dev rn`). Protocol schema/model commands are available as `dev protocol <command>`. For cross-platform changes, use `dev lint`, `dev test`, `dev check`, `dev format`, and `dev build`.
51+
`dev up` performs full DevHub provisioning, then runs Checkout Kit's repo-owned
52+
setup steps. Those repo-owned steps are summarized at the end so a Swift,
53+
Android, React Native, or Web setup failure is visible without hiding later
54+
platform results. If a platform-specific setup step fails, fix it and rerun that
55+
platform directly, for example `dev swift setup`. To rerun the repo-owned setup
56+
summary without DevHub's native provisioning, use `dev bootstrap`.
57+
58+
Setup creates or syncs sample app storefront configuration from the repo-root
59+
`.env`. If `.env` is missing, setup prompts for required storefront values and
60+
then generates the Android, Swift, and React Native sample config files.
61+
Optional Apple Pay and Customer Account API values are preserved if already set,
62+
but `dev up` leaves missing optional values blank instead of prompting. To fill
63+
optional values interactively, run `dev storefront-env sync --prompt-optional`.
64+
65+
Platform-scoped commands are available as `dev android <command>`, `dev swift <command>`, `dev react-native <command>` (or `dev rn`), and `dev web <command>`. Each platform also supports `dev <platform> setup` and `dev <platform> up` for platform-local setup when the full repo does not need to be reprovisioned. Protocol schema/model commands are available as `dev protocol <command>`. For cross-platform changes, use `dev lint`, `dev test`, `dev check`, `dev format`, and `dev build`.
66+
67+
React Native sample apps can be run against local in-repo SDK sources with
68+
`dev rn ios --local` or `dev rn android --local`. The Web sample accepts a
69+
checkout URL directly and does not use the shared storefront credential files.
5270

5371
---
5472

@@ -121,7 +139,7 @@ If your change intentionally modifies the public API:
121139
2. Review the diff in `platforms/android/lib/api/lib.api` alongside your code changes.
122140
3. Commit the updated `.api` file in the same PR.
123141

124-
If you did *not* intend to change public API and `apiCheck` is failing, the diff shows what your change inadvertently affected — treat it as a signal that something in your PR has consumer-visible impact.
142+
If you did _not_ intend to change public API and `apiCheck` is failing, the diff shows what your change inadvertently affected — treat it as a signal that something in your PR has consumer-visible impact.
125143

126144
### Releasing a new Android version
127145

AGENTS.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ platforms/
55
swift/ # iOS Swift Package and CocoaPods sources
66
android/ # Android library and sample apps
77
react-native/ # React Native wrapper
8+
web/ # Web component package and sample app
89
protocol/ # cross-platform communication layer based on UCP
910
e2e/ # cross-platform end-to-end tests
1011
.github/ # workflows, issue templates, CODEOWNERS
@@ -27,10 +28,23 @@ For platform-scoped work, prefer the root `dev.yml` commands:
2728
- Android: `dev android <command>`
2829
- Swift: `dev swift <command>`
2930
- React Native: `dev react-native <command>` or `dev rn <command>`
31+
- Web: `dev web <command>`
32+
33+
Use `dev <platform> setup` or `dev <platform> up` for platform-local setup when
34+
the full repo has already been provisioned. Use `dev bootstrap` to rerun the
35+
repo-owned setup aggregator without rerunning DevHub's native provisioning.
3036
3137
For protocol schema/model work, use `dev protocol <command>`.
3238
3339
For cross-platform changes, use the repo-wide aggregates: `dev lint`,
3440
`dev test`, `dev check`, `dev format`, and `dev build`. Use
3541
`dev <platform> format` for formatting; `fix` remains an alias for existing
3642
workflows.
43+
44+
## Sensitive configuration
45+
46+
Treat storefront environment and generated sample app configuration values as
47+
sensitive. Never print, commit, paste, or document real values from `.env`,
48+
generated platform config, access tokens, merchant identifiers, shop IDs,
49+
account IDs, or storefront domains. Use synthetic placeholders for docs and
50+
verification.

0 commit comments

Comments
 (0)