create-powerapp 1.0.0
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.
- package/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +23 -0
- package/.github/workflows/ci.yml +103 -0
- package/CHANGELOG.md +26 -0
- package/CONTRIBUTING.md +130 -0
- package/LICENSE +21 -0
- package/README.md +137 -0
- package/docs/setup-guide.md +968 -0
- package/index.js +667 -0
- package/package.json +31 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Something didn't work as expected
|
|
4
|
+
title: "[Bug] "
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What happened?
|
|
10
|
+
|
|
11
|
+
<!-- Describe what went wrong. What did you expect to happen instead? -->
|
|
12
|
+
|
|
13
|
+
## Steps to reproduce
|
|
14
|
+
|
|
15
|
+
1. Ran `npx create-powerapp`
|
|
16
|
+
2. Selected app type: <!-- Canvas App / Model-Driven App / PCF / Power Pages / Code App -->
|
|
17
|
+
3. Selected AI assistant: <!-- GitHub Copilot / Claude Code -->
|
|
18
|
+
4. ...
|
|
19
|
+
|
|
20
|
+
## Error message
|
|
21
|
+
|
|
22
|
+
<!-- Paste the full error output here -->
|
|
23
|
+
```
|
|
24
|
+
paste error here
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Environment
|
|
28
|
+
|
|
29
|
+
- **OS:** <!-- Windows 11 / macOS 14 / Ubuntu 22.04 -->
|
|
30
|
+
- **Node.js version:** <!-- run: node --version -->
|
|
31
|
+
- **npm version:** <!-- run: npm --version -->
|
|
32
|
+
- **PAC CLI version:** <!-- run: pac --version -->
|
|
33
|
+
|
|
34
|
+
## Additional context
|
|
35
|
+
|
|
36
|
+
<!-- Anything else that might help — screenshots, partial output, etc. -->
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest an improvement or new app type
|
|
4
|
+
title: "[Feature] "
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What would you like?
|
|
10
|
+
|
|
11
|
+
<!-- Describe the feature clearly. What should it do? -->
|
|
12
|
+
|
|
13
|
+
## Why would this be useful?
|
|
14
|
+
|
|
15
|
+
<!-- Who benefits and how? -->
|
|
16
|
+
|
|
17
|
+
## What app type does this relate to?
|
|
18
|
+
|
|
19
|
+
<!-- Canvas App / Model-Driven App / PCF / Power Pages / Code App / All / New type -->
|
|
20
|
+
|
|
21
|
+
## Any ideas on how to implement it?
|
|
22
|
+
|
|
23
|
+
<!-- Optional — rough ideas, links to docs, examples -->
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
name: Smoke test — scaffold all app types
|
|
12
|
+
runs-on: ${{ matrix.os }}
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
16
|
+
node-version: [18, 20, 22]
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout
|
|
20
|
+
uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- name: Set up Node.js ${{ matrix.node-version }}
|
|
23
|
+
uses: actions/setup-node@v4
|
|
24
|
+
with:
|
|
25
|
+
node-version: ${{ matrix.node-version }}
|
|
26
|
+
|
|
27
|
+
- name: Verify Node and npm versions
|
|
28
|
+
run: |
|
|
29
|
+
node --version
|
|
30
|
+
npm --version
|
|
31
|
+
|
|
32
|
+
- name: Scaffold Canvas App (Copilot)
|
|
33
|
+
run: |
|
|
34
|
+
printf 'test-canvas\n1\n1\n\n' | node index.js
|
|
35
|
+
shell: bash
|
|
36
|
+
|
|
37
|
+
- name: Check Canvas App files exist
|
|
38
|
+
run: |
|
|
39
|
+
test -f test-canvas/.gitignore
|
|
40
|
+
test -f test-canvas/.env
|
|
41
|
+
test -f test-canvas/README.md
|
|
42
|
+
test -f test-canvas/instructions/canvas-instructions.md
|
|
43
|
+
test -f test-canvas/prompts/starter.md
|
|
44
|
+
test -f test-canvas/.github/copilot-instructions.md
|
|
45
|
+
test -d test-canvas/canvas-src/Src
|
|
46
|
+
test -d test-canvas/canvas-src/Assets
|
|
47
|
+
shell: bash
|
|
48
|
+
|
|
49
|
+
- name: Scaffold Model-Driven App (Claude Code)
|
|
50
|
+
run: |
|
|
51
|
+
printf 'test-mda\n2\n2\n\n' | node index.js
|
|
52
|
+
shell: bash
|
|
53
|
+
|
|
54
|
+
- name: Check MDA files exist
|
|
55
|
+
run: |
|
|
56
|
+
test -f test-mda/.gitignore
|
|
57
|
+
test -f test-mda/CLAUDE.md
|
|
58
|
+
test -f test-mda/instructions/mda-instructions.md
|
|
59
|
+
test -f test-mda/prompts/starter.md
|
|
60
|
+
shell: bash
|
|
61
|
+
|
|
62
|
+
- name: Scaffold PCF Component
|
|
63
|
+
run: |
|
|
64
|
+
printf 'test-pcf\n3\n1\n\n' | node index.js
|
|
65
|
+
shell: bash
|
|
66
|
+
|
|
67
|
+
- name: Scaffold Power Pages
|
|
68
|
+
run: |
|
|
69
|
+
printf 'test-pages\n4\n2\n\n' | node index.js
|
|
70
|
+
shell: bash
|
|
71
|
+
|
|
72
|
+
- name: Check Power Pages folder structure
|
|
73
|
+
run: |
|
|
74
|
+
test -d test-pages/site/web-files
|
|
75
|
+
test -d test-pages/site/web-pages
|
|
76
|
+
test -d test-pages/site/web-templates
|
|
77
|
+
shell: bash
|
|
78
|
+
|
|
79
|
+
- name: Scaffold Code App
|
|
80
|
+
run: |
|
|
81
|
+
printf 'test-codeapp\n5\n1\n\n' | node index.js
|
|
82
|
+
shell: bash
|
|
83
|
+
|
|
84
|
+
- name: Check Code App files exist
|
|
85
|
+
run: |
|
|
86
|
+
test -f test-codeapp/package.json
|
|
87
|
+
test -f test-codeapp/tsconfig.json
|
|
88
|
+
test -f test-codeapp/src/App.tsx
|
|
89
|
+
node -e "JSON.parse(require('fs').readFileSync('test-codeapp/package.json','utf8'))"
|
|
90
|
+
shell: bash
|
|
91
|
+
|
|
92
|
+
lint:
|
|
93
|
+
name: Check syntax
|
|
94
|
+
runs-on: ubuntu-latest
|
|
95
|
+
steps:
|
|
96
|
+
- uses: actions/checkout@v4
|
|
97
|
+
- uses: actions/setup-node@v4
|
|
98
|
+
with:
|
|
99
|
+
node-version: 20
|
|
100
|
+
- name: Check index.js parses without errors
|
|
101
|
+
run: node --check index.js
|
|
102
|
+
- name: Check package.json is valid JSON
|
|
103
|
+
run: node -e "JSON.parse(require('fs').readFileSync('package.json','utf8')); console.log('package.json OK')"
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `create-powerapp` will be documented here.
|
|
4
|
+
|
|
5
|
+
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
|
+
Version numbers follow [Semantic Versioning](https://semver.org/) — `MAJOR.MINOR.PATCH`.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## [1.0.0] — 2026-05-28
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Interactive CLI with four questions: project name, app type, AI assistant, environment URL
|
|
14
|
+
- Scaffold support for five Power Apps types: Canvas App, Model-Driven App, PCF Component, Power Pages, Code App
|
|
15
|
+
- Auto-generated `.gitignore`, `.env`, `README.md` for every project
|
|
16
|
+
- `instructions/` folder with AI context files tailored to each app type
|
|
17
|
+
- `prompts/starter.md` with copy-paste first prompts for each app type
|
|
18
|
+
- `CLAUDE.md` generation for Claude Code users
|
|
19
|
+
- `.github/copilot-instructions.md` generation for GitHub Copilot users
|
|
20
|
+
- Automatic `git init` and first commit
|
|
21
|
+
- Automatic `pac auth create` when environment URL is provided
|
|
22
|
+
- Automatic `code .` to open VS Code after scaffolding
|
|
23
|
+
- `package.json` and `tsconfig.json` for Code App projects
|
|
24
|
+
- Full VS Code setup guide in `docs/setup-guide.md`
|
|
25
|
+
- GitHub Actions CI workflow
|
|
26
|
+
- MIT licence
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Contributing to create-powerapp
|
|
2
|
+
|
|
3
|
+
Thank you for wanting to help! This project is designed to be easy to contribute to — even if you are new to open-source.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Ways to contribute
|
|
8
|
+
|
|
9
|
+
- **Fix a bug** — something doesn't work as described? Open an issue or a pull request
|
|
10
|
+
- **Improve a template** — the scaffolded files for a specific app type could be better
|
|
11
|
+
- **Improve the docs** — the setup guide or README could be clearer for beginners
|
|
12
|
+
- **Add a new app type** — want to support a new Power Platform project type?
|
|
13
|
+
- **Add starter prompts** — better copy-paste first prompts for each app type
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Getting started
|
|
18
|
+
|
|
19
|
+
### 1. Fork and clone the repo
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Fork the repo on GitHub (click Fork at the top right), then:
|
|
23
|
+
git clone https://github.com/YOUR-USERNAME/create-powerapp.git
|
|
24
|
+
cd create-powerapp
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 2. Make sure Node.js 18+ is installed
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
node --version # should print v18 or higher
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
No other dependencies are needed — this tool uses only Node.js built-ins.
|
|
34
|
+
|
|
35
|
+
### 3. Test your changes locally
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Run the CLI directly from your local clone
|
|
39
|
+
node index.js
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Answer the questions as a user would. Check that the files created in the output folder look correct.
|
|
43
|
+
|
|
44
|
+
### 4. Create a branch
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
git checkout -b fix/canvas-gitignore
|
|
48
|
+
# or
|
|
49
|
+
git checkout -b feat/add-power-automate-template
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Use a descriptive branch name that explains what you changed.
|
|
53
|
+
|
|
54
|
+
### 5. Make your changes
|
|
55
|
+
|
|
56
|
+
The entire tool lives in `index.js`. It is structured in clearly labelled sections:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
// ─── Colour helpers ──────────────────────────────────────────────────────────
|
|
60
|
+
// ─── readline helper ─────────────────────────────────────────────────────────
|
|
61
|
+
// ─── run shell command ────────────────────────────────────────────────────────
|
|
62
|
+
// ─── shared file content ──────────────────────────────────────────────────────
|
|
63
|
+
// ─── App-type scaffolders ─────────────────────────────────────────────────────
|
|
64
|
+
// scaffoldCanvas()
|
|
65
|
+
// scaffoldMDA()
|
|
66
|
+
// scaffoldPCF()
|
|
67
|
+
// scaffoldPowerPages()
|
|
68
|
+
// scaffoldCodeApp()
|
|
69
|
+
// ─── AI context file writer ───────────────────────────────────────────────────
|
|
70
|
+
// ─── Main ─────────────────────────────────────────────────────────────────────
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
To **add a new app type**, you need to:
|
|
74
|
+
1. Add a new `scaffold<AppType>()` function in the "App-type scaffolders" section
|
|
75
|
+
2. Add an entry to the `choose()` call in `main()` under "App type"
|
|
76
|
+
3. Add a `case` for it in the `switch` statement in `main()`
|
|
77
|
+
4. Update `README.md` to document the new app type
|
|
78
|
+
|
|
79
|
+
To **improve a template** (e.g. better AI instructions for Canvas Apps), find the relevant `scaffold*()` function and edit the file content strings inside it.
|
|
80
|
+
|
|
81
|
+
To **improve the docs**, edit `docs/setup-guide.md`.
|
|
82
|
+
|
|
83
|
+
### 6. Commit and push
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
git add .
|
|
87
|
+
git commit -m "fix: improve canvas app gitignore to exclude .msapp files"
|
|
88
|
+
git push origin your-branch-name
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Commit message format** — please use one of these prefixes so the changelog is easy to read:
|
|
92
|
+
|
|
93
|
+
| Prefix | Use for |
|
|
94
|
+
|---|---|
|
|
95
|
+
| `feat:` | A new feature or app type |
|
|
96
|
+
| `fix:` | A bug fix |
|
|
97
|
+
| `docs:` | Documentation changes only |
|
|
98
|
+
| `chore:` | Maintenance (version bumps, CI tweaks) |
|
|
99
|
+
| `refactor:` | Code restructuring with no behaviour change |
|
|
100
|
+
|
|
101
|
+
### 7. Open a pull request
|
|
102
|
+
|
|
103
|
+
Go to GitHub, open a pull request from your branch to `main`. Describe:
|
|
104
|
+
- What you changed
|
|
105
|
+
- Why you changed it
|
|
106
|
+
- How you tested it (which app types did you scaffold and check?)
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Code style
|
|
111
|
+
|
|
112
|
+
- This tool intentionally uses **zero external dependencies** — only Node.js built-ins (`fs`, `path`, `readline`, `child_process`). Please do not add npm dependencies.
|
|
113
|
+
- Keep the file content strings in each `scaffold*()` function **readable and well-commented** — these are the files beginners will see first.
|
|
114
|
+
- Add a plain-English comment above any logic that isn't immediately obvious.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Reporting bugs
|
|
119
|
+
|
|
120
|
+
Open an issue using the **Bug report** template. Include:
|
|
121
|
+
- Your OS (Windows / macOS / Linux)
|
|
122
|
+
- Node.js version (`node --version`)
|
|
123
|
+
- Which app type you selected
|
|
124
|
+
- The full error message or unexpected output
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Questions
|
|
129
|
+
|
|
130
|
+
Open an issue with the **Question** label or start a GitHub Discussion. There are no stupid questions.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 create-powerapp contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# create-powerapp ⚡
|
|
2
|
+
|
|
3
|
+
> One command to scaffold any Power Apps project — ready to vibe-code with GitHub Copilot or Claude Code.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx create-powerapp
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
No config files to write. No folder structure to figure out. Just answer four questions and your project is ready to open in VS Code with your AI assistant.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What it does
|
|
14
|
+
|
|
15
|
+
Running `npx create-powerapp` asks you four questions:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
▶ Project name: employee-leave-app
|
|
19
|
+
|
|
20
|
+
▶ App type:
|
|
21
|
+
1. Canvas App — Design every screen. Best for custom employee tools & mobile apps
|
|
22
|
+
2. Model-Driven App — Database-first. Great for CRM / record management
|
|
23
|
+
3. PCF Component — A reusable custom control to embed inside other Power Apps
|
|
24
|
+
4. Power Pages — A public-facing website connected to Dataverse
|
|
25
|
+
5. Code App — A full custom web app (React/TypeScript) on Power Platform
|
|
26
|
+
|
|
27
|
+
▶ AI assistant:
|
|
28
|
+
1. GitHub Copilot
|
|
29
|
+
2. Claude Code
|
|
30
|
+
|
|
31
|
+
▶ Power Platform environment URL (optional): https://yourorg.crm.dynamics.com
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Then it automatically creates everything in under 10 seconds:
|
|
35
|
+
|
|
36
|
+
| What gets created | Why |
|
|
37
|
+
|---|---|
|
|
38
|
+
| Project folder with correct structure | Right layout for your app type from day one |
|
|
39
|
+
| `.gitignore` | Passwords and generated files never get uploaded by accident |
|
|
40
|
+
| `.env` | Safe place for your environment URL and secrets |
|
|
41
|
+
| `README.md` | Project overview with useful PAC CLI commands |
|
|
42
|
+
| `instructions/` | AI context files that teach your AI how this app type works |
|
|
43
|
+
| `prompts/starter.md` | Copy-paste first prompts to build your first screens immediately |
|
|
44
|
+
| `CLAUDE.md` or `.github/copilot-instructions.md` | Your AI reads this to understand the project |
|
|
45
|
+
| Git initialised + first commit | Version control ready immediately |
|
|
46
|
+
| `pac auth create` (if URL given) | Signs you into your Power Platform environment |
|
|
47
|
+
| VS Code opened automatically | Jump straight into building |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Prerequisites
|
|
52
|
+
|
|
53
|
+
You need these installed once on your machine. The [VS Code Setup Guide](docs/setup-guide.md) walks through every step in plain English.
|
|
54
|
+
|
|
55
|
+
| Tool | What it is | Install |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| **Node.js 18+** | Required to run this tool | [nodejs.org](https://nodejs.org) → download LTS |
|
|
58
|
+
| **Git** | Version control | [git-scm.com](https://git-scm.com) |
|
|
59
|
+
| **PAC CLI** | Connects to Power Apps | `npm install -g pac` |
|
|
60
|
+
| **VS Code** | Your coding editor | [code.visualstudio.com](https://code.visualstudio.com) |
|
|
61
|
+
| **GitHub Copilot** or **Claude Code** | Your AI assistant | See setup guide |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Quick start
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Run directly — no install needed, always uses latest version
|
|
69
|
+
npx create-powerapp
|
|
70
|
+
|
|
71
|
+
# Or install globally so you can run it anytime
|
|
72
|
+
npm install -g create-powerapp
|
|
73
|
+
create-powerapp
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
After the command finishes:
|
|
77
|
+
|
|
78
|
+
1. VS Code opens automatically with your project
|
|
79
|
+
2. Open `prompts/starter.md` — copy-paste prompts for your first screens
|
|
80
|
+
3. Open your AI assistant (Copilot Chat icon, or `claude` in the terminal)
|
|
81
|
+
4. Paste a prompt and start building
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Full setup guide
|
|
86
|
+
|
|
87
|
+
New to VS Code, Power Apps, or vibe coding entirely? Read the full step-by-step guide:
|
|
88
|
+
|
|
89
|
+
**[📖 VS Code Setup Guide for Vibe Coding](docs/setup-guide.md)**
|
|
90
|
+
|
|
91
|
+
It covers everything from installing VS Code for the first time to writing your first AI prompt — with plain-English explanations and a glossary of every technical term.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Supported app types
|
|
96
|
+
|
|
97
|
+
| App type | Best for | Key files created |
|
|
98
|
+
|---|---|---|
|
|
99
|
+
| **Canvas App** | Custom employee tools, mobile apps, branded interfaces | `canvas-src/` (unpacked YAML), instructions, starter prompts |
|
|
100
|
+
| **Model-Driven App** | CRM tools, record management, data-heavy apps | `solutions/` placeholder, MDA instructions, starter prompts |
|
|
101
|
+
| **PCF Component** | Custom interactive controls embedded in other Power Apps | PCF instructions, starter prompts with `pac pcf init` command |
|
|
102
|
+
| **Power Pages** | External customer/partner portals | `site/` folder structure, Power Pages instructions |
|
|
103
|
+
| **Code App** | Full custom React/TypeScript web apps on Power Platform | `src/`, `package.json`, `tsconfig.json`, Code App instructions |
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Repository structure
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
create-powerapp/
|
|
111
|
+
├── index.js ← CLI entry point (the tool itself)
|
|
112
|
+
├── package.json ← npm package config
|
|
113
|
+
├── LICENSE ← MIT licence
|
|
114
|
+
├── README.md ← This file
|
|
115
|
+
├── CONTRIBUTING.md ← How to contribute
|
|
116
|
+
├── CHANGELOG.md ← Version history
|
|
117
|
+
├── docs/
|
|
118
|
+
│ └── setup-guide.md ← Full beginner VS Code + vibe coding guide
|
|
119
|
+
└── .github/
|
|
120
|
+
├── workflows/
|
|
121
|
+
│ └── ci.yml ← Automated tests on every pull request
|
|
122
|
+
└── ISSUE_TEMPLATE/
|
|
123
|
+
├── bug_report.md
|
|
124
|
+
└── feature_request.md
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Contributing
|
|
130
|
+
|
|
131
|
+
Contributions are welcome — whether that's fixing a bug, adding a new app type template, or improving the beginner docs. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Licence
|
|
136
|
+
|
|
137
|
+
MIT — see [LICENSE](LICENSE).
|