geometry-tower-defense/AGENTS.md

35 lines
2.3 KiB
Markdown

# Repository Guidelines
## Project Structure & Module Organization
- `Assets/` contains all Unity assets and code. Game-specific content lives under `Assets/GameMain/`.
- `Assets/GameMain/Scripts/` holds gameplay code organized by domain (`Procedure/`, `Entity/`, `UI/`, `Scene/`, `Sound/`, `Utility/`).
- `Assets/GameMain/Scenes/` stores Unity scenes (start from `Assets/Launcher.unity`).
- `Assets/GameMain/Configs/` and `Assets/GameMain/DataTables/` store runtime configuration and data tables.
- `StreamingAssets/` is for runtime-loaded files that must be preserved on build.
- `docs/` contains design notes (see `docs/GameDesign.md`).
- `Êý¾Ý±í/` is a top-level data table workspace; keep it in sync with `Assets/GameMain/DataTables/` when exporting.
## Build, Test, and Development Commands
- Open the project with Unity Hub and load `GeometryTD` as a Unity project.
- Play locally via the Unity Editor Play button (no custom CLI runner is defined in this repo).
- Build via Unity: `File > Build Settings...` then choose target and build.
- IDE support: open `GeometryTD.sln` or `Assembly-CSharp.csproj` for C# navigation and tooling.
## Coding Style & Naming Conventions
- C# uses 4-space indentation and Allman braces (see `Assets/GameMain/Scripts/Procedure/ProcedureLaunch.cs`).
- Types, methods, and public members use `PascalCase`; locals and parameters use `camelCase`.
- Namespaces follow `GeometryTD.*` by feature area (example: `GeometryTD.Procedure`).
- Keep Unity `.meta` files with their assets; do not delete or regenerate them manually.
## Testing Guidelines
- No project-specific tests are present yet. Unity¡¯s Test Runner is available if tests are added.
- If you add tests, place them under `Assets/` with `Editor` or `Runtime` assembly definition files and use `*Tests.cs` naming.
## Commit & Pull Request Guidelines
- This repository does not include Git history in the workspace, so no commit convention can be inferred.
- Use clear, scoped commit messages (example: `Add tower targeting component`), and include a brief PR description plus screenshots for visual changes.
## Configuration Tips
- Project settings live in `ProjectSettings/` and `Packages/`; review diffs carefully when they change.
- Avoid committing `Library/`, `Temp/`, or `Logs/` outputs; they are generated by Unity.