Skip to content

Commit 25f0314

Browse files
authored
update Readme to highlight setup steps (#214)
1 parent 2e9166c commit 25f0314

2 files changed

Lines changed: 95 additions & 125 deletions

File tree

plugins/mobile-apps/README.md

Lines changed: 86 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -1,151 +1,128 @@
1-
# Mobile Apps Plugin (Code Apps Native, Preview)
1+
# Power Apps Standalone App Template
22

3-
Claude Code / Copilot plugin for building **Power Apps code apps for mobile** using Expo + React Native + TypeScript.
3+
This template is an Expo, React Native, and TypeScript starter for building a standalone mobile app that connects to Power Platform data through `@microsoft/power-apps-native-host`.
44

5-
> **Marketplace:** `power-platform-skills`, plugin `mobile-app`, stored in `plugins/mobile-apps`.
6-
> **What:** Build mobile Power Apps with Expo + RN + TS (iOS & Android).
7-
> **Status:** public preview / v0.
5+
## Requirements
86

9-
---
7+
- Node.js 22 LTS.
8+
- npm 10 or newer.
9+
- The Power Apps Developer app from the Apple App Store or Google Play.
1010

11-
<a id="glossary"></a>
12-
### Glossary
11+
## Setup
1312

14-
| Term | Meaning |
15-
|---|---|
16-
| **Skill** | `/command` you invoke (e.g. `/create-mobile-app`, `/add-dataverse`) |
17-
| **Agent** | Sub-process a skill spawns (e.g. `data-model-architect`, `screen-builder`) |
18-
| **Gate** | Approval prompt before a mutation — user must confirm before the skill proceeds |
19-
| **Memory bank** | `memory-bank.md` per project — source of truth for resume across sessions |
20-
| **Brief** | Confirmed feature description (4–8 bullets) the planner consumes |
13+
Start from the Power Platform mobile app template, then use the mobile-app
14+
skill to generate the app plan, data model, screens, native capabilities, and
15+
connector wiring.
2116

22-
---
17+
1. Create a new app from the template and install dependencies:
2318

24-
### Repo layout
19+
```sh
20+
npx degit microsoft/power-platform-skills/plugins/mobile-apps/template#main my-mobile-app
21+
cd my-mobile-app
22+
npm install
23+
```
2524

26-
```
27-
skills/ — /commands users invoke
28-
agents/ — sub-processes (planner, architects, screen-builder)
29-
hooks/ — pre/post-tool validators
30-
shared/ — cross-cutting refs (memory-bank, version-check, MCP, …)
31-
AGENTS.md — agent contract
32-
```
33-
34-
---
25+
2. Install the mobile-app plugin from the Power Platform Skills marketplace.
3526

36-
## Install
27+
For GitHub Copilot in VS Code:
3728

38-
The plugin works with **Claude Code** and **GitHub Copilot in VS Code**. Both use the same plugin directory — no separate distributions.
29+
1. Open the Command Palette.
30+
2. Run **Chat: Install Plugin From Source**.
31+
3. Paste the mobile-app plugin manifest URL:
3932

40-
### Marketplace install
33+
```text
34+
https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/.plugin/plugin.json
35+
```
4136

42-
After adding the Power Platform Skills marketplace, install the mobile app plugin:
37+
4. Reload VS Code if prompted, then open Copilot Chat in Agent mode.
4338

44-
```bash
45-
/plugin marketplace add microsoft/power-platform-skills
46-
/plugin install mobile-app@power-platform-skills
47-
```
48-
49-
The repository root installer also installs this plugin along with the rest of the marketplace:
50-
51-
```bash
52-
node scripts/install.js
53-
```
39+
Alternatively, install it from a terminal with GitHub Copilot CLI:
5440

55-
### Local checkout install
56-
57-
After cloning this marketplace, use the repository root installer when you want all marketplace plugins installed:
58-
59-
```bash
60-
cd /path/to/power-platform-skills
61-
node scripts/install.js
62-
```
63-
64-
To install only this plugin from a local checkout, register the repository root as the marketplace and install `mobile-app` directly:
65-
66-
```bash
67-
claude plugin marketplace add /path/to/power-platform-skills
68-
claude plugin install mobile-app@power-platform-skills --scope user
69-
```
41+
```sh
42+
copilot plugin marketplace add microsoft/power-platform-skills
43+
copilot plugin install mobile-app@power-platform-skills
44+
```
7045

71-
For GitHub Copilot CLI, use the same marketplace root with `copilot plugin marketplace add` and `copilot plugin install mobile-app@power-platform-skills`. Reload VS Code or restart Claude after installation so the slash-command registry refreshes.
46+
For Claude CLI:
7247

73-
### Existing installs / rename migration
48+
```sh
49+
claude plugin marketplace add microsoft/power-platform-skills
50+
claude plugin install mobile-app@power-platform-skills --scope user
51+
```
7452

75-
If you already had the preview installed and your slash menu still shows the old namespace, uninstall the old local preview plugin and marketplace, then install `mobile-app@power-platform-skills`:
53+
3. Open the template folder in VS Code and run the skill from Copilot Chat:
7654

77-
```bash
78-
claude plugin uninstall "code-apps-native@code-apps-native-local" --scope user
79-
claude plugin marketplace remove code-apps-native-local
80-
```
55+
```text
56+
/create-mobile-app
57+
```
8158

82-
Use the equivalent `copilot plugin uninstall "code-apps-native@code-apps-native-local"` and `copilot plugin marketplace remove code-apps-native-local` commands if your old preview install was in Copilot. Reload VS Code or restart Claude after cleanup so the slash-command registry refreshes.
59+
The template includes this host package and the required Expo / React Native
60+
runtime dependencies. The skill updates the app in place as it designs and
61+
generates the mobile experience.
8362

84-
### Claude Code fallback
63+
When prompted to sign in, use credentials for the tenant where the Dataverse
64+
environment belongs.
8565

86-
**Step 1 — Clone the marketplace anywhere.**
66+
4. Create a Microsoft Entra app registration and grant admin consent.
8767

88-
```bash
89-
git clone https://github.com/microsoft/power-platform-skills.git
90-
```
68+
Create a native/public client app registration for the mobile app, then add
69+
the following redirect URIs:
9170

92-
**Step 2 — Register the local marketplace.**
71+
```text
72+
https://login.microsoftonline.com/common/oauth2/nativeclient
73+
msauth.com.microsoft.PreviewApp://auth
74+
```
9375

94-
```bash
95-
claude plugin marketplace add /path/to/power-platform-skills
96-
claude plugin install mobile-app@power-platform-skills --scope user
97-
```
76+
Add delegated API permissions for these APIs, then grant admin consent for
77+
the tenant:
9878

99-
Use this only if the installer cannot find or configure your Claude CLI. You can also add it to your global plugin config manually — see the [Claude Code plugin docs](https://docs.anthropic.com/claude/docs/claude-code-plugins).
79+
- Dynamics CRM
80+
- Power Platform API
81+
- Azure API Connections
10082

101-
**Step 3 — Prepare a fresh template folder** (next section). Use `degit` to materialize the public template from this repository, run `npm install` in that folder, then open that folder and run `/create-mobile-app` there.
83+
5. Start mobile app:
10284

103-
### GitHub Copilot (VS Code) fallback
85+
Run the above command in a new terminal from the app directory.
10486

105-
Use this only if the installer cannot configure your Copilot CLI or VS Code plugin state.
87+
```bash
88+
npm run dev
89+
```
10690

107-
**Option A — Install from the git URL:**
91+
6. Preview the app by scanning the QR code with the Power Apps Developer app
10892

109-
1. Open the Command Palette (`⇧⌘P`) and run **Chat: Install Plugin From Source**
110-
2. Enter the repository URL (`https://github.com/microsoft/power-platform-skills`) and press Enter
111-
3. VS Code clones and activates the plugin — skills appear under `/` in Copilot Chat
93+
App store: https://apps.apple.com/us/app/power-apps-developer/id6753083462
94+
Play store: (coming soon)
95+
App center: https://install.appcenter.ms/orgs/appmagic-player-x6ys/apps/rn-dev-player-preview/distribution_groups/public_distribution/releases
11296

113-
**Option B — Register a local directory:**
97+
## License and notices
11498

115-
Add the extracted folder to VS Code's `settings.json`:
99+
This template is provided under the license in `LICENSE`.
116100

117-
```json
118-
"chat.pluginLocations": {
119-
"/Users/you/power-platform-skills/plugins/mobile-apps": true
120-
}
121-
```
101+
## Plugin reference
122102

123-
**Using the plugin in Copilot:**
103+
The mobile-app plugin is stored in `plugins/mobile-apps` in the `power-platform-skills` marketplace. It works with GitHub Copilot in VS Code and Claude Code.
124104

125-
- In the Copilot Chat panel, switch to **Agent mode**
126-
- Type `/` to see available skills (`/create-mobile-app`, `/add-dataverse`, etc.)
127-
- Skills run with the same tool access and instructions as in Claude Code
105+
<a id="glossary"></a>
106+
### Glossary
128107

129-
> **Note:** `EnterPlanMode` / `ExitPlanMode` are Claude Code-only directives. Copilot approximates plan mode by restricting itself to read-only operations during the planning phase — the workflow still proceeds correctly.
108+
| Term | Meaning |
109+
|---|---|
110+
| **Skill** | `/command` you invoke (e.g. `/create-mobile-app`, `/add-dataverse`) |
111+
| **Agent** | Sub-process a skill spawns (e.g. `data-model-architect`, `screen-builder`) |
112+
| **Gate** | Approval prompt before a mutation — user must confirm before the skill proceeds |
113+
| **Memory bank** | `memory-bank.md` per project — source of truth for resume across sessions |
114+
| **Brief** | Confirmed feature description (4–8 bullets) the planner consumes |
130115

131-
Create a new app from the template and install dependencies before invoking `/create-mobile-app`:
116+
### Repo layout
132117

133-
```bash
134-
npx degit microsoft/power-platform-skills/plugins/mobile-apps/template#main my-mobile-app
135-
cd my-mobile-app
136-
npm install
137118
```
138-
139-
Then open `my-mobile-app` and run `/create-mobile-app` there. The skill assumes the current working directory is this fresh installed template folder.
140-
141-
Install the mobile-app skill from the Power Platform Skills plugin:
142-
143-
```text
144-
https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/.plugin/plugin.json
119+
skills/ — /commands users invoke
120+
agents/ — sub-processes (planner, architects, screen-builder)
121+
hooks/ — pre/post-tool validators
122+
shared/ — cross-cutting refs (memory-bank, version-check, MCP, …)
123+
AGENTS.md — agent contract
145124
```
146125

147-
---
148-
149126
## Prerequisites — what you must set up before `/create-mobile-app`
150127

151128
The skill checks these in Step 1 (Prerequisites) and stops with a clear error if any are missing. Get them ready up front to avoid mid-flow blocks.
@@ -154,7 +131,7 @@ The skill checks these in Step 1 (Prerequisites) and stops with a clear error if
154131

155132
| Tool | Min version | How to install / check |
156133
|---|---|---|
157-
| Node.js | **22.x** | `node -v` — install via [nvm](https://github.com/nvm-sh/nvm) (`nvm install 22 && nvm use 22`) |
134+
| Node.js | **22 LTS** | `node -v` — install via [nvm](https://github.com/nvm-sh/nvm) (`nvm install 22 && nvm use 22`) |
158135
| `az` (Azure CLI) | **2.60+** | `az --version` — needed for Dataverse helper scripts. Install via Homebrew: `brew install azure-cli` |
159136
| `git` | any recent | required for upstream template clone |
160137

@@ -219,7 +196,7 @@ After deploy, use `/open-wrap-url --app-id <app-id> --env-id <env-id>` to jump s
219196
220197
- **Expo standalone template** prepared with `degit` from [`plugins/mobile-apps/template`](https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/template). The plugin bundles the latest template snapshot under `template/`, while `/create-mobile-app` expects the user to run from a fresh installed template working directory and applies the app identity / connector preparation edits there.
221198
- **Same `npx power-apps add-data-source` workflow** across this plugin's skills — generated services in `src/generated/services/` work consistently
222-
- **Auth pre-wired** via the Power Apps CLI first-party Entra app — no custom Azure registration required
199+
- **Auth configuration** through the Microsoft Entra app registration created during setup
223200
- **Two platforms** in one codebase: iOS, Android
224201
- **Deploy = `npm run build` + `npx power-apps push`**local native compile (platform-specific native run commands) is the user's choice and is **out of scope**; users run those directly when they want them.
225202
- **Local dev = `npm run dev`** — the user runs this directly. The plugin doesn't start Metro.
@@ -394,20 +371,6 @@ At Step 6.75 of `/create-mobile-app`, the `/design-system` skill offers a cost p
394371
395372
## Known blockers
396373
397-
1. **Fresh template preparation.** `/create-mobile-app` expects a fresh installed `expo-app-standalone` template working directory. Use `degit` to materialize [`plugins/mobile-apps/template`](https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/template), then run `npm install` in that template folder before invoking the skill there.
398-
2. ~~**Sub-agent slash-command limitation.**~~**Resolved**`/design-system` (Step 6.75) now runs as a top-level skill invocation by the orchestrator, not inside a sub-agent. The old `DESIGN_VIBE_REQUESTED:` handoff signal is no longer needed.
399-
3. ~~**Connector usage requires the player runtime.**~~**Resolved**`PowerAppsHostProvider` in `app/_layout.tsx` (from `power-apps-native-host`) handles all connector routing, connection resolution, disambiguation, and OAuth consent automatically. No separate executor or provider wiring needed.
400-
401-
## Local Zip Install
402-
403-
For a local checkout, install from the marketplace repository root:
404-
405-
```bash
406-
cd /path/to/power-platform-skills
407-
node scripts/install.js
408-
```
409-
410-
To install only this plugin, register the repository root as a marketplace and install `mobile-app@power-platform-skills` directly with the Claude or Copilot plugin CLI.
411374
412375
## See also
413376

plugins/mobile-apps/template/README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This template is an Expo, React Native, and TypeScript starter for building a st
44

55
## Requirements
66

7-
- Node.js 20 LTS.
7+
- Node.js 22 LTS.
88
- npm 10 or newer.
99
- The Power Apps Developer app from the Apple App Store or Google Play.
1010

@@ -22,7 +22,7 @@ connector wiring.
2222
npm install
2323
```
2424

25-
2. Install the mobile-app skill from the Power Platform Skills plugin.
25+
2. Install the mobile-app plugin from the Power Platform Skills marketplace.
2626

2727
For GitHub Copilot in VS Code:
2828

@@ -36,6 +36,13 @@ connector wiring.
3636

3737
4. Reload VS Code if prompted, then open Copilot Chat in Agent mode.
3838

39+
Alternatively, install it from a terminal with GitHub Copilot CLI:
40+
41+
```sh
42+
copilot plugin marketplace add microsoft/power-platform-skills
43+
copilot plugin install mobile-app@power-platform-skills
44+
```
45+
3946
For Claude CLI:
4047

4148
```sh

0 commit comments

Comments
 (0)