@meadow-studio/platform 0.0.0-stage → 0.1.1

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 (91) hide show
  1. package/MeadowPlatform.podspec +17 -0
  2. package/Package.swift +23 -0
  3. package/README.md +147 -2
  4. package/android/build.gradle +42 -0
  5. package/android/src/main/AndroidManifest.xml +1 -0
  6. package/android/src/main/java/app/meadow/platform/MeadowAppRatingPlugin.java +38 -0
  7. package/dist/cli/app-skill.d.ts +3 -0
  8. package/dist/cli/app-skill.d.ts.map +1 -0
  9. package/dist/cli/app-skill.js +38 -0
  10. package/dist/cli/app-skill.js.map +1 -0
  11. package/dist/cli/commands.d.ts +74 -0
  12. package/dist/cli/commands.d.ts.map +1 -0
  13. package/dist/cli/commands.js +1095 -0
  14. package/dist/cli/commands.js.map +1 -0
  15. package/dist/cli/config.d.ts +123 -0
  16. package/dist/cli/config.d.ts.map +1 -0
  17. package/dist/cli/config.js +428 -0
  18. package/dist/cli/config.js.map +1 -0
  19. package/dist/cli/inspiration.d.ts +3 -0
  20. package/dist/cli/inspiration.d.ts.map +1 -0
  21. package/dist/cli/inspiration.js +12 -0
  22. package/dist/cli/inspiration.js.map +1 -0
  23. package/dist/cli/meadow.d.ts +8 -0
  24. package/dist/cli/meadow.d.ts.map +1 -0
  25. package/dist/cli/meadow.js +466 -0
  26. package/dist/cli/meadow.js.map +1 -0
  27. package/dist/cli/product-brief.d.ts +3 -0
  28. package/dist/cli/product-brief.d.ts.map +1 -0
  29. package/dist/cli/product-brief.js +38 -0
  30. package/dist/cli/product-brief.js.map +1 -0
  31. package/dist/cli/recipes.d.ts +10 -0
  32. package/dist/cli/recipes.d.ts.map +1 -0
  33. package/dist/cli/recipes.js +575 -0
  34. package/dist/cli/recipes.js.map +1 -0
  35. package/dist/cli/sync.d.ts +14 -0
  36. package/dist/cli/sync.d.ts.map +1 -0
  37. package/dist/cli/sync.js +310 -0
  38. package/dist/cli/sync.js.map +1 -0
  39. package/dist/cli/templates.d.ts +27 -0
  40. package/dist/cli/templates.d.ts.map +1 -0
  41. package/dist/cli/templates.js +1292 -0
  42. package/dist/cli/templates.js.map +1 -0
  43. package/dist/cli/website.d.ts +5 -0
  44. package/dist/cli/website.d.ts.map +1 -0
  45. package/dist/cli/website.js +262 -0
  46. package/dist/cli/website.js.map +1 -0
  47. package/dist/index.d.ts +5 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +5 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/notifications.d.ts +119 -0
  52. package/dist/notifications.d.ts.map +1 -0
  53. package/dist/notifications.js +320 -0
  54. package/dist/notifications.js.map +1 -0
  55. package/dist/platform.d.ts +163 -0
  56. package/dist/platform.d.ts.map +1 -0
  57. package/dist/platform.js +623 -0
  58. package/dist/platform.js.map +1 -0
  59. package/dist/purchases.d.ts +88 -0
  60. package/dist/purchases.d.ts.map +1 -0
  61. package/dist/purchases.js +296 -0
  62. package/dist/purchases.js.map +1 -0
  63. package/dist/ui/app-build.component.d.ts +18 -0
  64. package/dist/ui/app-build.component.d.ts.map +1 -0
  65. package/dist/ui/app-build.component.js +56 -0
  66. package/dist/ui/app-build.component.js.map +1 -0
  67. package/dist/ui/app-build.model.d.ts +11 -0
  68. package/dist/ui/app-build.model.d.ts.map +1 -0
  69. package/dist/ui/app-build.model.js +18 -0
  70. package/dist/ui/app-build.model.js.map +1 -0
  71. package/dist/ui/app-links.component.d.ts +14 -0
  72. package/dist/ui/app-links.component.d.ts.map +1 -0
  73. package/dist/ui/app-links.component.js +77 -0
  74. package/dist/ui/app-links.component.js.map +1 -0
  75. package/dist/ui/app-links.model.d.ts +18 -0
  76. package/dist/ui/app-links.model.d.ts.map +1 -0
  77. package/dist/ui/app-links.model.js +17 -0
  78. package/dist/ui/app-links.model.js.map +1 -0
  79. package/dist/ui/index.d.ts +5 -0
  80. package/dist/ui/index.d.ts.map +1 -0
  81. package/dist/ui/index.js +5 -0
  82. package/dist/ui/index.js.map +1 -0
  83. package/docs/CLI.md +389 -0
  84. package/docs/PLATFORM_GUIDE.md +423 -0
  85. package/docs/POC_FINDINGS.md +218 -0
  86. package/docs/PROJECT_BRIEF.md +501 -0
  87. package/docs/RELEASING.md +49 -0
  88. package/docs/V0.1_PATH.md +310 -0
  89. package/ios/Sources/MeadowPlatformPlugin/MeadowAppRatingPlugin.swift +39 -0
  90. package/package.json +89 -4
  91. package/schema/meadow-config.schema.json +250 -0
