add AGENTS.md

This commit is contained in:
SepComet 2026-03-27 13:33:11 +08:00
parent e5851795c7
commit f21a4c51d2
2 changed files with 52 additions and 7 deletions

7
.gitignore vendored
View File

@ -77,16 +77,9 @@ crashlytics-build.properties
/Assets/StreamingAssets
/Assets/StreamingAssets.meta
/UI参考
/AGENTS.md
/bin
/docs/screenshot
*.xmind
/数据表/__pycache__/
~$*.xlsx
Assets/GameMain/Configs/ResourceBuilder.xml
/.dotnet
/.dotnet-home

52
AGENTS.md Normal file
View File

@ -0,0 +1,52 @@
# Repository Guidelines
## Scope
This file is for AI coding agents working in this repository. Optimize for minimal, correct changes that preserve the shared client/server networking architecture.
## Workspace Rules
- Use LF line endings in files you create or edit.
- Do not introduce `UnityEngine` dependencies into shared networking code under `Assets/Scripts/Network/`.
- Keep Unity-only adapters and conversion helpers under `Assets/Scripts/Extensions/` or other host-specific locations.
- Do not revert unrelated user changes in the worktree.
## Project Layout
- `Assets/Scripts/Network/`: shared transport, message routing, session lifecycle, and host adapters.
- `Assets/Scripts/Extensions/`: Unity-specific helpers such as protobuf-to-Unity conversions.
- `Assets/Tests/EditMode/Network/`: NUnit edit-mode regression tests.
- `openspec/`: specs, active changes, and archived changes.
## Commands
- `dotnet build Network.EditMode.Tests.csproj -v minimal`
Build runtime and edit-mode test assemblies.
- `dotnet test Network.EditMode.Tests.csproj --no-build -v minimal`
Run the CLI regression suite.
- `openspec status --change "<name>"`
Check change progress.
- `openspec instructions apply --change "<name>" --json`
Read current implementation tasks before editing code.
If needed, set `DOTNET_CLI_HOME=.dotnet-home` and `DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1`.
## Code Change Guidance
- Follow existing C# style: 4-space indentation, `PascalCase` for public APIs, `_camelCase` for private fields.
- Prefer focused types. Keep `SessionManager` single-session; use coordinators such as `MultiSessionManager` for per-peer collections.
- Preserve the client single-session path unless the task explicitly changes it.
- Treat `network-main-thread-dispatch` as client-only. Shared/server work should align with `shared-network-foundation`, `network-session-lifecycle`, and `multi-session-lifecycle`.
## Testing Expectations
- Add or update NUnit tests with every network-layer behavior change.
- Cover both client single-session and server multi-session behavior when touching lifecycle code.
- Prefer explicit regression-style test names such as `Method_Scenario_ExpectedBehavior`.
- Do not finish a networking change without running `dotnet test` unless blocked.
## OpenSpec Workflow
- For substantial work: propose, apply, verify, then archive.
- Sync delta specs to `openspec/specs/` before archive when requirements changed.
- Keep implementation aligned with active change artifacts; update task checkboxes as work completes.