mini_program_tooling 0.2.4
mini_program_tooling: ^0.2.4 copied to clipboard
Local developer and CI tooling for the Flutter mini-program platform.
mini_program_tooling #
Developer tooling for the portable Flutter mini-program platform.
This package exposes the global miniprogram CLI used to create mini-programs,
build and validate authored flows, publish to the local backend, initialize
embedding adapters for existing Flutter apps, and manage the repo-local backend
lifecycle.
Install #
Released package:
dart pub global activate mini_program_tooling
Repo-local contributor install:
dart pub global activate --source path <repo-root>/packages/mini_program_tooling
CLI surface #
miniprogram create <mini-program-id>
miniprogram doctor
miniprogram backend init
miniprogram env init
miniprogram env use <local|cloud>
miniprogram env status
miniprogram build <mini-program-id>
miniprogram validate <mini-program-id>
miniprogram publish <mini-program-id>
miniprogram embed init --project-root <path>
miniprogram backend start --port 8080
miniprogram backend stop
miniprogram backend status
miniprogram backend reset-local --yes
Examples #
Check your machine and saved CLI state first:
miniprogram doctor
Create a standalone mini-program in the current directory:
miniprogram create coupon_center
Initialize a standalone backend workspace once:
miniprogram backend init
Initialize local CLI env once from a standalone mini-program workspace:
cd <workspace>/coupon_center
miniprogram env init --repo-root <repo-root>
That writes both a workspace-local .mini_program/env.json and a user-level
fallback repo-root, so later commands can run from this workspace or from
unrelated directories without repeating --repo-root.
Then build, validate, and publish without repeating --repo-root:
miniprogram build coupon_center
miniprogram validate coupon_center
miniprogram publish coupon_center
If a standalone backend workspace was initialized earlier with
miniprogram backend init, publish writes manifests and screens into that
workspace instead of the platform repo backend.
Initialize the embedding adapter for an existing Flutter app:
miniprogram embed init --project-root <existing-flutter-app>
Start and inspect the local backend:
miniprogram backend start --port 8080
miniprogram backend status
miniprogram backend stop
miniprogram doctor reports:
- Dart runtime availability
flutteron PATHstacon PATH- saved env configuration
- resolved platform repo root
- local backend workspace layout
- current backend health/state
Local CLI state #
The CLI keeps repo-local state in:
.mini_program/env.json.mini_program/backend_workspace.json.mini_program/backend.local.json.mini_program/published_local_artifacts.json
It also keeps a user-level fallback file in:
~/.mini_program/global_env.json~/.mini_program/global_backend_workspace.json
backend reset-local --yes only removes tracked local publish outputs. It does
not wipe all of backend/api/ or remove rollout, capability, or secure API
policy files that were not created by the CLI publish flow.
Notes #
publish --target cloudis intentionally reserved for a later CLI phase.env use local|cloudonly switches saved CLI context in this phase. Cloud publish and cloud backend operations are still follow-up work.- Local backend lifecycle commands can work from either:
- a
miniprogram backend initworkspace - the platform repo layout with
backend/local_backend_service/andbackend/api/
- a
publishfollows the same backend workspace resolution, so local publish outputs andbackend reset-local --yesstay attached to the initialized backend workspace.- Existing low-level Dart bins remain in the repo for compatibility.
- The repo PowerShell wrappers now delegate to the installed
miniprogramcommand for the standard text workflow and only fall back to legacy Dart entrypoints for compatibility-only modes such as-Output json. miniprogram ...is the preferred workflow.