@@ -0,0 +1,17 @@
1
+ require 'json'
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = 'MeadowPlatform'
7
+ s.version = package['version']
8
+ s.summary = package['description']
9
+ s.license = package['license']
10
+ s.homepage = package['homepage']
11
+ s.author = package['author']
12
+ s.source = { :git => package['repository']['url'], :tag => 'v' + package['version'] }
13
+ s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}'
14
+ s.ios.deployment_target = '15.0'
15
+ s.dependency 'Capacitor'
16
+ s.swift_version = '5.9'
17
+ end
package/Package.swift ADDED
@@ -0,0 +1,23 @@
1
+ // swift-tools-version: 5.9
2
+ import PackageDescription
3
+
4
+ let package = Package(
5
+ name: "MeadowPlatform",
6
+ platforms: [.iOS(.v15)],
7
+ products: [
8
+ .library(name: "MeadowPlatform", targets: ["MeadowPlatformPlugin"]),
9
+ ],
10
+ dependencies: [
11
+ .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "8.0.0"),
12
+ ],
13
+ targets: [
14
+ .target(
15
+ name: "MeadowPlatformPlugin",
16
+ dependencies: [
17
+ .product(name: "Capacitor", package: "capacitor-swift-pm"),
18
+ .product(name: "Cordova", package: "capacitor-swift-pm"),
19
+ ],
20
+ path: "ios/Sources/MeadowPlatformPlugin"
21
+ ),
22
+ ]
23
+ )
package/README.md CHANGED
@@ -1,3 +1,148 @@
1
- # Temporary Holding Version
1
+ # Meadow Platform
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Meadow Platform is an app-production system for moving from an idea to a release-ready Angular
4
+ and Capacitor application quickly and consistently.
5
+
6
+ It combines a project-creation and adoption CLI, one public npm runtime package, optional capability recipes,
7
+ integration setup, native projects, testing, pull-request CI, diagnostics, and release guardrails.
8
+ Each generated app remains a standalone repository and owns its product, design, credentials, and
9
+ store presence.
10
+
11
+ ```text
12
+ Idea → meadow new (or meadow init) → product work → configure capabilities → CI → release checks → stores
13
+ ```
14
+
15
+ Start with the [Meadow Platform guide](docs/PLATFORM_GUIDE.md). It is the current source for the
16
+ platform mental model, complete capability map, usage workflow, ownership boundaries, and maturity
17
+ limits.
18
+
19
+ ## Create an application
20
+
21
+ ```sh
22
+ meadow new my-app
23
+ ```
24
+
25
+ The generated repository has an app at its root and a static companion website in `website/`.
26
+ The app foundation includes Angular 22, Capacitor 8, iOS and Android projects, Firebase
27
+ dependencies, Vitest, Playwright screenshot testing, GitHub Actions, release documentation, and a
28
+ pinned `@meadow-studio/platform` dependency. RevenueCat and Supabase are optional setup choices. Ionic and
29
+ Meadow Design are not included; they remain app-owned decisions.
30
+
31
+ Useful next commands include:
32
+
33
+ ```sh
34
+ meadow sync
35
+ meadow add local-data
36
+ meadow add notifications
37
+ meadow configure firebase ...
38
+ meadow doctor
39
+ meadow version patch production
40
+ meadow release-check all
41
+ ```
42
+
43
+ See [the CLI guide](docs/CLI.md) for exact commands and generated behavior.
44
+
45
+ ## Adopt an existing application
46
+
47
+ In an empty Git checkout containing only `.git`, `meadow init` generates the complete app and
48
+ companion website in place without replacing Git history or its configured remote.
49
+
50
+ From an existing Angular 22 and Capacitor 8 repository, preview and apply the Meadow control-plane
51
+ foundation without replacing app-owned source, scripts, CI, or instructions:
52
+
53
+ ```sh
54
+ meadow init --dry-run
55
+ meadow init
56
+ ```
57
+
58
+ Initialization infers the app identity and installed providers, creates `meadow.config.json` and a
59
+ companion `website/` project when absent, installs
60
+ the pinned platform and shared provider dependencies, adds narrowly scoped Meadow scripts, and adds a
61
+ managed agent-guidance section pointing at the documentation for the installed platform version.
62
+ It finishes with `meadow doctor`, which makes any remaining differences from the complete generated
63
+ foundation explicit.
64
+
65
+ ## Typed project configuration
66
+
67
+ `meadow.config.json` v2 is the source of truth for application identity, platforms, devices,
68
+ orientation, release numbers, environments, links, store records, enabled capabilities, public
69
+ provider identifiers, and typed analytics events. After editing it, synchronize generated and
70
+ native project files with:
71
+
72
+ ```sh
73
+ meadow sync
74
+ meadow sync --check
75
+ ```
76
+
77
+ The check form never writes and is included in generated CI. Secrets and deploy-specific values
78
+ remain in ignored environment files or CI secret stores.
79
+
80
+ ## Runtime package
81
+
82
+ Configure the package once in the Angular root providers:
83
+
84
+ ```ts
85
+ import { provideMeadowPlatform } from '@meadow-studio/platform';
86
+
87
+ provideMeadowPlatform({
88
+ app: {
89
+ name: 'Example App',
90
+ id: 'app.meadow.example',
91
+ },
92
+ environment: 'development',
93
+ analytics: {
94
+ enabled: true,
95
+ allowedEvents: ['item_created'],
96
+ allowedProperties: ['source'],
97
+ },
98
+ crashReporting: { enabled: true },
99
+ notifications: { enabled: true },
100
+ });
101
+ ```
102
+
103
+ The public runtime currently provides:
104
+
105
+ - validated, immutable app and environment configuration;
106
+ - native app version, build number, and platform information;
107
+ - provider-neutral analytics with app-owned allowlists, persisted explicit consent, and native
108
+ Firebase delivery;
109
+ - consent-gated native crash reporting for handled errors and diagnostic breadcrumbs;
110
+ - provider-neutral native purchases with product loading, entitlement state, normalized outcomes,
111
+ restore, and an app support identifier;
112
+ - provider-neutral local notifications with explicit permission state, schedule/replace/cancel,
113
+ pending notifications, Android channels, and tap actions;
114
+ - system app-rating requests with shared frequency safeguards; and
115
+ - optional app-build and privacy/support UI through `@meadow-studio/platform/ui`.
116
+
117
+ The platform deliberately distinguishes complete capabilities from setup foundations. Firebase
118
+ Analytics, Crashlytics, and RevenueCat purchases have Meadow-owned runtime boundaries. Supabase setup
119
+ does not yet constitute a complete Meadow-owned runtime abstraction. See the
120
+ [capability map](docs/PLATFORM_GUIDE.md#current-capability-map) before assuming that an installed
121
+ dependency is an implemented product feature.
122
+
123
+ ## Develop Meadow Platform
124
+
125
+ ```sh
126
+ npm test
127
+ npm run check
128
+ npm run release:check
129
+ ```
130
+
131
+ `npm run check` builds the package, runs tests, creates the real tarball, installs it in a clean
132
+ temporary consumer, type-checks the public API, and exercises the runtime providers.
133
+
134
+ Released applications pin an exact public npm package version:
135
+
136
+ ```json
137
+ "@meadow-studio/platform": "0.1.0"
138
+ ```
139
+
140
+ See [the release guide](docs/RELEASING.md) for versioning, verification, publishing, and upgrades.
141
+
142
+ ## Documentation
143
+
144
+ - [Platform guide](docs/PLATFORM_GUIDE.md): current capabilities and how the system is used.
145
+ - [Project brief](docs/PROJECT_BRIEF.md): enduring product and architecture decisions.
146
+ - [CLI guide](docs/CLI.md): exact commands, CI, and generated-app behavior.
147
+ - [POC findings](docs/POC_FINDINGS.md): evidence gathered from real Meadow applications.
148
+ - [v0.1 path](docs/V0.1_PATH.md): historical POC plan and dated implementation record.
@@ -0,0 +1,42 @@
1
+ ext {
2
+ capacitorVersion = System.getenv('CAPACITOR_VERSION')
3
+ androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.7.1'
4
+ }
5
+
6
+ buildscript {
7
+ repositories {
8
+ google()
9
+ mavenCentral()
10
+ }
11
+ dependencies {
12
+ classpath 'com.android.tools.build:gradle:8.13.0'
13
+ }
14
+ }
15
+
16
+ apply plugin: 'com.android.library'
17
+
18
+ android {
19
+ namespace = "app.meadow.platform"
20
+ compileSdk = project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 36
21
+ defaultConfig {
22
+ minSdkVersion = project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 24
23
+ targetSdkVersion = project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 36
24
+ versionCode = 1
25
+ versionName = "1.0"
26
+ }
27
+ compileOptions {
28
+ sourceCompatibility JavaVersion.VERSION_21
29
+ targetCompatibility JavaVersion.VERSION_21
30
+ }
31
+ }
32
+
33
+ repositories {
34
+ google()
35
+ mavenCentral()
36
+ }
37
+
38
+ dependencies {
39
+ implementation project(':capacitor-android')
40
+ implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
41
+ implementation 'com.google.android.play:review:2.0.2'
42
+ }
@@ -0,0 +1 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android" />
@@ -0,0 +1,38 @@
1
+ package app.meadow.platform;
2
+
3
+ import com.getcapacitor.JSObject;
4
+ import com.getcapacitor.Plugin;
5
+ import com.getcapacitor.PluginCall;
6
+ import com.getcapacitor.PluginMethod;
7
+ import com.getcapacitor.annotation.CapacitorPlugin;
8
+ import com.google.android.play.core.review.ReviewInfo;
9
+ import com.google.android.play.core.review.ReviewManager;
10
+ import com.google.android.play.core.review.ReviewManagerFactory;
11
+
12
+ /** Presents Google Play's unmodified in-app review surface. */
13
+ @CapacitorPlugin(name = "MeadowAppRating")
14
+ public class MeadowAppRatingPlugin extends Plugin {
15
+ @PluginMethod
16
+ public void requestReview(PluginCall call) {
17
+ ReviewManager manager = ReviewManagerFactory.create(getContext());
18
+ manager.requestReviewFlow().addOnCompleteListener(request -> {
19
+ if (!request.isSuccessful()) {
20
+ call.reject("The Play Store review flow is unavailable", request.getException());
21
+ return;
22
+ }
23
+
24
+ ReviewInfo info = request.getResult();
25
+ manager.launchReviewFlow(getActivity(), info).addOnCompleteListener(launch -> {
26
+ if (!launch.isSuccessful()) {
27
+ call.reject("The Play Store review flow could not start", launch.getException());
28
+ return;
29
+ }
30
+
31
+ // Google deliberately does not report whether a rating was submitted.
32
+ JSObject result = new JSObject();
33
+ result.put("attempted", true);
34
+ call.resolve(result);
35
+ });
36
+ });
37
+ }
38
+ }
@@ -0,0 +1,3 @@
1
+ export declare const MEADOW_APP_DEVELOPMENT_SKILL_PATH = ".agents/skills/meadow-app-development/SKILL.md";
2
+ export declare const MEADOW_APP_DEVELOPMENT_SKILL = "---\nname: meadow-app-development\ndescription: Implement or change features, fixes, integrations, tests, and companion website pages in a Meadow-generated app repository.\n---\n\n# Meadow app development\n\nUse this skill for development work in this application. Follow the user's requested product direction; the starter screens and website drafts are examples, not product requirements.\n\n## Reuse before adding\n\n- Before adding a page, card, setting, component, data model, validation rule, behavior, or user flow, search for the closest existing example. Inspect how it handles appearance, navigation, state, data, accessibility, and tests.\n- For visual work, inspect relevant images and notes in inspiration/ alongside existing app screens. Use the specific qualities the notes call out; keep the app's own patterns coherent.\n- Reuse or extend shared components, design tokens, services, data definitions, and flows when the new need has the same purpose. Keep one source of truth for things that should change together; do not copy an implementation into a second place.\n- When several parts of the app need the same pattern, improve the shared abstraction and update its callers together. Make a separate implementation only when the behavior genuinely differs, and explain that difference.\n- After changing a shared part, check its other callers and the related flows for consistency.\n\n## Understand the change\n\n- For product work, check PRODUCT_BRIEF.md for established audience, vocabulary, rules, and the first usable flow. Its bracketed prompts are open questions, not requirements. Update it when the user's request settles a durable product decision.\n- Read the relevant app code, tests, and `meadow.config.json` before editing. Check `package.json` for the pinned Meadow Platform version.\n- For shared infrastructure or provider behavior, read `node_modules/@meadow-studio/platform/docs/PLATFORM_GUIDE.md` and use an existing Meadow command or service when it fits. Run `meadow doctor` when setup is unclear.\n- Keep product rules and UI in the app, and public site content in `website/`. Preserve app-owned decisions and existing work.\n\n## Make the change\n\n- Treat `meadow.config.json` as the source of truth for identity, targets, releases, links, and capabilities. Run `meadow sync` after changing it; do not hand-edit generated files.\n- Keep credentials and signing material out of source. Analytics and crash reporting need their separate consent choices; keep events, consent copy, and privacy disclosures aligned with actual behavior.\n- Add focused tests for changed behavior. Review intentional screenshot changes before updating baselines.\n\n## Verify and hand off\n\n- Run checks that cover the changed surface: `npm run check` for app code or configuration, `npm run test:visual` for visual changes, and `npm run website:check` for website changes. Run the relevant native build when native configuration changes.\n- Use `meadow doctor` and `meadow release-check all` for release preparation.\n- Report what changed, what passed, and any remaining setup or verification.\n";
3
+ //# sourceMappingURL=app-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-skill.d.ts","sourceRoot":"","sources":["../../src/cli/app-skill.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,mDAAmD,CAAC;AAElG,eAAO,MAAM,4BAA4B,qjGAmCxC,CAAC"}
@@ -0,0 +1,38 @@
1
+ export const MEADOW_APP_DEVELOPMENT_SKILL_PATH = '.agents/skills/meadow-app-development/SKILL.md';
2
+ export const MEADOW_APP_DEVELOPMENT_SKILL = `---
3
+ name: meadow-app-development
4
+ description: Implement or change features, fixes, integrations, tests, and companion website pages in a Meadow-generated app repository.
5
+ ---
6
+
7
+ # Meadow app development
8
+
9
+ Use this skill for development work in this application. Follow the user's requested product direction; the starter screens and website drafts are examples, not product requirements.
10
+
11
+ ## Reuse before adding
12
+
13
+ - Before adding a page, card, setting, component, data model, validation rule, behavior, or user flow, search for the closest existing example. Inspect how it handles appearance, navigation, state, data, accessibility, and tests.
14
+ - For visual work, inspect relevant images and notes in inspiration/ alongside existing app screens. Use the specific qualities the notes call out; keep the app's own patterns coherent.
15
+ - Reuse or extend shared components, design tokens, services, data definitions, and flows when the new need has the same purpose. Keep one source of truth for things that should change together; do not copy an implementation into a second place.
16
+ - When several parts of the app need the same pattern, improve the shared abstraction and update its callers together. Make a separate implementation only when the behavior genuinely differs, and explain that difference.
17
+ - After changing a shared part, check its other callers and the related flows for consistency.
18
+
19
+ ## Understand the change
20
+
21
+ - For product work, check PRODUCT_BRIEF.md for established audience, vocabulary, rules, and the first usable flow. Its bracketed prompts are open questions, not requirements. Update it when the user's request settles a durable product decision.
22
+ - Read the relevant app code, tests, and \`meadow.config.json\` before editing. Check \`package.json\` for the pinned Meadow Platform version.
23
+ - For shared infrastructure or provider behavior, read \`node_modules/@meadow-studio/platform/docs/PLATFORM_GUIDE.md\` and use an existing Meadow command or service when it fits. Run \`meadow doctor\` when setup is unclear.
24
+ - Keep product rules and UI in the app, and public site content in \`website/\`. Preserve app-owned decisions and existing work.
25
+
26
+ ## Make the change
27
+
28
+ - Treat \`meadow.config.json\` as the source of truth for identity, targets, releases, links, and capabilities. Run \`meadow sync\` after changing it; do not hand-edit generated files.
29
+ - Keep credentials and signing material out of source. Analytics and crash reporting need their separate consent choices; keep events, consent copy, and privacy disclosures aligned with actual behavior.
30
+ - Add focused tests for changed behavior. Review intentional screenshot changes before updating baselines.
31
+
32
+ ## Verify and hand off
33
+
34
+ - Run checks that cover the changed surface: \`npm run check\` for app code or configuration, \`npm run test:visual\` for visual changes, and \`npm run website:check\` for website changes. Run the relevant native build when native configuration changes.
35
+ - Use \`meadow doctor\` and \`meadow release-check all\` for release preparation.
36
+ - Report what changed, what passed, and any remaining setup or verification.
37
+ `;
38
+ //# sourceMappingURL=app-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-skill.js","sourceRoot":"","sources":["../../src/cli/app-skill.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,gDAAgD,CAAC;AAElG,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC3C,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { type MeadowProjectAnswers, type MeadowProjectConfig } from './config.js';
2
+ export interface CommandRunner {
3
+ run(command: string, args: readonly string[], directory: string): void;
4
+ succeeds(command: string, args: readonly string[], directory: string): boolean;
5
+ }
6
+ export interface CreateProjectOptions {
7
+ readonly directory: string;
8
+ readonly answers: MeadowProjectAnswers;
9
+ readonly platformVersion: string;
10
+ readonly platformSpec?: string;
11
+ readonly install: boolean;
12
+ readonly git: boolean;
13
+ readonly visualBaselines: boolean;
14
+ readonly github?: {
15
+ readonly owner?: string;
16
+ readonly visibility: 'private' | 'public' | 'internal';
17
+ };
18
+ }
19
+ export interface Diagnostic {
20
+ readonly level: 'pass' | 'warning' | 'failure';
21
+ readonly id: string;
22
+ readonly message: string;
23
+ }
24
+ export interface ConfigureOptions {
25
+ readonly directory: string;
26
+ readonly values: Readonly<Record<string, string | boolean>>;
27
+ }
28
+ export interface AddOptions {
29
+ readonly directory: string;
30
+ }
31
+ export interface ExistingProjectInspection {
32
+ readonly directory: string;
33
+ readonly answers: MeadowProjectAnswers;
34
+ readonly angularVersion: string;
35
+ readonly capacitorVersion: string;
36
+ readonly packageVersion: string;
37
+ readonly alreadyInitialized: boolean;
38
+ readonly warnings: readonly string[];
39
+ }
40
+ export interface InitProjectOptions {
41
+ readonly directory: string;
42
+ readonly answers: MeadowProjectAnswers;
43
+ readonly platformVersion: string;
44
+ readonly platformSpec?: string;
45
+ readonly install: boolean;
46
+ readonly dryRun: boolean;
47
+ }
48
+ export interface InitAction {
49
+ readonly kind: 'create' | 'update' | 'preserve' | 'run';
50
+ readonly target: string;
51
+ readonly detail: string;
52
+ }
53
+ export interface InitProjectResult {
54
+ readonly config: MeadowProjectConfig;
55
+ readonly actions: readonly InitAction[];
56
+ readonly diagnostics: readonly Diagnostic[];
57
+ readonly changed: boolean;
58
+ }
59
+ export declare const SYSTEM_COMMAND_RUNNER: CommandRunner;
60
+ export declare function createProject(options: CreateProjectOptions, runner?: CommandRunner): string;
61
+ export declare function isCleanGitRepository(directory: string): boolean;
62
+ export declare function initCleanRepository(options: InitProjectOptions & {
63
+ readonly visualBaselines: boolean;
64
+ }, runner?: CommandRunner): InitProjectResult;
65
+ export declare function writeGeneratedProject(directory: string, files: ReadonlyMap<string, string>): void;
66
+ export declare function inspectExistingProject(directory?: string): ExistingProjectInspection;
67
+ export declare function initProject(options: InitProjectOptions, runner?: CommandRunner): InitProjectResult;
68
+ export declare function configureIntegration(integration: string, options: ConfigureOptions, runner?: CommandRunner): string[];
69
+ export declare function addCapability(capability: string, options: AddOptions, runner?: CommandRunner): string[];
70
+ export declare function doctor(directory?: string): Diagnostic[];
71
+ export declare function releaseCheck(platform: 'ios' | 'android' | 'all', directory?: string, runner?: CommandRunner): Diagnostic[];
72
+ export declare function setApplicationVersion(requested: string, channel: string | undefined, directory?: string): MeadowProjectConfig;
73
+ export declare function nextVersion(current: string, requested: string): string;
74
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}