Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
},
{
"name": "canvas-authoring",
"description": "Build canvas apps with the native create-canvas skill and a toolkit setup companion.",
"version": "0.1.2",
"description": "Create canvas apps with guided setup and reusable UI components from the Microsoft Canvas Toolkit. Includes a background extension used only for skill-usage telemetry.",
"version": "0.1.3",
"source": "plugins/canvas-authoring"
},
{
Expand Down
28 changes: 28 additions & 0 deletions docs/canvas-authoring/0.1.3/SHA256SUMS
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
584556ed1ae6c8fe12a95c0a11d98a3729ca6a5cffc9c6422188060138e5abe2 README.md
82b3d5b2bed3ef364a0eec224482a0e76b580d90c8ed34942868d294a09364e2 com.github.copilot/extensions/canvas-authoring/extension.mjs
acb58c635a87b78b1c5034533b32e2b1d2532956e5bf511842c3eaa8fc6cb315 plugin.json
5939bfec3d332abe5ee6972d3490a8e64b8e06e48a7f4920a10f96af69751a4e skills/create-canvas-app/SKILL.md
c28db43ba16888d8e0afab71ca2bd83dcb664551a096a44a5b34e40dc276dd88 skills/create-canvas-app/references/toolkit.md
d25deed12d803f6c973597348627b1939e2d19bbc28fda83c93ea0cde44702da skills/create-canvas-app/references/toolkit/LICENSE
63b940887b422af5da156b3ece522ec90afd26bd9e5b8271aad2fe60735ed814 skills/create-canvas-app/references/toolkit/README.md
b22b317cd93b5fb40636fbaccba2750501faf41b54bcf9c6bb971c5355c9e23b skills/create-canvas-app/references/toolkit/auth.md
70d8d6683e31c01ce8538d339f676901ac1332710dc19ff8afbfa443b0ae399b skills/create-canvas-app/references/toolkit/examples/README.md
18ea90a17fb7d39104f343b3a53079dfed536bdd9a6dafc71321de5158be61bb skills/create-canvas-app/references/toolkit/examples/custom-fetch-client.mjs
3d81ea6de1551da83f008251f204e06e736e9655aed450765b4f416a834d1eb8 skills/create-canvas-app/references/toolkit/examples/resource-groups.mjs
5809596d28119f393975235a44b5784d95a82354eb56d84c2adcbba0f2ab34ce skills/create-canvas-app/references/toolkit/examples/run-read-only.mjs
e9adf9797984f6b23f2f7b0807898a551f2ca5ab122f5f644033e705e2efa1cc skills/create-canvas-app/references/toolkit/examples/sdk-client.mjs
2b1eef605c99ff364839edf325d824ae1fe300fb54cf7b5a84ebd8f252e83568 skills/create-canvas-app/references/toolkit/provenance.json
90d339293305a4131381db2170bda0b68fd3dba63a78259f21d373b096bfae5e skills/create-canvas-app/references/toolkit/quickstart.md
c1c94cf568e5fdef3013b81aeb63e9b7aa1d2efa983f19677f3642f7ebacf0a9 skills/create-canvas-app/references/toolkit/ui-components.md
721004c52d2ce05d5da548d98dbc581da2198840b4e481deed3b0ddad21aad8d skills/create-canvas-app/scripts/setup-toolkit.mjs
79d3ad45fb767fba8e873a6000c55013d7df2d802541d1af6060ef986927f080 skills/create-canvas-app/templates/azure-resource-groups/README.md
67451cd55721f065083817d8a6cf0e1068b54a828e000cf00627fe25fe44ca6f skills/create-canvas-app/templates/azure-resource-groups/package.json
3bcf34bcc5dd31561430a860e289e35a641d7e328e7cf20b08ee4fc819320c15 skills/create-canvas-app/templates/azure-resource-groups/scripts/check-entry.mjs
94397d5f1426d39ba319d5f03dfd6c03b8c9e2837cb04438c897f687eeecdd9a skills/create-canvas-app/templates/azure-resource-groups/scripts/smoke.mjs
fc58f8272cb7a019d6731e1b9bc28fd91a65202ae5bfcb11da00c6f895216d3d skills/create-canvas-app/templates/azure-resource-groups/src/browser/app.css
52a579c1faee054e5efe31594808fa7f67f013eb87614d284648fd20ea36899a skills/create-canvas-app/templates/azure-resource-groups/src/browser/app.mjs
7de54eac2b6b0801abfdd0512c96c396226553a50fbc514285de8d46021ad6a5 skills/create-canvas-app/templates/azure-resource-groups/src/browser/index.html
16dfd1d2bd48e3563e84597337b97e87d6ed20960336ac7249fa131ed641dd54 skills/create-canvas-app/templates/azure-resource-groups/src/canvas.mjs
62b66ccbf5d74cd8b59c53a3a5ba74772e58f51893a0199c92e36c05db127b12 skills/create-canvas-app/templates/azure-resource-groups/src/domain.mjs
f8f66cbd63fa3a07427676085b64e2684f60398e1459e7a3927b2104d8fb8186 skills/create-canvas-app/templates/azure-resource-groups/src/fixture.mjs
55e688f04faa2d6bf4587f6a5f9bdd445494c2e5b13495eef58ef2004497daa4 skills/create-canvas-app/templates/azure-resource-groups/tests/app.test.mjs
33 changes: 18 additions & 15 deletions plugins/canvas-authoring/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# Canvas authoring plugin

Create a canvas app with the Microsoft Canvas Toolkit. This **skill-only
companion** gives the host's native `create-canvas` workflow toolkit setup
and a counter or read-only Azure resource-group starter; installing it does
not open a canvas.
Create a canvas app with the Microsoft Canvas Toolkit.

## What you can do

- Turn an app idea into a canvas project with guided setup.
- Build interfaces with reusable components that match Copilot's theme.
- Share actions and state between the canvas and your agent.
- Connect to Azure with authentication, subscription selection and read-only resource access.

## Install

Expand Down Expand Up @@ -37,12 +41,6 @@ groups. Use the native create-canvas skill and the create-canvas-app
companion's Azure starter.** Choose a compatible toolkit package and project
location when prompted. For a non-Azure example, ask for the counter starter.

## What you can do

- Generate a native canvas scaffold with a working counter starter.
- Start a read-only Azure resource-group viewer with explicit subscription choice.
- Build and smoke-test the generated app before installing its complete output.

## Prompts to try

> Use the native create-canvas skill and the create-canvas-app companion to build a counter canvas.
Expand All @@ -61,11 +59,16 @@ location when prompted. For a non-Azure example, ask for the counter starter.

## Usage data

The plugin counts how often its `create-canvas-app` skill is invoked. Each
count records the skill name, how it was invoked, the plugin name and version,
and a timestamp. Usage telemetry may include a pseudonymous account identifier
to understand usage over time; it is retained for up to 30 days. The plugin
does not send prompts, project files or source code.
The plugin includes a background extension only for skill-usage telemetry.
It does not add a canvas, tools or hooks.

Usage telemetry is enabled by default to help improve this plugin. It sends
basic skill-usage data and, when available, your numeric GitHub user ID to the
[usage metrics service](https://canvas-metrics-pilot-0b8944-add3hsghhddcbxe9.b01.azurefd.net/api/events).
Prompts, tool inputs/outputs and credentials are excluded.

You can [disable usage telemetry](https://github.com/microsoft/azure-dev-tools#disable-usage-telemetry).
Copilot's own telemetry is separate.

## Create an app

Expand Down

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions plugins/canvas-authoring/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "canvas-authoring",
"version": "0.1.2",
"description": "A toolkit setup companion to the GitHub Copilot app's installed create-canvas skill, with an Azure starter, safe asset packaging and a focused browser smoke."
"version": "0.1.3",
"description": "Create canvas apps with guided setup and reusable UI components from the Microsoft Canvas Toolkit. Includes a background extension used only for skill-usage telemetry."
}
12 changes: 12 additions & 0 deletions plugins/canvas-authoring/skills/create-canvas-app/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,23 @@ install the whole `dist/`, reload the provider and verify the actual panel.
- Keep credentials server-side, cancel obsolete work and reject stale results.
Empty success, missing scope, errors and cancellation must remain distinct.
- Use labelled `{"mode":"fixture"}` data for tests. Do not report it as live Azure.
- Use toolkit controls (`ui/dom`, with `ui/styles.css` then `ui/base.css`) and host
type tokens for new UI. Keep body text normal weight and headings modest; avoid
hand-styled buttons. The Azure starter adds no product telemetry.
- Keep the generated build's dependencies and asset layout. Check decoded
images as well as controls; do not replace missing assets with SVG rewrites.
- State is ephemeral. Follow the host skill for persistence and shutdown.
A panel refresh is not a provider reload; check the displayed build ID.

### When adding product telemetry

Do not add telemetry by default to generated apps. If requested, use the
shared toolkit collector and follow
[Product-usage telemetry](references/toolkit/README.md#product-usage-telemetry).
Update **Usage data** in the public and packaged README, link to the shared
disable instructions, and review the emitted notice. Test opt-out behavior,
not README phrases.

Use the [integration reference](references/toolkit.md) for adapter/build details
and the [Azure quickstart](references/toolkit/quickstart.md) for customization.
Toolkit guide links are assembled in the exported plugin, not maintained as
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ An unavailable version must fail installation, not trigger a source fallback.
| `@microsoft/canvas-toolkit/state` | The optional store is in-memory, not durable persistence. Choose ownership through the host lifecycle. |
| `@microsoft/canvas-toolkit/server` | [Serve the app](toolkit/README.md#canvas-skeleton) through the shared loopback transport, with an explicit asset allowlist. |
| `@microsoft/canvas-toolkit/ui/styles.css` | [Use shared styles](toolkit/README.md#styling-and-themes) and link the emitted CSS from HTML. |
| `@microsoft/canvas-toolkit/ui/dom` | Mount toolkit controls (`Button`, `MessageBar`, `ActionGroup`) in plain-JavaScript views with `mountCanvasComponent`; load `ui/styles.css`, then `ui/base.css`. Use `ui/react` in React apps. See the [component guide](toolkit/ui-components.md). |
| `@microsoft/canvas-toolkit/ui/theme` | `readCanvasTheme` and `observeCanvasTheme` for renderers that cannot use CSS tokens. Otherwise rely on `--canvas-*` tokens. |
| `@microsoft/canvas-toolkit/telemetry` | Product-usage helpers. The starters omit them: the public collector is release-owned and always on. Add usage metadata and instrumentation only for a registered product canvas. |
| Azure auth/subscriptions | [Bind explicit scope](toolkit/auth.md) and keep credentials in Node. These helpers are optional for non-Azure apps. |

`effect: "write"` describes an action; it does not authorize a cloud mutation.
Expand Down
Loading