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
2 changes: 1 addition & 1 deletion .github/agents/issue-resolver.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ You are a specialized issue resolution agent for the .NET MAUI repository. Your
- **iOS**: `xcrun simctl spawn booted log stream --predicate 'processImagePath contains "[AppName]"' --level=debug`
- **Android**: `adb logcat | grep -E "(FATAL|AndroidRuntime|Exception)"`

See `.github/instructions/common-testing-patterns.md` section "Error: App Crashes on Launch" for complete patterns.
See [common-testing-patterns.md](../instructions/common-testing-patterns.md) section "Error: App Crashes on Launch" for complete patterns.

## ⚡ GETTING STARTED (Progressive Disclosure)

Expand Down
28 changes: 14 additions & 14 deletions .github/agents/pr-reviewer.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ You are a specialized PR review agent for the .NET MAUI repository.
**BEFORE creating any plans or todos:**

1. ✅ Check current state: `git branch --show-current`
2. ✅ Read [quick-start.md](.github/instructions/pr-reviewer-agent/quick-start.md) (5 min) - **STOP after "Essential Reading" section**
2. ✅ Read [quick-start.md](../instructions/pr-reviewer-agent/quick-start.md) (5 min) - **STOP after "Essential Reading" section**
3. ✅ Fetch and analyze PR details

**ONLY AFTER completing these steps may you:**
Expand All @@ -31,7 +31,7 @@ You are a specialized PR review agent for the .NET MAUI repository.

**Phase 1: Mandatory Pre-Work (Do NOT skip)**
1. ✅ Check current branch: `git branch --show-current`
2. ✅ Read quick-start.md (5 min) - **STOP after "Essential Reading" section**
2. ✅ Read [quick-start.md](../instructions/pr-reviewer-agent/quick-start.md) (5 min) - **STOP after "Essential Reading" section**
3. ✅ Fetch PR and analyze code changes

**Phase 2: Create Initial Plan**
Expand All @@ -50,30 +50,30 @@ You are a specialized PR review agent for the .NET MAUI repository.

**Step 1: Quick Start (5 minutes - READ THIS FIRST)**

Read **[quick-start.md](.github/instructions/pr-reviewer-agent/quick-start.md)** which covers:
Read **[quick-start.md](../instructions/pr-reviewer-agent/quick-start.md)** which covers:
- ✅ Which app to use (Sandbox vs HostApp)
- ✅ Basic workflow with mandatory checkpoints
- ✅ Where to find detailed instructions
- ✅ Common mistakes to avoid

**Step 2: Context-Specific (Read as needed during work)**

- **CollectionView/CarouselView PR?** → Read [collectionview-handler-detection.md](.github/instructions/pr-reviewer-agent/collectionview-handler-detection.md)
- **SafeArea changes?** → Read [safearea-testing.instructions.md](.github/instructions/safearea-testing.instructions.md)
- **UI test files in PR?** → Read [uitests.instructions.md](.github/instructions/uitests.instructions.md)
- **Need test code examples?** → See [sandbox-setup.md](.github/instructions/pr-reviewer-agent/sandbox-setup.md)
- **Build/deploy commands?** → Use [quick-ref.md](.github/instructions/pr-reviewer-agent/quick-ref.md)
- **Hit an error?** → Check [error-handling.md](.github/instructions/pr-reviewer-agent/error-handling.md)
- **Can't complete testing?** → Use [checkpoint-resume.md](.github/instructions/pr-reviewer-agent/checkpoint-resume.md)
- **CollectionView/CarouselView PR?** → Read [collectionview-handler-detection.md](../instructions/pr-reviewer-agent/collectionview-handler-detection.md)
- **SafeArea changes?** → Read [safearea-testing.instructions.md](../instructions/safearea-testing.instructions.md)
- **UI test files in PR?** → Read [uitests.instructions.md](../instructions/uitests.instructions.md)
- **Need test code examples?** → See [sandbox-setup.md](../instructions/pr-reviewer-agent/sandbox-setup.md)
- **Build/deploy commands?** → Use [quick-ref.md](../instructions/pr-reviewer-agent/quick-ref.md)
- **Hit an error?** → Check [error-handling.md](../instructions/pr-reviewer-agent/error-handling.md)
- **Can't complete testing?** → Use [checkpoint-resume.md](../instructions/pr-reviewer-agent/checkpoint-resume.md)

**Step 3: Before Final Review (Always)**

- **Writing review?** → Read [output-format.md](.github/instructions/pr-reviewer-agent/output-format.md) to eliminate redundancy
- **Writing review?** → Read [output-format.md](../instructions/pr-reviewer-agent/output-format.md) to eliminate redundancy

**Step 4: Deep Understanding (Optional - for complex PRs)**

