added AGENTS.md
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Repository Guidelines
|
||||
|
||||
## Project Structure & Module Organization
|
||||
|
||||
`HarmonyWinUI/` contains the unpackaged WinUI 3 application targeting .NET 8. Application startup and the main shell live in `App.xaml*` and `MainWindow.xaml*`. Put navigable views and their code-behind in `HarmonyWinUI/Pages/`, domain and service classes in `HarmonyWinUI/Models/`, and packaged images in `HarmonyWinUI/Assets/`. Publish settings are under `HarmonyWinUI/Properties/PublishProfiles/`. The root `vendor/` directory holds external tools such as `yt-dlp` and FFmpeg; treat downloaded media and temporary files there as local artifacts. Generated `bin/`, `obj/`, and `.vs/` content must not be edited or committed.
|
||||
|
||||
## Build, Test, and Development Commands
|
||||
|
||||
Run commands from the repository root:
|
||||
|
||||
```powershell
|
||||
dotnet restore HarmonyWinUI/HarmonyWinUI.slnx
|
||||
dotnet build HarmonyWinUI/HarmonyWinUI.csproj -c Debug -p:Platform=x64
|
||||
dotnet run --project HarmonyWinUI/HarmonyWinUI.csproj -c Debug -r win-x64
|
||||
dotnet publish HarmonyWinUI/HarmonyWinUI.csproj -c Release -r win-x64
|
||||
```
|
||||
|
||||
Restore downloads NuGet dependencies; build compiles C# and XAML; run launches the unpackaged x64 app; publish creates the self-contained release output. ARM64 is also supported by replacing `x64`/`win-x64` with `ARM64`/`win-arm64`.
|
||||
|
||||
## Coding Style & Naming Conventions
|
||||
|
||||
Follow `HarmonyWinUI/.editorconfig`: tabs with width 4, LF endings, braces for blocks, nullable reference types, and `using` directives outside namespaces. Use PascalCase for types, properties, events, and methods; prefix interfaces with `I`. Keep UI concerns in `Pages` or XAML and network/process logic in `Models`. Never edit generated `*.g.cs` or `*.g.i.cs` files.
|
||||
|
||||
## Testing Guidelines
|
||||
|
||||
No automated test project currently exists. Every change must at least pass the x64 Debug build. Manually verify affected navigation, MusicBrainz search and Retry/Cancel behavior, playlist resizing, and vendor executable discovery as applicable. Add future tests in a separate `HarmonyWinUI.Tests` project and name cases `Method_Scenario_ExpectedResult`.
|
||||
|
||||
## Commit & Pull Request Guidelines
|
||||
|
||||
History favors short, single-purpose messages such as `added play list into right column` and `implemented search artists in MusicBrainz`. Keep commits focused and use a concise imperative summary. Pull requests should explain behavior changes, list build/manual-test results, link relevant issues, and include before/after screenshots for UI changes. Do not include `.user` files, downloaded media, FFmpeg archives, credentials, or machine-specific publish settings.
|
||||
Reference in New Issue
Block a user