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
5 changes: 2 additions & 3 deletions .claude/tasks/build-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,9 @@ See `.claude/cookbook/common-patterns.md` for recipes including:

| Example | Location | Description |
|---------|----------|-------------|
| Hello World | `Examples/Example/` | Minimal login form |
| All Controls | `Examples/UICatalog/` | Comprehensive demo app |
| MVVM | `Examples/CommunityToolkitExample/` | CommunityToolkit MVVM |
| Reactive | `Examples/ReactiveExample/` | ReactiveUI integration |
| Scenario automation | `Examples/ScenarioRunner/` | Run UICatalog scenarios from the CLI |
| Additional samples | `gui-cs/Examples` | Standalone example applications |

## Event Handling Patterns

Expand Down
8 changes: 4 additions & 4 deletions .claude/workflows/build-test-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,13 @@ dotnet test --project Tests/UnitTests --no-build --verbosity normal && dotnet te

## Common Build Issues

### Issue: NativeAot/SelfContained Build Failures
### Issue: AOT validation failures

**Solution:** Restore these projects explicitly:
**Solution:** Build and publish the in-repo AOT smoke app:

```bash
dotnet restore ./Examples/NativeAot/NativeAot.csproj -f
dotnet restore ./Examples/SelfContained/SelfContained.csproj -f
dotnet publish ./Tests/NativeAotSmoke/NativeAotSmoke.csproj --configuration Release --output ./aot-publish
./aot-publish/NativeAotSmoke --smoke-test
```

## Build Order Best Practice
Expand Down
2 changes: 1 addition & 1 deletion .cursorrules
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,4 @@ Input flows: Driver → `IInputProcessor` → `KeyBindings`/`MouseBindings` →
| Common UI patterns | `.claude/cookbook/common-patterns.md` |
| App building guide | `.claude/tasks/build-app.md` |
| Deep-dive docs | `docfx/docs/` |
| Working examples | `Examples/Example/`, `Examples/UICatalog/` |
| Working examples | `Examples/UICatalog/`, `Examples/ScenarioRunner/`, `gui-cs/Examples` |
3 changes: 1 addition & 2 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ The repository uses multiple GitHub Actions workflows. What runs and when:
- Build Debug: `dotnet build --configuration Debug --no-restore -property:NoWarn=0618%3B0612`
- Build Release (library): `dotnet build Terminal.Gui/Terminal.Gui.csproj --configuration Release --no-incremental --force -property:NoWarn=0618%3B0612`
- Pack Release: `dotnet pack Terminal.Gui/Terminal.Gui.csproj --configuration Release --output ./local_packages -property:NoWarn=0618%3B0612`
- Restore NativeAot/SelfContained examples, then restore solution again
- Build Release for `Examples/NativeAot` and `Examples/SelfContained`
- Publish `Tests/NativeAotSmoke` with AOT and run `--smoke-test`
- Build Release solution

### 2) Build & Run Unit Tests (`.github/workflows/unit-tests.yml`)
Expand Down
23 changes: 5 additions & 18 deletions .github/workflows/build-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,36 +50,23 @@ jobs:
- name: Pack Release Terminal.Gui
run: dotnet pack Terminal.Gui/Terminal.Gui.csproj --configuration Release --output ./local_packages -property:NoWarn=0618%3B0612

- name: Restore AOT and Self-Contained projects
run: |
dotnet restore ./Examples/NativeAot/NativeAot.csproj -f
dotnet restore ./Examples/SelfContained/SelfContained.csproj -f

- name: Restore Solution Packages
run: dotnet restore

- name: Build Release AOT and Self-Contained
run: |
dotnet build ./Examples/NativeAot/NativeAot.csproj --configuration Release -property:NoWarn=0618%3B0612
dotnet build ./Examples/SelfContained/SelfContained.csproj --configuration Release -property:NoWarn=0618%3B0612

- name: AOT Publish (catches trimming and reflection errors)
run: dotnet publish ./Examples/NativeAot/NativeAot.csproj --configuration Release --output ./aot-publish -property:NoWarn=0618%3B0612
- name: AOT Publish Test App (catches trimming and reflection errors)
run: dotnet publish ./Tests/NativeAotSmoke/NativeAotSmoke.csproj --configuration Release --output ./aot-publish -property:NoWarn=0618%3B0612

