Wiley Widget is a local-first Windows desktop application for municipal finance work. The product is built on .NET 10, WinForms, and Syncfusion, with a large shared shell around panel navigation, theming, reporting, and optional integrations such as QuickBooks.
- Status: release stabilization
- Platform: Windows only
- UI stack: WinForms + Syncfusion 33.1.44
- Architecture: layered services and repositories with MVVM-style panels
- Release posture: a green build is necessary, but release sign-off depends on targeted proof of startup, navigation, layout, theming, and critical workflows
This repository has gone through several architectural and workflow shifts. The goal of the current documentation set is to reflect the repository as it exists now, not as it looked in earlier phases.
Generated files such as AI-BRIEF.md and ai-fetchable-manifest.json can still be useful snapshots, but they are not the source of truth for release readiness.
- Protect existing behavior while fixing or polishing adjacent code.
- Prefer focused regression proof over broad but low-signal test counts.
- Treat shell changes, shared methods, panel infrastructure, theme handling, and layout as high-blast-radius areas.
- Do not count stale reports, filtered zero-test runs, or
dotnet test WileyWidget.slnby itself as release evidence.
The release-oriented workflow lives in .vscode/approved-workflow.md and the release checklist lives in docs/PRE_RELEASE_CHECKLIST.md.
src/
WileyWidget.WinForms/ Main desktop application and shell
WileyWidget.Business/ Domain logic
WileyWidget.Data/ Data access and EF Core
WileyWidget.Models/ Shared models
WileyWidget.Services/ Application and integration services
tests/
WileyWidget.WinForms.Tests/ Primary proof lane for shell and panel behavior
WileyWidget.UiTests/ Exploratory and focused UI investigation
docs/ Release, testing, UI, and operations guidance
scripts/ Local automation and diagnostics
.vscode/ Workspace instructions, tasks, and agent guidance
-
Restore packages.
dotnet restore WileyWidget.sln
-
Configure a Syncfusion license if you need to run the UI.
pwsh ./scripts/setup-license.ps1
-
Build the solution.
dotnet build WileyWidget.sln -m:2
For quicker local iteration, use the VS Code
build: fasttask. -
Run the WinForms application.
dotnet run --project src/WileyWidget.WinForms/WileyWidget.WinForms.csproj
-
Use focused proof for the area you changed. Start with
docs/TESTING_STRATEGY.mdinstead of defaulting to a whole-solution test command.
QUICK_START.md: current developer setup and day-to-day workflowCONTRIBUTING.md: contribution rules for stabilization workdocs/TESTING_STRATEGY.md: what counts as proof and which test lanes matterdocs/V1_0_RELEASE_SCOPE.md: proposed v1.0 release slice and stop-ship criteriadocs/V1_0_BLOCKER_MATRIX.md: working release blocker board for v1.0docs/PRE_RELEASE_CHECKLIST.md: release sign-off checklistDone_Checklist.md: panel certification checklist for in-scope panels.vscode/approved-workflow.md: workspace workflow for making safe, proven changes.vscode/copilot-instructions.md: workspace instruction set for agents and contributors using Copilot
- If a doc is wrong, fix it close to the code change that made it wrong.
- If a fix changes shared behavior, prove both the new behavior and the behavior that must remain intact.
- If a workflow is not release-critical, do not document it as if it were.