docs: add repo instructions
This commit is contained in:
67
AGENTS.md
Normal file
67
AGENTS.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# AGENTS.md
|
||||
|
||||
## Repository Role
|
||||
|
||||
This repository contains the C++ server source and build system for:
|
||||
|
||||
- `game`
|
||||
- `db`
|
||||
- `qc`
|
||||
- smoke/login test binaries
|
||||
|
||||
The current production VPS runs a Debian deployment built from `main`.
|
||||
|
||||
## Working Rules
|
||||
|
||||
- Prefer small, reviewable changes directly on `main`.
|
||||
- Keep Debian runtime stability ahead of broad refactors.
|
||||
- Do not commit `build/`, temporary captures, or host-local debug output.
|
||||
- Do not commit secrets or production-only credentials.
|
||||
|
||||
## Build And Test
|
||||
|
||||
Typical local build:
|
||||
|
||||
```bash
|
||||
cmake -S . -B build -G Ninja
|
||||
cmake --build build
|
||||
ctest --test-dir build --output-on-failure
|
||||
```
|
||||
|
||||
Important test targets:
|
||||
|
||||
- `metin_smoke_tests`
|
||||
- `metin_login_smoke`
|
||||
|
||||
## High-Risk Areas
|
||||
|
||||
Changes in these areas require extra care:
|
||||
|
||||
- auth/login flow
|
||||
- packet headers and packet structs
|
||||
- `SecureCipher`
|
||||
- `fdwatch` and socket output path
|
||||
- DB login/account flow
|
||||
|
||||
When changing login, auth, packet, or network behavior:
|
||||
|
||||
- build and run smoke tests
|
||||
- keep protocol compatibility with `m2dev-client-src`
|
||||
- keep client asset behavior in sync with `m2dev-client`
|
||||
|
||||
## Production Verification
|
||||
|
||||
The current VPS has a root-only end-to-end login check:
|
||||
|
||||
```bash
|
||||
/usr/local/sbin/metin-login-healthcheck
|
||||
```
|
||||
|
||||
Use it after risky auth/network/runtime changes.
|
||||
|
||||
## Cross-Repo Boundaries
|
||||
|
||||
- server code changes belong here
|
||||
- runtime/config/systemd/docs changes belong in `m2dev-server`
|
||||
- client protocol implementation changes belong in `m2dev-client-src`
|
||||
- client asset/login screen/server list changes belong in `m2dev-client`
|
||||
11
CLAUDE.md
Normal file
11
CLAUDE.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# CLAUDE.md
|
||||
|
||||
Follow [AGENTS.md](AGENTS.md) as the canonical repo guide.
|
||||
|
||||
Short version:
|
||||
|
||||
- this repo owns `game`, `db`, `qc`, and smoke/login test binaries
|
||||
- prefer small changes on `main`
|
||||
- auth/network/packet edits must be tested carefully
|
||||
- keep protocol changes aligned with `m2dev-client-src` and `m2dev-client`
|
||||
- use `/usr/local/sbin/metin-login-healthcheck` on the VPS after risky login/runtime changes
|
||||
Reference in New Issue
Block a user