template, keep the change to exactly one package, and summarize validation performed.
## Validation and Testing Commands
Validate a manifest locally:
```powershell
winget validate --manifest
```
Test installation locally:
```powershell
winget settings
affected builds.
If React pipelines failed you will probably need to update metadata.json and test snapshot to reflect new assets addition.
- Run `yarn nx run react-icons:build` to regenerate
Copilot Code Review Instructions
## E2E Test Requirement
Every pull request that introduces a new feature **must** include at least one
end-to-end (e2e) test covering the happy-path behaviour
This file describes the general instructions for working with the FAST monorepo, including repository structure, code style, tooling, and contribution guidelines.
Copilot Instructions for WinUI Repository
For detailed instructions on building and testing, see the skills defined in `.github/skills/`:
- `.github/skills/build/SKILL.md` - Build commands and file-to-project mappings
default the following frameworks and libraries:
- **Python**: The primary language for development.
- **Pytest**: For testing.
- **Mustache**: For templating.
## Terminal Running Environment
You can run commands in the terminal to help
available targets)
- Run `make check` to run lint, schema validation, and all tests (this also stops any running dev-compose environment)
- Run `make dev-compose` to start the local development
constraints should use static_assert or SFINAE
- Don't throw exceptions from basic operations
### Testing
- Write thorough unit tests for every component using GTest
- Test for all edge cases
shell environment based on Rush configuration
- Use cases:
- Running project-specific build scripts
- Executing tests
- Running development servers
3. `rush-pnpm` command
- Purpose: Replace direct use of pnpm in Rush
/eng/packages/http-client-csharp` directory before running the generator.
- Always run `/eng/packages/http-client-csharp/eng/scripts/Generate.ps1` to regenerate the test projects to validate the result of generator code changes.
- For emitter changes, always run `npm run lint
packages/http-client-js` sub-project in this monorepo. Use them whenever Copilot generates code, tests, commit messages, or pull request descriptions for the emitter. If Copilot is used in other sub-projects
found here: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/repo_health_status.md
- Release blocking checks are MyPy, Pylint, Sphinx, and Tests - CI. These checks should all PASS. If not PASS, mention that the library is blocked
writes to a user-specified directory, separate from these project output dirs.
5. **Mandatory testing**: Any change that affects a component's output (overlays, build config, spec edits, version bumps
fail otherwise)
mise run lint # Lint with golangci-lint (only new issues)
mise run test # Unit tests
mise run test:ci # Full tests with race detection (same
group for the Fluid Framework monorepo. It contains CLI tools and libraries for building, testing, releasing, and managing Fluid Framework repositories.
For release documentation, use [conventional commits](../README.md#documenting-build
Skills
- When writing, reviewing, or refactoring C# / .NET / Blazor code, or when authoring unit tests with xUnit and bUnit, load and follow the [csharp-naming-conventions](skills/csharp-naming-conventions/SKILL.md) skill. Read
StaticAnalysis` -- takes 10-15 minutes. NEVER CANCEL. Set timeout to 30+ minutes.
- Run tests: `dotnet msbuild build.proj /t:Test` -- takes 15+ minutes. NEVER CANCEL. Set timeout to 45+ minutes.
Alternative