Files
ehwrj/CONTRIBUTING.md
yeorinhieut cba5243ce4
Some checks failed
build / build-test-publish (push) Has been cancelled
Add Ehwrj clean-room live map
2026-06-02 22:49:24 +09:00

1.6 KiB

Contributing

Thanks for improving Ehwrj.

Ground Rules

  • Keep the project limited to the benign War Thunder local map companion scope.
  • Do not add clipboard listeners, startup persistence, PE/ZIP mutation, credential collection, or external network reporting.
  • Keep local API traffic restricted to loopback addresses.
  • Put reusable parsing, projection, and tracking logic in Ehwrj.Core.
  • Keep Avalonia UI, overlay windows, and platform interop in Ehwrj.App.
  • Add or update tests when parser, coordinate, or tracking behavior changes.

Local Workflow

On Ubuntu, bootstrap dependencies and run the full verification/publish pipeline:

scripts/bootstrap-ubuntu.sh

For an already prepared environment:

dotnet restore Ehwrj.sln
dotnet format Ehwrj.sln --no-restore --verify-no-changes --verbosity minimal
dotnet build Ehwrj.sln -c Release
dotnet run --project tests/Ehwrj.Tests/Ehwrj.Tests.csproj -c Release --no-build
scripts/verify-safety.sh

To develop the UI without War Thunder:

scripts/run-local-api-stub.sh

To capture and replay a real local API session:

scripts/capture-local-api.sh captures/my-session
scripts/validate-capture.sh captures/my-session
scripts/run-local-api-stub.sh 8111 captures/my-session

To publish a Windows x64 build from Linux:

scripts/publish-win-x64.sh

Review Checklist

  • Build succeeds with zero warnings.
  • Tests pass.
  • New network code is justified and loopback-only unless explicitly documented.
  • UI controls remain dense, readable, and focused on operating the map/overlay.
  • Security boundaries in SECURITY.md are preserved.