- **Why test deeply?** → [core-guidelines.md](.github/instructions/pr-reviewer-agent/core-guidelines.md)
- **Complete workflow details?** → [testing-guidelines.md](.github/instructions/pr-reviewer-agent/testing-guidelines.md)
- **Why test deeply?** → [core-guidelines.md](../instructions/pr-reviewer-agent/core-guidelines.md)
- **Complete workflow details?** → [testing-guidelines.md](../instructions/pr-reviewer-agent/testing-guidelines.md)

## Quick Reference

Expand All @@ -85,6 +85,6 @@ Read **[quick-start.md](.github/instructions/pr-reviewer-agent/quick-start.md)**

**Workflow**: Fetch PR → Modify Sandbox → Build/Deploy → Test → Compare WITH/WITHOUT PR → Test edge cases → Review

**Checkpoint/Resume**: If you cannot complete testing due to environment limitations (missing device, platform unavailable), use the checkpoint system in `checkpoint-resume.md`.
**Checkpoint/Resume**: If you cannot complete testing due to environment limitations (missing device, platform unavailable), use the checkpoint system in [checkpoint-resume.md](../instructions/pr-reviewer-agent/checkpoint-resume.md).

**See instruction files above for complete details.**
2 changes: 1 addition & 1 deletion .github/instructions/appium-control.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ For Shell-specific testing patterns (e.g., opening flyouts), see [UI Tests Instr
- **Read the crash logs** to find the exception (iOS: `xcrun simctl spawn booted log stream`, Android: `adb logcat`)
- **Investigate the root cause** from the exception stack trace
- **If you can't fix it**, ask for guidance with the full exception details
- See [Common Testing Patterns: App Crashes](../common-testing-patterns.md#error-app-crashes-on-launch) for detailed log capture commands
- See [Common Testing Patterns: App Crashes](common-testing-patterns.md#error-app-crashes-on-launch) for detailed log capture commands

**"Device not found" (iOS)**
- Verify DEVICE_UDID is set: `echo $DEVICE_UDID`
Expand Down
2 changes: 1 addition & 1 deletion .github/instructions/issue-resolver-agent/core-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ After completing root cause analysis and designing your fix approach, you MUST s
```

**Use same testing approach as pr-reviewer:**
- Modify Sandbox app with instrumentation (see [Instrumentation Guide](../../instrumentation.instructions.md))
- Modify Sandbox app with instrumentation (see [Instrumentation Guide](../instrumentation.instructions.md))
- Capture measurements before and after fix
- Document test results with actual data

Expand Down
4 changes: 2 additions & 2 deletions .github/instructions/issue-resolver-agent/pr-submission.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ Examples:

#### Complete UI Test Creation Guide

See **[UI Tests Instructions](../../uitests.instructions.md)** for comprehensive guidance on creating UI tests.
See **[UI Tests Instructions](../uitests.instructions.md)** for comprehensive guidance on creating UI tests.

#### Quick Checklist for Issue Tests

Expand Down Expand Up @@ -347,7 +347,7 @@ dotnet test src/Controls/tests/TestCases.Android.Tests/Controls.TestCases.Androi
# ... (see uitests.instructions.md for complete iOS workflow)
```

See [UI Tests Instructions](../../uitests.instructions.md) for:
See [UI Tests Instructions](../uitests.instructions.md) for:
- Complete test creation workflow
- Platform-specific considerations
- Troubleshooting test failures
Expand Down
2 changes: 1 addition & 1 deletion .github/instructions/issue-resolver-agent/quick-ref.md
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ git rebase origin/main
- [Testing edge cases](solution-development.md#edge-case-testing)

**Before PR**:
- [UI Testing Guide](../../docs/UITesting-Guide.md)
- [UI Testing Guide](../../../docs/UITesting-Guide.md)
- [PR submission checklist](pr-submission.md#pr-checklist)

---
Expand Down
24 changes: 12 additions & 12 deletions .github/instructions/issue-resolver-agent/reproduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,16 +127,16 @@ namespace Maui.Controls.Sample

## Build and Deploy for Reproduction

**See [Common Testing Patterns](../../common-testing-patterns.md) for detailed build and deploy commands with error checking.**
**See [Common Testing Patterns](../common-testing-patterns.md) for detailed build and deploy commands with error checking.**

### iOS Workflow

**Complete workflow** (follow these links for detailed commands):
1. [UDID Extraction](../../common-testing-patterns.md#ios-simulator-udid-iphone-xs-highest-ios-version) - Find iPhone Xs with highest iOS version
2. [Device Boot](../../common-testing-patterns.md#ios-simulator-boot-with-error-checking) - Boot simulator with verification
3. [Build Sandbox](../../common-testing-patterns.md#sandbox-app-build-ios) - Build the Sandbox app
4. [Install App](../../common-testing-patterns.md#ios-app-install-with-error-checking) - Install to simulator
5. [Launch with Logs](../../common-testing-patterns.md#ios-app-launch-with-console-capture) - Launch and capture console output
1. [UDID Extraction](../common-testing-patterns.md#ios-simulator-udid-iphone-xs-highest-ios-version) - Find iPhone Xs with highest iOS version
2. [Device Boot](../common-testing-patterns.md#ios-simulator-boot-with-error-checking) - Boot simulator with verification
3. [Build Sandbox](../common-testing-patterns.md#sandbox-app-build-ios) - Build the Sandbox app
4. [Install App](../common-testing-patterns.md#ios-app-install-with-error-checking) - Install to simulator
5. [Launch with Logs](../common-testing-patterns.md#ios-app-launch-with-console-capture) - Launch and capture console output

**Quick reference** (experienced users):
```bash
Expand All @@ -149,14 +149,14 @@ xcrun simctl launch --console-pty $UDID com.microsoft.maui.sandbox > /tmp/issue_
sleep 8 && cat /tmp/issue_reproduction.log
```

See [Common Testing Patterns](../../common-testing-patterns.md) for commands with complete error checking at each step.
See [Common Testing Patterns](../common-testing-patterns.md) for commands with complete error checking at each step.

### Android Workflow

**Complete workflow**:
1. [UDID Extraction](../../common-testing-patterns.md#android-device-udid) - Get device/emulator ID
2. [Build and Deploy](../../common-testing-patterns.md#android-build-and-deploy-combined) - Build, install, and launch in one command
3. [Monitor Logs](../../common-testing-patterns.md#android-logcat-monitoring) - Capture logcat output
1. [UDID Extraction](../common-testing-patterns.md#android-device-udid) - Get device/emulator ID
2. [Build and Deploy](../common-testing-patterns.md#android-build-and-deploy-combined) - Build, install, and launch in one command
3. [Monitor Logs](../common-testing-patterns.md#android-logcat-monitoring) - Capture logcat output

**Quick reference**:
```bash
Expand All @@ -165,12 +165,12 @@ dotnet build src/Controls/samples/Controls.Sample.Sandbox/Maui.Controls.Sample.S
adb logcat | grep -E "(Issue|Console|ERROR)"
```

See [Common Testing Patterns](../../common-testing-patterns.md) for commands with complete error checking.
See [Common Testing Patterns](../common-testing-patterns.md) for commands with complete error checking.

### Troubleshooting

If builds or deployments fail, see:
- [Common Testing Patterns: Error Handling](../../common-testing-patterns.md#common-error-handling-patterns)
- [Common Testing Patterns: Error Handling](../common-testing-patterns.md#common-error-handling-patterns)
- [Error Handling: Build Errors](error-handling.md#build-errors-during-reproduction)

## Verification Points
Expand Down
10 changes: 5 additions & 5 deletions .github/instructions/pr-reviewer-agent/sandbox-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ After determining the handler type (if needed), modify the Sandbox app to test t

### Detailed Patterns and Techniques

**For comprehensive instrumentation patterns**, see **[Instrumentation Guide](../../instrumentation.instructions.md)**:
- [Key Techniques](../../instrumentation.instructions.md#key-instrumentation-techniques) - Console output, timing, measurements
- [Common Patterns](../../instrumentation.instructions.md#common-instrumentation-patterns) - Property testing, collections, nested content
- [Platform-Specific Positioning](../../instrumentation.instructions.md#platform-specific-positioning) - Screen coordinates
- [SafeArea Testing](../../safearea-testing.instructions.md) - SafeArea-specific patterns
**For comprehensive instrumentation patterns**, see **[Instrumentation Guide](../instrumentation.instructions.md)**:
- [Key Techniques](../instrumentation.instructions.md#key-instrumentation-techniques) - Console output, timing, measurements
- [Common Patterns](../instrumentation.instructions.md#common-instrumentation-patterns) - Property testing, collections, nested content
- [Platform-Specific Positioning](../instrumentation.instructions.md#platform-specific-positioning) - Screen coordinates
- [SafeArea Testing](../safearea-testing.instructions.md) - SafeArea-specific patterns

### Standard Workflow

Expand Down
8 changes: 4 additions & 4 deletions .github/prompts/pr-reviewer.prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ Reviews .NET MAUI pull requests through code analysis AND hands-on device testin

## Related Resources

- [Core Guidelines](.github/instructions/pr-reviewer-agent/core-guidelines.md) - Full workflow details
- [Testing Guidelines](.github/instructions/pr-reviewer-agent/testing-guidelines.md) - Platform setup, build patterns
- [Appium Instructions](.github/instructions/appium-control.instructions.md) - UI automation patterns
- [Common Testing Patterns](.github/instructions/common-testing-patterns.md) - Device setup, error checking
- [Core Guidelines](../instructions/pr-reviewer-agent/core-guidelines.md) - Full workflow details
- [Testing Guidelines](../instructions/pr-reviewer-agent/testing-guidelines.md) - Platform setup, build patterns
- [Appium Instructions](../instructions/appium-control.instructions.md) - UI automation patterns
- [Common Testing Patterns](../instructions/common-testing-patterns.md) - Device setup, error checking