docs: update PLAN, CODEBASE, README with env vars, stubs, tests, atomic state

PLAN.md:
- Add SERVER_BINARY, SERVER_PARAMS, STEAMCMD_PATH to env vars table
- Add testdata/ to project structure
- Add testing section (backend tests, stubs, frontend tests, make targets)
- Update process start flow with env var overrides

CODEBASE.md:
- Add testdata/ stubs to directory map
- Replace zustand with vitest/testing-library/jsdom in frontend deps
- Update CI to include test steps
- Update Makefile targets description
- Add atomic state machine to ProcessManager description
- Add env overrides and atomic state to design decisions
- Update data flow with env var overrides

README.md:
- Add SERVER_BINARY, SERVER_PARAMS, STEAMCMD_PATH to env vars table
- Remove FRONTEND_DIR (embedded frontend)
- Update Development section with make targets
This commit is contained in:
MrFastwind
2026-07-23 22:29:22 +02:00
parent 930b6cbca6
commit 41c1390972
3 changed files with 93 additions and 16 deletions
+18 -7
View File
@@ -47,8 +47,10 @@ All paths are configurable via environment variables:
| `MODS_DIR` | `serverfiles/mods` | Local mod symlinks/copies |
| `CFG_DIR` | `serverfiles/cfg` | Server configuration `.cfg` files |
| `PROFILES_DIR` | `serverfiles/profiles` | Arma 3 profile and log directory |
| `FRONTEND_DIR` | `../frontend/dist` | Built frontend assets |
| `LISTEN` | `:8080` | HTTP listen address |
| `SERVER_BINARY` | `arma3server_x64` | Server binary filename (overrides platform default) |
| `SERVER_PARAMS` | `-server -world=empty ...` | Override server launch parameters |
| `STEAMCMD_PATH` | `steamcmd` | Path to steamcmd binary |
## Automation
@@ -150,14 +152,23 @@ frontend/
## Development
```bash
# Backend
cd backend && go run ./cmd/server
# Start both backend + frontend with hot reload (copies stubs to dev-deploy)
make dev
# Frontend (hot reload)
cd frontend && npm run dev
# Start backend only
make run
# Lint
cd frontend && npm run lint
# Run all tests
make test
# Run backend tests only
make test-backend
# Run frontend tests only
make test-frontend
# Build for production
make build
```
## License