Skip to content

Commit da6e739

Browse files
johnpapaCopilot
andauthored
feat: add AI-ready configuration assets (FritzAndFriends#544)
Add AGENTS.md, copilot-setup-steps.yml, issue templates, PR template, CHANGELOG.md, maintenance matrix, Contributing section, and AI-Ready badge. AI-Readiness score: 3/11 → 10/11 (27% → 91%) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent de3c175 commit da6e739

8 files changed

Lines changed: 572 additions & 1 deletion

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: Bug Report
2+
description: Report a bug with a BlazorWebFormsComponents component, shim, or the CLI tool
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thank you for reporting a bug! Please fill out the details below so we can reproduce and fix it.
10+
11+
- type: dropdown
12+
id: area
13+
attributes:
14+
label: Affected Area
15+
description: Which part of the project is affected?
16+
options:
17+
- Component (Blazor component behavior)
18+
- Migration Shim (Request, Response, Session, etc.)
19+
- CLI Tool (webforms-to-blazor)
20+
- Roslyn Analyzer
21+
- Documentation
22+
- Samples
23+
- Other
24+
validations:
25+
required: true
26+
27+
- type: input
28+
id: component
29+
attributes:
30+
label: Component / Feature Name
31+
description: Which specific component or feature is affected?
32+
placeholder: e.g., GridView, Button, RequestShim, ClientScriptShim
33+
validations:
34+
required: false
35+
36+
- type: textarea
37+
id: description
38+
attributes:
39+
label: Describe the Bug
40+
description: A clear description of what the bug is.
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: repro
46+
attributes:
47+
label: Steps to Reproduce
48+
description: Steps to reproduce the behavior.
49+
value: |
50+
1.
51+
2.
52+
3.
53+
validations:
54+
required: true
55+
56+
- type: textarea
57+
id: expected
58+
attributes:
59+
label: Expected Behavior
60+
description: What you expected to happen.
61+
validations:
62+
required: true
63+
64+
- type: textarea
65+
id: actual
66+
attributes:
67+
label: Actual Behavior
68+
description: What actually happened. Include error messages or stack traces if applicable.
69+
validations:
70+
required: true
71+
72+
- type: textarea
73+
id: markup
74+
attributes:
75+
label: Relevant Markup / Code
76+
description: Paste any relevant Razor markup, C# code, or original Web Forms markup.
77+
render: razor
78+
79+
- type: dropdown
80+
id: hosting
81+
attributes:
82+
label: Blazor Hosting Model
83+
options:
84+
- Blazor Server
85+
- Blazor WebAssembly
86+
- Blazor United (Interactive Server)
87+
- Not applicable
88+
validations:
89+
required: true
90+
91+
- type: dropdown
92+
id: dotnet-version
93+
attributes:
94+
label: .NET Version
95+
options:
96+
- .NET 10
97+
- .NET 9
98+
- .NET 8
99+
validations:
100+
required: true
101+
102+
- type: textarea
103+
id: additional
104+
attributes:
105+
label: Additional Context
106+
description: Any other context, screenshots, or information about the problem.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Feature Request
2+
description: Suggest a new feature, component, or enhancement
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thank you for suggesting a feature! Please describe what you'd like to see added or improved.
10+
11+
- type: dropdown
12+
id: area
13+
attributes:
14+
label: Feature Area
15+
description: Which part of the project would this feature affect?
16+
options:
17+
- New Component
18+
- Existing Component Enhancement
19+
- Migration Shim
20+
- CLI Tool
21+
- Roslyn Analyzer
22+
- Documentation
23+
- Samples / Demos
24+
- Other
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
id: description
30+
attributes:
31+
label: Feature Description
32+
description: A clear description of the feature you'd like to see.
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: motivation
38+
attributes:
39+
label: Motivation
40+
description: Why is this feature important? What problem does it solve? If this is a migration scenario, describe the original Web Forms code you need to migrate.
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: webforms-reference
46+
attributes:
47+
label: Original Web Forms Behavior
48+
description: If applicable, describe or paste the original Web Forms markup/code that this feature would help migrate.
49+
render: html
50+
51+
- type: textarea
52+
id: proposed
53+
attributes:
54+
label: Proposed Blazor API
55+
description: If you have ideas about how this should look in Blazor, describe the expected markup or API.
56+
render: razor
57+
58+
- type: textarea
59+
id: alternatives
60+
attributes:
61+
label: Alternatives Considered
62+
description: Have you considered any workarounds or alternative approaches?
63+
64+
- type: textarea
65+
id: additional
66+
attributes:
67+
label: Additional Context
68+
description: Any other context, screenshots, or references.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
## Description
2+
3+
<!-- What does this PR do? One or two sentences. -->
4+
5+
## Changes
6+
7+
<!-- List the key changes. -->
8+
9+
-
10+
11+
## How to Test
12+
13+
<!-- Steps a reviewer can follow to verify this works. -->
14+
15+
1. `dotnet build`
16+
2. `dotnet test src/BlazorWebFormsComponents.Test`
17+
3.
18+
19+
## Checklist
20+
21+
- [ ] Unit tests pass (`dotnet test src/BlazorWebFormsComponents.Test`)
22+
- [ ] Analyzer tests pass (`dotnet test src/BlazorWebFormsComponents.Analyzers.Test`)
23+
- [ ] New/changed components have bUnit tests in `src/BlazorWebFormsComponents.Test/`
24+
- [ ] Sample page added/updated in `samples/AfterBlazorServerSide/Pages/ControlSamples/`
25+
- [ ] Documentation added/updated in `docs/` and `mkdocs.yml` nav entry added
26+
- [ ] No hardcoded version numbers (version managed by `version.json`)
27+
28+
<!-- Remove checklist items that don't apply to this PR. -->

.github/copilot-instructions.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,23 @@ Use these for callouts:
534534
Critical information
535535
```
536536

537+
## Maintenance Matrix
538+
539+
When making changes, ensure all related files are updated:
540+
541+
| Change Made | Files to Update |
542+
|---|---|
543+
| **New component added** | `src/BlazorWebFormsComponents/ComponentName.razor` + `.razor.cs`, `src/BlazorWebFormsComponents.Test/ComponentName/*.razor` (tests), `samples/AfterBlazorServerSide/Pages/ControlSamples/ComponentName/*.razor` (sample), `docs/Category/ComponentName.md` (docs), `mkdocs.yml` (`nav:` entry), `README.md` (component link), `status.md` (status table) |
544+
| **Existing component modified** | Unit tests in `src/BlazorWebFormsComponents.Test/ComponentName/`, sample page if behavior changed, `docs/Category/ComponentName.md` if API changed |
545+
| **New migration shim added** | Shim class in `src/BlazorWebFormsComponents/`, register in `ServiceCollectionExtensions.cs` via `AddBlazorWebFormsComponents()`, update `docs/Migration/` guide, update `copilot-instructions.md` Migration Shims section |
546+
| **Base class changed** (`BaseWebFormsComponent`, `BaseStyledComponent`, `DataBoundComponent`) | Check all components inheriting from it — changes cascade to every component. Run full test suite. |
547+
| **CLI transform added** | Transform in `src/BlazorWebFormsComponents.Cli/`, test in `tests/BlazorWebFormsComponents.Cli.Tests/`, update `docs/cli/transforms.md`, update `docs/cli/index.md` transform count |
548+
| **Analyzer rule added** | Rule in `src/BlazorWebFormsComponents.Analyzers/`, test in `src/BlazorWebFormsComponents.Analyzers.Test/`, update `docs/Analyzers/` |
549+
| **Target framework changed** | `Directory.Build.props` (version properties), all `.csproj` files (`TargetFrameworks`), `global.json`, `.github/workflows/build.yml` (dotnet-version), `.github/copilot-setup-steps.yml` |
550+
| **Documentation added/changed** | `docs/` markdown file, `mkdocs.yml` (`nav:` entry if new), verify local build passes with `docker run --rm -v "$(pwd):/docs" mkdocs build --strict` |
551+
| **NuGet dependency changed** | `.csproj` file, `Directory.Build.props` if version is centralized there, test that all three target frameworks build |
552+
| **Project structure changed** | `AGENTS.md` (repository structure), `README.md`, `CONTRIBUTING.md`, `.github/copilot-instructions.md` (project structure section) |
553+
537554
## Contributing
538555

539556
- All PRs require unit tests

.github/copilot-setup-steps.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
steps:
2+
- name: Checkout
3+
uses: actions/checkout@v4
4+
with:
5+
fetch-depth: 0
6+
7+
- name: Setup .NET SDK
8+
uses: actions/setup-dotnet@v4
9+
with:
10+
dotnet-version: |
11+
8.0.x
12+
9.0.x
13+
10.0.x
14+
15+
- name: Restore dependencies
16+
run: dotnet restore
17+
18+
- name: Build solution
19+
run: dotnet build --configuration Release --no-restore

0 commit comments

Comments
 (0)