@msn-control/liftoff 0.4.1 → 0.5.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.
- package/README.md +65 -256
- package/assets/locks/frontend/package-lock.json +224 -168
- package/assets/locks/frontend/package.json +1 -1
- package/assets/locks/node-backend/package-lock.json +85 -31
- package/assets/locks/node-backend/package.json +1 -1
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/UPSTREAM_LICENSE.txt +21 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/catalog.json +520 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/packaged/gitignore +27 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/README.md +25 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/components.json +22 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/eslint.config.js +23 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/index.html +13 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package-lock.json +6597 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package.json +60 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/public/power-apps.svg +55 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/App.tsx +17 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/assets/react.svg +1 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/mode-toggle.tsx +37 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/badge.tsx +46 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/button.tsx +60 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/calendar.tsx +211 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/card.tsx +92 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/chart.tsx +355 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/checkbox.tsx +32 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/command.tsx +184 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dialog.tsx +141 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dropdown-menu.tsx +257 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/input.tsx +21 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/label.tsx +22 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/popover.tsx +46 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/progress.tsx +29 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/select.tsx +185 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/separator.tsx +26 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/skeleton.tsx +13 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/table.tsx +114 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tabs.tsx +66 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/textarea.tsx +18 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tooltip.tsx +61 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/hooks/use-theme.ts +11 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/index.css +131 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/lib/utils.ts +6 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/main.tsx +10 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/_layout.tsx +31 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/home.tsx +59 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/not-found.tsx +14 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/query-provider.tsx +26 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/sonner-provider.tsx +23 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/theme-provider.tsx +64 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/router.tsx +24 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.app.json +34 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.json +13 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.node.json +26 -0
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/vite.config.ts +19 -0
- package/assets/power-apps-code-app/README.md +27 -0
- package/dist/args.js +7 -1
- package/dist/args.js.map +1 -1
- package/dist/catalogs.d.ts +3 -1
- package/dist/catalogs.js +23 -0
- package/dist/catalogs.js.map +1 -1
- package/dist/code-apps-plugin.d.ts +13 -0
- package/dist/code-apps-plugin.js +69 -0
- package/dist/code-apps-plugin.js.map +1 -0
- package/dist/commands.js +282 -55
- package/dist/commands.js.map +1 -1
- package/dist/file-system.d.ts +16 -1
- package/dist/file-system.js +320 -10
- package/dist/file-system.js.map +1 -1
- package/dist/genai-templates.d.ts +6 -6
- package/dist/genai-templates.js +0 -3
- package/dist/genai-templates.js.map +1 -1
- package/dist/interactive.d.ts +40 -3
- package/dist/interactive.js +180 -24
- package/dist/interactive.js.map +1 -1
- package/dist/migrate-plan.d.ts +4 -4
- package/dist/migrate-plan.js +1 -1
- package/dist/migrate-plan.js.map +1 -1
- package/dist/planner.js +177 -40
- package/dist/planner.js.map +1 -1
- package/dist/power-apps-assets.d.ts +30 -0
- package/dist/power-apps-assets.js +131 -0
- package/dist/power-apps-assets.js.map +1 -0
- package/dist/power-apps-templates.d.ts +3 -0
- package/dist/power-apps-templates.js +140 -0
- package/dist/power-apps-templates.js.map +1 -0
- package/dist/power-apps-validation.d.ts +1 -0
- package/dist/power-apps-validation.js +79 -0
- package/dist/power-apps-validation.js.map +1 -0
- package/dist/project-dependencies.d.ts +1 -0
- package/dist/project-dependencies.js +12 -1
- package/dist/project-dependencies.js.map +1 -1
- package/dist/standard-templates.d.ts +4 -4
- package/dist/standard-templates.js.map +1 -1
- package/dist/templates.d.ts +2 -2
- package/dist/templates.js +196 -50
- package/dist/templates.js.map +1 -1
- package/dist/types.d.ts +73 -15
- package/dist/workstation.d.ts +10 -5
- package/dist/workstation.js +25 -10
- package/dist/workstation.js.map +1 -1
- package/docs/assets/liftoff-terminal.svg +33 -0
- package/docs/azure-deployment.md +66 -0
- package/docs/cli-reference.md +128 -0
- package/docs/configuration-and-manifests.md +102 -0
- package/docs/existing-repositories.md +87 -0
- package/docs/getting-started.md +114 -0
- package/docs/prerequisites.md +99 -0
- package/docs/project-structure.md +119 -0
- package/docs/safety-and-consent.md +98 -0
- package/docs/spec-workflows-and-agents.md +92 -0
- package/docs/troubleshooting.md +133 -0
- package/docs/workloads.md +128 -0
- package/package.json +10 -2
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Troubleshooting
|
|
2
|
+
|
|
3
|
+
## The installed version is older than canonical npm
|
|
4
|
+
|
|
5
|
+
Check the canonical release:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm view @msn-control/liftoff@latest version --registry=https://registry.npmjs.org
|
|
9
|
+
liftoff --version
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Versions before 0.3.0 are unsupported.
|
|
13
|
+
|
|
14
|
+
If a managed registry exposes an older version, stop onboarding and ask the
|
|
15
|
+
mirror owner to synchronize or approve the release. Liftoff does not modify
|
|
16
|
+
`.npmrc`. A successful installation of an older mirrored package does not make
|
|
17
|
+
that version supported.
|
|
18
|
+
|
|
19
|
+
## An installed tool is still reported missing
|
|
20
|
+
|
|
21
|
+
Installers that change `PATH` may require a new terminal. Open one, rerun:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
liftoff doctor
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Do not assume installer exit code 0 proves readiness; the requirement probe
|
|
28
|
+
must pass.
|
|
29
|
+
|
|
30
|
+
## Initialization wants to create a child folder
|
|
31
|
+
|
|
32
|
+
In-place initialization occurs only when the current directory exactly matches
|
|
33
|
+
the Git worktree root:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
git rev-parse --show-toplevel
|
|
37
|
+
pwd
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Change to that root and rerun `liftoff init`. See
|
|
41
|
+
[existing repositories](existing-repositories.md).
|
|
42
|
+
|
|
43
|
+
## Initialization reports replacement conflicts
|
|
44
|
+
|
|
45
|
+
Review the complete replacement list. Approve interactively or rerun with
|
|
46
|
+
`--force` only when every listed regular file may be replaced.
|
|
47
|
+
|
|
48
|
+
`--force` cannot bypass directories, symlinks, unsafe ancestors, an existing
|
|
49
|
+
manifest, or a non-empty migration target. Move or rename the structural
|
|
50
|
+
conflict and retry.
|
|
51
|
+
|
|
52
|
+
## A handled write failed
|
|
53
|
+
|
|
54
|
+
Liftoff reports whether rollback completed. Correct the filesystem problem and
|
|
55
|
+
retry. If rollback was incomplete, stop and inspect every reported path before
|
|
56
|
+
running another write command.
|
|
57
|
+
|
|
58
|
+
## Validation reports a malformed or unsafe manifest
|
|
59
|
+
|
|
60
|
+
Manifest paths must be portable path-part arrays confined to the project.
|
|
61
|
+
Traversal, absolute, drive-qualified, UNC, embedded-separator, empty, and
|
|
62
|
+
symlink-escaping paths are rejected before artifact access.
|
|
63
|
+
|
|
64
|
+
Restore `liftoff.manifest.json` from version control or regenerate the project
|
|
65
|
+
with the matching Liftoff version. Do not weaken path validation or retain a
|
|
66
|
+
hand-edited unsafe path.
|
|
67
|
+
|
|
68
|
+
## Update reports conflicts or orphans
|
|
69
|
+
|
|
70
|
+
`liftoff update` does not write. Review the report:
|
|
71
|
+
|
|
72
|
+
- Apply safe changes with `liftoff update --apply`.
|
|
73
|
+
- Developer conflicts remain untouched unless you explicitly use
|
|
74
|
+
`liftoff update --apply --force`.
|
|
75
|
+
- Orphans are never deleted automatically.
|
|
76
|
+
|
|
77
|
+
Commit local work before applying when possible.
|
|
78
|
+
|
|
79
|
+
## Power Apps dependencies or CLI are missing
|
|
80
|
+
|
|
81
|
+
From the project root:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npm ci
|
|
85
|
+
npx --no-install power-apps --version
|
|
86
|
+
npm run dev
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The CLI is project-local. Do not replace the locked install with an unrelated
|
|
90
|
+
global package.
|
|
91
|
+
|
|
92
|
+
## The Code Apps plugin is missing or not observable
|
|
93
|
+
|
|
94
|
+
Plugin state is advisory. In each selected agent session, use:
|
|
95
|
+
|
|
96
|
+
```text
|
|
97
|
+
/plugin marketplace add microsoft/power-platform-skills
|
|
98
|
+
/plugin install code-apps-preview@power-platform-skills
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Then rerun `liftoff doctor`. Do not run `/create-code-app` in a Liftoff project.
|
|
102
|
+
Liftoff does not run Microsoft's broad plugin installer.
|
|
103
|
+
|
|
104
|
+
## Terminal output is hard to read or being captured
|
|
105
|
+
|
|
106
|
+
Rich output requires a wide TTY. Redirected output automatically uses
|
|
107
|
+
deterministic plain text. To disable color while retaining layout:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
NO_COLOR=1 liftoff doctor
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Use `--json` with validate, doctor, or update for machine consumption.
|
|
114
|
+
|
|
115
|
+
## `liftoff create` is rejected
|
|
116
|
+
|
|
117
|
+
Use:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
liftoff init
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The old command has no compatibility alias.
|
|
124
|
+
|
|
125
|
+
## Get command syntax
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
liftoff help
|
|
129
|
+
liftoff init --help
|
|
130
|
+
liftoff update --help
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Unknown or incompatible inputs fail instead of falling back to another action.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Workloads
|
|
2
|
+
|
|
3
|
+
Liftoff asks for one workload first, then routes only the questions,
|
|
4
|
+
prerequisites, generated artifacts, and maintenance checks that apply to it.
|
|
5
|
+
|
|
6
|
+
## At a glance
|
|
7
|
+
|
|
8
|
+
| Workload | Primary choices | Required runtime | Liftoff-generated platform areas |
|
|
9
|
+
| --- | --- | --- | --- |
|
|
10
|
+
| GenAI application | Pattern, Azure region, environments, optional frontend | Python 3.12 and Node.js 20.19+ | API, orchestration, data, messaging, Docker, Azure OpenTofu |
|
|
11
|
+
| API application | Python, Node.js, or Go API stack; Azure region; environments; optional frontend | Selected API runtime and Node.js 20.19+ | API, data, Docker, Azure OpenTofu |
|
|
12
|
+
| Power Apps code app | Spec workflow, agents, optional Code Apps plugin | Node.js 22.12+ | Official React/Vite starter and project-local Power Apps tooling |
|
|
13
|
+
|
|
14
|
+
All three workloads continue into the common OpenSpec or Spec Kit and coding
|
|
15
|
+
agent flow.
|
|
16
|
+
|
|
17
|
+
## GenAI application
|
|
18
|
+
|
|
19
|
+
### Questions
|
|
20
|
+
|
|
21
|
+
- Project name.
|
|
22
|
+
- GenAI pattern such as prompt, chatbot, RAG, agent, multi-agent, or workflow.
|
|
23
|
+
- Azure region and generated environments.
|
|
24
|
+
- Whether to generate a frontend.
|
|
25
|
+
- Spec workflow and coding agents.
|
|
26
|
+
|
|
27
|
+
The selected pattern fixes the API stack to Python, FastAPI, and PydanticAI.
|
|
28
|
+
|
|
29
|
+
### Generated output
|
|
30
|
+
|
|
31
|
+
- FastAPI backend and Scalar/OpenAPI integration.
|
|
32
|
+
- PydanticAI orchestration, prompts, and model configuration boundaries.
|
|
33
|
+
- PostgreSQL and pattern-specific Redis or Azure Service Bus boundaries.
|
|
34
|
+
- Offline-testable tracing and integration adapters.
|
|
35
|
+
- Docker Compose and Azure OpenTofu.
|
|
36
|
+
- Optional Vue frontend and pattern-specific Azure Functions workers.
|
|
37
|
+
|
|
38
|
+
### Deferred actions
|
|
39
|
+
|
|
40
|
+
Liftoff does not insert model credentials, sign in to cloud services, or deploy
|
|
41
|
+
resources. Configure `.env`, authenticate separately, and review generated
|
|
42
|
+
infrastructure before applying it.
|
|
43
|
+
|
|
44
|
+
## API application
|
|
45
|
+
|
|
46
|
+
### Questions
|
|
47
|
+
|
|
48
|
+
- Project name.
|
|
49
|
+
- API stack: Python/FastAPI, Node.js/Fastify with TypeScript, or Go/Huma v2
|
|
50
|
+
with Chi.
|
|
51
|
+
- Azure region and generated environments.
|
|
52
|
+
- Whether to generate a frontend.
|
|
53
|
+
- Spec workflow and coding agents.
|
|
54
|
+
|
|
55
|
+
### Generated output
|
|
56
|
+
|
|
57
|
+
- Stack-native API, OpenAPI, tests, and database migrations.
|
|
58
|
+
- PostgreSQL, Redis, Azurite, and Mailpit local services where applicable.
|
|
59
|
+
- Docker Compose and Azure OpenTofu.
|
|
60
|
+
- Optional Vue frontend.
|
|
61
|
+
|
|
62
|
+
### Deferred actions
|
|
63
|
+
|
|
64
|
+
Service secrets, cloud authentication, external integrations, and deployment
|
|
65
|
+
remain explicit developer or delivery-pipeline actions.
|
|
66
|
+
|
|
67
|
+
## Power Apps code app
|
|
68
|
+
|
|
69
|
+
Power Apps uses an immutable, packaged snapshot of Microsoft's official
|
|
70
|
+
[`PowerAppsCodeApps/templates/starter`](https://github.com/microsoft/PowerAppsCodeApps/tree/main/templates/starter).
|
|
71
|
+
Initialization and update do not fetch the mutable upstream branch.
|
|
72
|
+
|
|
73
|
+
### Questions
|
|
74
|
+
|
|
75
|
+
- Project name.
|
|
76
|
+
- OpenSpec or Spec Kit.
|
|
77
|
+
- GitHub Copilot, Claude Code, or both.
|
|
78
|
+
- Spec Kit default agent when both are selected.
|
|
79
|
+
- Whether to request the optional Microsoft Code Apps agent plugin
|
|
80
|
+
(Preview).
|
|
81
|
+
|
|
82
|
+
Power Apps does not ask for an API stack, GenAI pattern, cloud, region, API
|
|
83
|
+
environment, API frontend, Docker, or OpenTofu selection.
|
|
84
|
+
|
|
85
|
+
### Generated output
|
|
86
|
+
|
|
87
|
+
- React, Vite, TypeScript, Tailwind, and the Power Apps SDK and Vite plugin.
|
|
88
|
+
- Locked root `package.json` and `package-lock.json`.
|
|
89
|
+
- Project-local `power-apps` CLI supplied by the generated dependency graph.
|
|
90
|
+
- `liftoff.config.json`, schema-v4 `liftoff.manifest.json`, starter provenance,
|
|
91
|
+
and third-party attribution.
|
|
92
|
+
- Official OpenSpec or Spec Kit output and every selected agent marker.
|
|
93
|
+
|
|
94
|
+
Liftoff does not create an API backend, `docker-compose.yml`,
|
|
95
|
+
`infrastructure/`, API environments, or an environment-bound
|
|
96
|
+
`power.config.json` for this workload.
|
|
97
|
+
|
|
98
|
+
### Deferred actions
|
|
99
|
+
|
|
100
|
+
After initialization:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
npm ci
|
|
104
|
+
npm run dev
|
|
105
|
+
npx --no-install power-apps --version
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Environment binding, connector creation, authentication, and deployment remain
|
|
109
|
+
outside initialization. Follow Microsoft's current Code Apps documentation
|
|
110
|
+
before running `power-apps init` or `power-apps push`.
|
|
111
|
+
|
|
112
|
+
If the optional Code Apps plugin was requested, install only the targeted
|
|
113
|
+
plugin from an agent session:
|
|
114
|
+
|
|
115
|
+
```text
|
|
116
|
+
/plugin marketplace add microsoft/power-platform-skills
|
|
117
|
+
/plugin install code-apps-preview@power-platform-skills
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Do not run `/create-code-app` inside the generated project; Liftoff already
|
|
121
|
+
created the application.
|
|
122
|
+
|
|
123
|
+
## Change workload later
|
|
124
|
+
|
|
125
|
+
`liftoff update` reconciles supported desired-state changes within the recorded
|
|
126
|
+
workload. It does not convert among GenAI, API, and Power Apps or change an API
|
|
127
|
+
stack, GenAI pattern, or user-supplied starter identity. Initialize a fresh
|
|
128
|
+
project or use a supported migration flow instead.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@msn-control/liftoff",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.5.1",
|
|
4
|
+
"description": "Interactive CLI for governed GenAI, API, and Power Apps code app projects.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "GPL-3.0-only",
|
|
7
7
|
"homepage": "https://github.com/voyager163/liftoff#readme",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"fastify",
|
|
22
22
|
"golang",
|
|
23
23
|
"pydanticai",
|
|
24
|
+
"power-apps",
|
|
24
25
|
"opentofu",
|
|
25
26
|
"openspec",
|
|
26
27
|
"mission-control"
|
|
@@ -31,6 +32,8 @@
|
|
|
31
32
|
"files": [
|
|
32
33
|
"dist",
|
|
33
34
|
"assets/locks",
|
|
35
|
+
"assets/power-apps-code-app",
|
|
36
|
+
"docs",
|
|
34
37
|
"README.md",
|
|
35
38
|
"LICENSE"
|
|
36
39
|
],
|
|
@@ -41,7 +44,11 @@
|
|
|
41
44
|
"scripts": {
|
|
42
45
|
"build": "tsc -p tsconfig.json",
|
|
43
46
|
"test": "vitest run",
|
|
47
|
+
"audit:template-dependencies": "node scripts/audit-template-dependencies.mjs",
|
|
48
|
+
"refresh:power-apps-starter": "node scripts/refresh-power-apps-starter.mjs",
|
|
44
49
|
"smoke:package": "npm run build && node scripts/package-smoke-test.mjs",
|
|
50
|
+
"verify:standard-node-templates": "npm run build && node scripts/verify-standard-node-templates.mjs",
|
|
51
|
+
"verify:power-apps-starter": "npm run build && node scripts/verify-power-apps-starter.mjs",
|
|
45
52
|
"verify:release-identity": "npm run build && node scripts/verify-release-identity.mjs",
|
|
46
53
|
"verify:published": "npm run build && node scripts/verify-published-package.mjs",
|
|
47
54
|
"check": "npm run build && npm test"
|
|
@@ -56,6 +63,7 @@
|
|
|
56
63
|
"vitest": "^4.1.9"
|
|
57
64
|
},
|
|
58
65
|
"dependencies": {
|
|
66
|
+
"@inquirer/prompts": "^7.10.1",
|
|
59
67
|
"cross-spawn": "^7.0.6",
|
|
60
68
|
"picocolors": "^1.1.1"
|
|
61
69
|
}
|