@meadow-studio/platform 0.1.1 → 0.1.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.
@@ -90,11 +90,30 @@ records, and release history. The generated foundation currently uses:
90
90
  - Vitest unit tests and coverage thresholds;
91
91
  - Playwright phone and tablet screenshot comparisons;
92
92
  - a repository-local app-development skill linked from `AGENTS.md`;
93
+ - a pinned `@meadow-studio/design` dependency and its shared fonts and semantic tokens;
93
94
  - GitHub Actions for quality, web, visual, Android, and unsigned iOS builds; and
94
95
  - exact dependency versions and immutable GitHub Action revisions.
95
96
 
96
- Ionic and Meadow Design are not part of the foundation. Either may be adopted by an app as an explicit
97
- app-owned choice.
97
+ Generated app scripts also build and install local iOS and Android debug apps with either the
98
+ development or production web configuration. `npm run deploy:ios` and `npm run deploy:android`
99
+ default to development. Deployments remember the last successful device separately for each app
100
+ and platform; `-- --select` opens the device picker again. `meadow sync` keeps the deploy scripts
101
+ aligned with the enabled native targets; signed store distribution remains a separate release step.
102
+
103
+ Meadow Design is the default starting point for new app UI. The app adapts its semantic tokens,
104
+ components, illustrations, and layouts to its product direction; the platform runtime remains
105
+ independent of the design package. An established app can retain a different design system. Ionic
106
+ remains an app-owned choice.
107
+
108
+ The generated settings page follows Stay Light's structure: short, muted section headings above
109
+ individual Meadow list items, with trailing values and no card wrappers around groups. Generated
110
+ agent instructions and the app-development skill preserve that structure when preferences are
111
+ added, unless the user explicitly requests a different layout. Meadow Design documents the
112
+ composition in its Settings recipe; each app still owns its preferences, content, and theme.
113
+
114
+ New apps also receive a Stay Light-style launch view: their title and short description are shown
115
+ with a logo that arrives over 1.6 seconds. The generated logo is a placeholder for each product to
116
+ replace; visual tests bypass the launch view to capture stable app pages.
98
117
 
99
118
  ## Ownership boundary
100
119
 
@@ -136,7 +155,7 @@ needs rather than hypothetical completeness.
136
155
  | Analytics | `MeadowAnalyticsService` persists explicit consent, requires a configured production environment, allowlists events/properties, and delivers native events through Firebase without exposing provider types. | The app owns its event catalogue, tracking moments, consent UI/copy, disclosures, and Firebase project. Web, development, and test delivery remain off. |
137
156
  | Crash reporting | `MeadowCrashReportingService` persists separate explicit consent and provides failure-safe handled-error and breadcrumb APIs over native Firebase Crashlytics. Generated native projects start collection off and eagerly enforce environment and consent state at startup. | The app owns consent UI/copy and decides which non-sensitive diagnostic context is appropriate. Final Firebase console and iOS symbol-upload verification remain release checks. |
138
157
  | App rating | `MeadowAppRatingService` calls the system store surface on native platforms with concurrency, version, cooldown, and rolling-year safeguards. | The app decides the meaningful success moment; Apple and Google decide whether a prompt appears. |
139
- | Infrastructure UI | `@meadow-studio/platform/ui` provides app-build information and privacy/support links with app-overridable labels and CSS variables. | It is not a design system; feature UI stays with the app or optional Meadow Design. |
158
+ | Infrastructure UI | `@meadow-studio/platform/ui` provides app-build information and privacy/support links with app-overridable labels and CSS variables. | Feature UI uses Meadow Design by default and remains app-owned in its composition and product behavior. |
140
159
  | Local data | `meadow add local-data` generates migrated SQLite, transactions, a typed document store, browser IndexedDB persistence, tests, and safety checks. Browser persistence and Android compilation are validated; a clean iOS simulator compile of this optional recipe remains pending. | Tables, domain mapping, data sensitivity decisions, and deletion/reset behavior remain app-owned. |
141
160
  | Local notifications | `meadow add notifications` pins and synchronizes the native provider. `MeadowNotificationService` exposes permission state, an explicit permission request, one-off and calendar schedules, replace/cancel/pending operations, Android channels, normalized failures, and tap actions. Web and disabled apps safely report the capability as unavailable. Clean generated Android and iOS simulator builds passed; on-device delivery remains app release verification. | The app owns permission explanation and trigger, copy, IDs, timing rules, channels, tap navigation, and analytics. Meadow never prompts as a scheduling side effect and uses inexact Android alarms by default. |
142
161
  | Firebase setup | The base app includes Analytics and Crashlytics dependencies; `meadow configure firebase` validates the files needed by enabled platforms, synchronizes native projects, installs Android build plugins, and registers `GoogleService-Info.plist` as an iOS app resource. `meadow doctor` checks dependencies, files, plugins, bundled resources, and opt-in defaults. | The app owns its Firebase project and must verify an event and test crash on a device before release. iOS dSYM upload configuration remains app-specific release setup. |
@@ -47,8 +47,8 @@ App → The unique product/domain logic
47
47
 
48
48
  Meadow Design and Meadow Platform are separate concerns.
49
49
 
50
- Meadow Design is an optional reusable design system. It is not part of the generated platform
51
- foundation, and applications such as 24h Pushups can own a completely different visual language.
50
+ Meadow Design is the default reusable design system in newly generated apps. It remains a separate
51
+ package from the platform runtime, and an app may intentionally use a different visual system.
52
52
 
53
53
  Meadow Platform provides reusable application infrastructure, integrations, configuration, tooling,
54
54
  and release guardrails, with further automation added only when real release work proves its value.
@@ -58,8 +58,8 @@ Individual apps should contain as little generic infrastructure as reasonably po
58
58
  ## Repository Strategy
59
59
 
60
60
  Meadow Platform and Meadow Design live as independent projects in the same private repository. They
61
- have separate package manifests, builds, tests, and ownership boundaries. Meadow Design remains
62
- optional for every application; the platform does not depend on it.
61
+ have separate package manifests, builds, tests, and ownership boundaries. The app generator pins
62
+ Meadow Design by default, but the platform runtime does not depend on it.
63
63
 
64
64
  Individual apps live in their own repositories. Each repository keeps the mobile app at its root
65
65
  and a separate, app-owned `website/` project for its public app reference, support, and legal pages.
@@ -175,7 +175,8 @@ The current shared app foundation uses:
175
175
  - TypeScript
176
176
  - Firebase Analytics and Crashlytics
177
177
 
178
- Ionic and Meadow Design are app-owned choices, not Meadow Platform dependencies.
178
+ Ionic remains an app-owned choice. Generated apps start with Meadow Design, while the platform
179
+ runtime remains independent of that design package. Apps own their final visual language.
179
180
 
180
181
  Stay Light is the first major reference application.
181
182
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meadow-studio/platform",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"