Add Ehwrj clean-room live map
Some checks failed
build / build-test-publish (push) Has been cancelled
Some checks failed
build / build-test-publish (push) Has been cancelled
This commit is contained in:
58
CONTRIBUTING.md
Normal file
58
CONTRIBUTING.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# 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:
|
||||
|
||||
```bash
|
||||
scripts/bootstrap-ubuntu.sh
|
||||
```
|
||||
|
||||
For an already prepared environment:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
scripts/run-local-api-stub.sh
|
||||
```
|
||||
|
||||
To capture and replay a real local API session:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
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.
|
||||
Reference in New Issue
Block a user