You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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`.
4
4
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
8
6
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.
10
10
11
-
<aid="glossary"></a>
12
-
### Glossary
11
+
## Setup
13
12
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.
21
16
22
-
---
17
+
1. Create a new app from the template and install dependencies:
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:
72
47
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
+
```
74
52
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:
76
54
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
+
```
81
58
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.
83
62
84
-
### Claude Code fallback
63
+
When prompted to sign in, use credentials for the tenant where the Dataverse
64
+
environment belongs.
85
65
86
-
**Step 1 — Clone the marketplace anywhere.**
66
+
4. Create a Microsoft Entra app registration and grant admin consent.
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:
98
78
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
100
82
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:
102
84
103
-
### GitHub Copilot (VS Code) fallback
85
+
Run the above commandin a new terminal from the app directory.
104
86
105
-
Use this only if the installer cannot configure your Copilot CLI or VS Code plugin state.
87
+
```bash
88
+
npm run dev
89
+
```
106
90
107
-
**Option A — Install from the git URL:**
91
+
6. Preview the app by scanning the QR code with the Power Apps Developer app
108
92
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
The mobile-app plugin is stored in`plugins/mobile-apps`in the `power-platform-skills` marketplace. It works with GitHub Copilotin VS Code and Claude Code.
124
104
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
128
107
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 |
130
115
131
-
Create a new app from the template and install dependencies before invoking `/create-mobile-app`:
## Prerequisites — what you must set up before `/create-mobile-app`
150
127
151
128
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
154
131
155
132
| Tool | Min version | How to install / check |
156
133
|---|---|---|
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`) |
158
135
|`az` (Azure CLI) |**2.60+**|`az --version` — needed for Dataverse helper scripts. Install via Homebrew: `brew install azure-cli`|
159
136
|`git`| any recent | required for upstream template clone |
160
137
@@ -219,7 +196,7 @@ After deploy, use `/open-wrap-url --app-id <app-id> --env-id <env-id>` to jump s
219
196
220
197
- **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.
221
198
- **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
223
200
- **Two platforms**in one codebase: iOS, Android
224
201
- **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.
225
202
- **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
394
371
395
372
## Known blockers
396
373
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.
0 commit comments