- name: AOT Smoke Test (run the published AOT binary on Linux)
if: runner.os == 'Linux'
env:
DisableRealDriverIO: "1"
run: |
chmod +x ./aot-publish/NativeAot
./aot-publish/NativeAot --smoke-test
chmod +x ./aot-publish/NativeAotSmoke
./aot-publish/NativeAotSmoke --smoke-test

- name: AOT Smoke Test (run the published AOT binary on Windows)
if: runner.os == 'Windows'
env:
DisableRealDriverIO: "1"
shell: pwsh
run: ./aot-publish/NativeAot.exe --smoke-test
run: ./aot-publish/NativeAotSmoke.exe --smoke-test

- name: Build Release Solution
run: dotnet build --configuration Release --no-restore -property:NoWarn=0618%3B0612
2 changes: 1 addition & 1 deletion .windsurfrules
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,4 @@ Input flows: Driver → `IInputProcessor` → `KeyBindings`/`MouseBindings` →
| Common UI patterns | `.claude/cookbook/common-patterns.md` |
| App building guide | `.claude/tasks/build-app.md` |
| Deep-dive docs | `docfx/docs/` |
| Working examples | `Examples/Example/`, `Examples/UICatalog/` |
| Working examples | `Examples/UICatalog/`, `Examples/ScenarioRunner/`, `gui-cs/Examples` |
3 changes: 1 addition & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ dotnet run
### Key Resources
- **App Building Guide**: [.claude/tasks/build-app.md](.claude/tasks/build-app.md)
- **Common Patterns**: [.claude/cookbook/common-patterns.md](.claude/cookbook/common-patterns.md)
- **Examples**: `Examples/Example/` (minimal), `Examples/UICatalog/` (comprehensive)
- **Examples**: `Examples/UICatalog/`, `Examples/ScenarioRunner/`, and [gui-cs/Examples](https://github.com/gui-cs/Examples)

### API Reference (Compressed)
| Namespace | Contents |
Expand Down Expand Up @@ -547,6 +547,5 @@ Implementing `IValue<T>` requires `ValueChanging`, `ValueChanged`, and `ValueCha






14 changes: 3 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,14 +98,6 @@ Welcome! This guide provides everything you need to know to contribute effective

### Common Build Issues

#### Issue: NativeAot/SelfContained Build

- **Solution**: Restore these projects explicitly:
```bash
dotnet restore ./Examples/NativeAot/NativeAot.csproj -f
dotnet restore ./Examples/SelfContained/SelfContained.csproj -f
```

## Coding Conventions

**⚠️ CRITICAL - These rules MUST be followed in ALL new or modified code**
Expand Down Expand Up @@ -314,13 +306,13 @@ foreach (Rune rune in text.EnumerateRunes ())
- `UnitTestsParallelizable/` - Parallel tests (no static dependencies) - **Preferred**
- `IntegrationTests/` - Integration tests
- `StressTests/` - Long-running stress tests (scheduled daily)
- `NativeAotSmoke/` - AOT smoke-test app used in CI validation
- `coverlet.runsettings` - Code coverage configuration

**`/Examples/`**:
- `UICatalog/` - Comprehensive demo app for manual testing
- `Example/` - Basic example
- `NativeAot/`, `SelfContained/` - Deployment examples
- `ReactiveExample/`, `CommunityToolkitExample/` - Integration examples
- `ScenarioRunner/` - Scenario automation tool
- Additional examples live in [gui-cs/Examples](https://github.com/gui-cs/Examples)

**`/docfx/`** - Documentation source:
- `docs/` - Conceptual documentation (deep dives)
Expand Down
14 changes: 0 additions & 14 deletions Examples/CommunityToolkitExample/CommunityToolkitExample.csproj

This file was deleted.

8 changes: 0 additions & 8 deletions Examples/CommunityToolkitExample/LoginActions.cs

This file was deleted.

64 changes: 0 additions & 64 deletions Examples/CommunityToolkitExample/LoginView.Designer.cs

This file was deleted.

77 changes: 0 additions & 77 deletions Examples/CommunityToolkitExample/LoginView.cs

This file was deleted.

Loading
Loading