pcf-sample-components — GitHub Copilot rule: how to install
Guides GitHub Copilot through preparing, building, and bundling Power Apps Component Framework samples into deployable solution archives.
.github/instructions/pcf-sample-components.instructions.mdWhat pcf-sample-components does
This instruction file helps GitHub Copilot navigate sample components from the PowerApps-Samples repository. It triggers on .ts, .tsx, .js, .json, .xml, .pcfproj, and .csproj files. Copilot relies on these steps to generate commands for npm install, project restoration, and Dataverse solution packaging.
The workflow covers commands like pac solution init and pac solution add-reference, followed by msbuild calls that produce ready-to-import zip archives. Without Power Platform CLI for Windows and Developer Command Prompt for Visual Studio, these build steps fail immediately.
What it helps with
- Package PCF sample controls into solution zip files with msbuild
- Initialize a new Dataverse solution project using pac CLI
- Reference a pcfproj component project inside a solution
- Prepare and restore npm and project dependencies for controls
Example prompts for the agent
- How do I initialize and build a solution for IncrementControl?
- Generate the pac commands to link this pcfproj to a solution
- Guide me through exporting a zip package for make.powerapps.com
How to install pcf-sample-components
Manually: put the files in place
.github/instructions/pcf-sample-components.instructions.mdThe applyTo field sets which files it applies to
Manually: put the files in place
.claude/rules/pcf-sample-components.mdThe paths frontmatter field limits the files: move applyTo from the source into paths
AGENTS.md
Codex reads AGENTS.md: paste the rule text there
Manually: put the files in place
.cursor/rules/pcf-sample-components.mdcFrontmatter: description, globs, alwaysApply. Move applyTo from the source into globs, or the rule will not attach on its own
Manually: put the files in place
.devin/rules/pcf-sample-components.mdManually: put the files in place
.clinerules/pcf-sample-components.mdStep by step, with commands for each platform: AGENTS.md vs CLAUDE.md: what they are and which one to use
Questions about pcf-sample-components
How to install pcf-sample-components in GitHub Copilot?
Place the rule file at .github/instructions/pcf-sample-components.instructions.md. GitHub Copilot will reference it whenever matching project files are open.
What does pcf-sample-components do?
It teaches the assistant the exact sequence for building Microsoft PCF examples, binding them into solution projects, and importing them into Power Apps.
What prerequisites are needed to run these component commands?
You need Windows, Developer Command Prompt for Visual Studio, Power Platform CLI (pac), and Node.js with npm.
Source text
pcf-sample-components.instructions.md · MIT
---
description: 'How to use and run PCF sample components from the PowerApps-Samples repository'
applyTo: '**/*.{ts,tsx,js,json,xml,pcfproj,csproj}'
---
# How to Use the Sample Components
All the sample components listed under this section are available to download from [github.com/microsoft/PowerApps-Samples/tree/master/component-framework](https://github.com/microsoft/PowerApps-Samples/tree/master/component-framework) so that you can try them out in your model-driven or canvas apps.
The individual sample component topics under this section provide you an overview of the sample component, its visual appearance, and a link to the complete sample component.
## Before You Can Try the Sample Components
To try the sample components, you must first:
- [Download](https://docs.github.com/repositories/working-with-files/using-files/downloading-source-code-archives#downloading-source-code-archives-from-the-repository-view) or [clone](https://docs.github.com/repositories/creating-and-managing-repositories/cloning-a-repository) this repository [github.com/microsoft/PowerApps-Samples](https://github.com/microsoft/PowerApps-Samples).
- Install [Install Power Platform CLI for Windows](https://learn.microsoft.com/en-us/power-platform/developer/cli/introduction#install-power-platform-cli-for-windows).
## Try the Sample Components
Follow the steps in the [README.md](https://github.com/microsoft/PowerApps-Samples/blob/master/component-framework/README.md) to generate solutions containing the controls so you can import and try the sample components in your model-driven or canvas app.
## How to Run the Sample Components
Use the following steps to import and try the sample components in your model-driven or canvas app.
### Step-by-Step Process
1. **Download or clone the repository**
- [Download](https://docs.github.com/repositories/working-with-files/using-files/downloading-source-code-archives#downloading-source-code-archives-from-the-repository-view) or [clone](https://docs.github.com/repositories/creating-and-managing-repositories/cloning-a-repository) [github.com/microsoft/PowerApps-Samples](https://github.com/microsoft/PowerApps-Samples).
2. **Open Developer Command Prompt**
- Open a [Developer Command Prompt for Visual Studio](https://learn.microsoft.com/visualstudio/ide/reference/command-prompt-powershell) and navigate to the `component-framework` folder.
- On Windows, you can type `developer command prompt` in Start to open a developer command prompt.
3. **Install dependencies**
- Navigate to the component you want to try, for example `IncrementControl`, and run:
```bash
npm install
```
4. **Restore project**
- After the command has completed, run:
```bash
msbuild /t:restore
```
5. **Create solution folder**
- Create a new folder inside the sample component folder:
```bash
mkdir IncrementControlSolution
```
6. **Navigate to solution folder**
```bash
cd IncrementControlSolution
```
7. **Initialize solution**
- Inside the folder you created, run the `pac solution init` command:
```bash
pac solution init --publisher-name powerapps_samples --publisher-prefix sample
```
> **Note**: This command creates a new file named `IncrementControlSolution.cdsproj` in the folder.
8. **Add component reference**
- Run the `pac solution add-reference` command with the `path` set to the location of the `.pcfproj` file:
```bash
pac solution add-reference --path ../../IncrementControl
```
or
```bash
pac solution add-reference --path ../../IncrementControl/IncrementControl.pcfproj
```
> **Important**: Reference the folder that contains the `.pcfproj` file for the control you want to add.
9. **Build the solution**
- To generate a zip file from your solution project, run the following three commands:
```bash
msbuild /t:restore
msbuild /t:rebuild /restore /p:Configuration=Release
msbuild
```
- The generated solution zip file becomes in the `IncrementControlSolution\bin\debug` folder.
10. **Import the solution**
- Now that you have the zip file, you have two options:
- Manually [import the solution](https://learn.microsoft.com/powerapps/maker/data-platform/import-update-export-solutions) into your environment using [make.powerapps.com](https://make.powerapps.com/).
- Alternatively, to import the solution using Power Apps CLI commands, see the [Connecting to your environment](https://learn.microsoft.com/powerapps/developer/component-framework/import-custom-controls#connecting-to-your-environment) and [Deployment](https://learn.microsoft.com/powerapps/developer/component-framework/import-custom-controls#deploying-code-components) sections.
11. **Add components to apps**
- Finally, to add code components to your model-driven and canvas apps, see:
- [Add components to model-driven apps](https://learn.microsoft.com/powerapps/developer/component-framework/add-custom-controls-to-a-field-or-entity)
- [Add components to canvas apps](https://learn.microsoft.com/powerapps/developer/component-framework/component-framework-for-canvas-apps#add-components-to-a-canvas-app)
## Available Sample Components
The repository contains numerous sample components including:
- AngularJSFlipControl
- CanvasGridControl
- ChoicesPickerControl
- ChoicesPickerReactControl
- CodeInterpreterControl
- ControlStateAPI
- DataSetGrid
- DeviceApiControl
- FacepileReactControl
- FluentThemingAPIControl
- FormattingAPIControl
- IFrameControl
- ImageUploadControl
- IncrementControl
- LinearInputControl
- LocalizationAPIControl
- LookupSimpleControl
- MapControl
- ModelDrivenGridControl
- MultiSelectOptionSetControl
- NavigationAPIControl
- ObjectOutputControl
- PowerAppsGridCustomizerControl
- PropertySetTableControl
- ReactStandardControl
- TableControl
- TableGrid
- WebAPIControl
Each sample demonstrates different aspects of the Power Apps component framework and can serve as a learning resource or starting point for your own components.
© github · MIT · github/awesome-copilot