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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user