reis-mobile 0.7.1 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +22 -0
  4. package/README.md +54 -30
  5. package/agents/kmp-architect.md +26 -0
  6. package/agents/kmp-performance-engineer.md +24 -0
  7. package/agents/kmp-test-engineer.md +26 -0
  8. package/agents/lead-mobile.md +3 -0
  9. package/agents/mobile-release-engineer.md +1 -1
  10. package/bin/reis-mobile.mjs +24 -1
  11. package/commands/debate.md +4 -1
  12. package/commands/project.md +48 -0
  13. package/commands/reis-mobile.md +13 -3
  14. package/commands/release.md +46 -0
  15. package/core/registry/registry.mjs +1 -0
  16. package/core/release/context.mjs +11 -0
  17. package/docs/agent-context.md +2 -2
  18. package/package.json +3 -2
  19. package/skills/mobile-accessibility/SKILL.md +2 -1
  20. package/skills/mobile-accessibility/references/flutter.md +1 -1
  21. package/skills/mobile-accessibility/references/kotlin-multiplatform.md +9 -0
  22. package/skills/mobile-architecture/SKILL.md +2 -1
  23. package/skills/mobile-architecture/references/kotlin-multiplatform.md +11 -0
  24. package/skills/mobile-code-review/SKILL.md +2 -1
  25. package/skills/mobile-code-review/references/flutter/widget-review.md +1 -1
  26. package/skills/mobile-code-review/references/flutter.md +1 -1
  27. package/skills/mobile-code-review/references/kotlin-multiplatform.md +11 -0
  28. package/skills/mobile-debug/SKILL.md +2 -1
  29. package/skills/mobile-debug/references/kotlin-multiplatform.md +10 -0
  30. package/skills/mobile-firebase/SKILL.md +2 -1
  31. package/skills/mobile-firebase/references/kotlin-multiplatform.md +10 -0
  32. package/skills/mobile-flutter/SKILL.md +1 -1
  33. package/skills/mobile-kmp/SKILL.md +26 -0
  34. package/skills/mobile-kmp/references/apple-interop.md +9 -0
  35. package/skills/mobile-kmp/references/build-performance.md +9 -0
  36. package/skills/mobile-kmp/references/compose-ui.md +9 -0
  37. package/skills/mobile-kmp/references/source-sets.md +9 -0
  38. package/skills/mobile-release/SKILL.md +11 -22
  39. package/skills/mobile-release/references/kotlin-multiplatform.md +12 -0
  40. package/skills/mobile-release/references/readiness.md +88 -0
  41. package/skills/mobile-release/scripts/verdict.mjs +59 -0
  42. package/skills/mobile-security/SKILL.md +2 -1
  43. package/skills/mobile-security/references/kotlin-multiplatform.md +10 -0
  44. package/skills/mobile-test/SKILL.md +2 -1
  45. package/skills/mobile-test/references/kotlin-multiplatform.md +12 -0
@@ -0,0 +1,10 @@
1
+ # Kotlin Multiplatform security
2
+
3
+ Trace a credential or sensitive value through shared code and both host apps. Mark the concrete storage and network implementations used by each target.
4
+
5
+ - A `commonMain` interface called `SecureStorage` is not proof of protection: inspect Android's Keystore-backed implementation and iOS Keychain implementation, their failure behavior and how logout clears each store. Do not claim an API exists until the dependency and target code confirm it.
6
+ - Check that shared serializers, caches and logs do not persist or emit tokens or personal data in plain text. Identify the exact object, path and caller.
7
+ - Check platform transport configuration in Android and iOS hosts: cleartext allowances, TLS overrides, deep-link handlers and WebView bridges are target-specific.
8
+ - Check that secrets are not embedded in shared resources or framework exports; anything bundled into either app is extractable.
9
+
10
+ For each finding, give **source path:line → target(s) → exposed object → consequence → fix**. Apply the [Android](android.md) and [iOS](ios.md) references to affected host files, and follow the project's actual storage/network dependencies. The shared source-set boundary is explained in [mobile-kmp](../../mobile-kmp/references/source-sets.md).
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mobile-test
3
- description: Writes, runs and reviews automated tests for mobile apps on every stack — Flutter and Dart (unit, widget and integration tests, Patrol, mocktail, mockito, coverage, package:checks), native Android (JUnit, coroutines and Flow tests, Robolectric, Compose UI tests, Espresso, Hilt, screenshot tests), native iOS (Swift Testing, XCTest, XCUITest) and React Native (Jest, React Native Testing Library, Detox, Maestro). Use whenever the user wants to add, fix or audit tests, set up a test stack, mock dependencies, measure coverage or deal with flaky tests in a mobile project, even if they only name a class to test.
3
+ description: Writes, runs and reviews mobile tests across Flutter, native Android, native iOS, React Native and Kotlin Multiplatform. Covers Dart widget/integration tests, JUnit/Compose/Espresso, XCTest/XCUITest, Jest/Detox, and KMP common/target tests. Use to add, fix, run or audit tests, test setup, mocks, coverage and flaky tests for a real app behavior.
4
4
  intents: [test]
5
5
  stacks: ["*"]
6
6
  ---
@@ -19,6 +19,7 @@ Detect the stack first (the router result, or `pubspec.yaml`, Gradle files, the
19
19
  | Native Android (Kotlin), or the Android side of Kotlin Multiplatform | [references/android.md](references/android.md); for setting up a test stack from scratch, [references/android/setup/GUIDE.md](references/android/setup/GUIDE.md) |
20
20
  | Native iOS (Swift) | [references/ios.md](references/ios.md) |
21
21
  | React Native or Expo | [references/react-native.md](references/react-native.md) |
22
+ | Kotlin Multiplatform shared and target tests | [references/kotlin-multiplatform.md](references/kotlin-multiplatform.md) |
22
23
 
23
24
  A cross-platform app with native code (`android/`, `ios/`, native modules) uses the native reference for that code.
24
25
 
@@ -0,0 +1,12 @@
1
+ # Kotlin Multiplatform tests
2
+
3
+ Resolve the configured targets and actual Gradle test tasks before running a command. Use the [KMP testing guide](https://kotlinlang.org/docs/multiplatform-run-tests.html) and the project's Kotlin plugin version to interpret the task graph.
4
+
5
+ | Behavior under test | Location and runner |
6
+ |---|---|
7
+ | Shared domain rule or mapper | `commonTest`; run the configured target test tasks that compile and execute it. |
8
+ | Android or iOS `actual` implementation | The matching target test source set and runner; a JVM-only pass does not cover Kotlin/Native. |
9
+ | Swift adapter or native host flow | The host app's XCTest/XCUITest or Android local/instrumented suite, depending on the boundary. |
10
+ | Shared Compose screen | Compose Multiplatform UI test where supported by the installed version; also verify the target accessibility and host flow. |
11
+
12
+ For each requested test, record **source path:symbol → input → result → dependency seam → test source set → real task**. Use existing fixtures and test libraries. Discover task names with the project's Gradle wrapper; avoid assuming all iOS targets run on the current machine. Inspect test counts and target results, not only a successful compilation. [Compose Multiplatform UI testing](https://kotlinlang.org/docs/multiplatform/compose-test.html) has separate host constraints.