Add CLAUDE.md: AI assistant guide for MMO project#38
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds CLAUDE.md, a focused guide for AI assistants working on the MMO project, documenting architecture, build system, conventions, and key project structure so tools can navigate and reason about the codebase effectively.
Changes:
- Introduces a comprehensive project overview covering ECS, networking (Asio/TCP), rendering (SDL3 GPU + HLSL→SPIR-V), and physics (Jolt).
- Documents build and run workflows, repository layout, coding conventions, shader conventions, and dependency management via CMake + FetchContent.
- Adds a quick-reference section listing key files and their roles across client, server, engine, and data layers.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## Build System | ||
|
|
||
| - CMake 3.20+ with FetchContent for all dependencies | ||
| - Dependencies are statically linked and auto-fetched: SDL3, EnTT, Jolt, Asio, tinygltf, GLM, nlohmann/json, SDL3_ttf, SDL3_image, SDL_shadercross |
There was a problem hiding this comment.
The statement that all dependencies are "statically linked and auto-fetched" is slightly misleading for the SDL3/SDL3_ttf/SDL3_image stack: src/engine/CMakeLists.txt first tries find_package and only falls back to vendored static builds when system libraries are missing, so on systems with SDL3 installed they won't actually be auto-fetched or necessarily statically linked. It would be more accurate to clarify that these libraries are vendored and linked statically only when system versions are unavailable or incorrect.
| - Dependencies are statically linked and auto-fetched: SDL3, EnTT, Jolt, Asio, tinygltf, GLM, nlohmann/json, SDL3_ttf, SDL3_image, SDL_shadercross | |
| - Most dependencies are statically linked and auto-fetched via FetchContent: EnTT, Jolt, Asio, tinygltf, GLM, nlohmann/json, SDL_shadercross | |
| - SDL3, SDL3_ttf, and SDL3_image are used from system packages when available (via `find_package`) and only auto-fetched / linked statically when suitable system versions are unavailable or incorrect |
Summary
Added comprehensive
CLAUDE.mddocumentation to guide AI assistants (like Claude) working on the MMO project. This file serves as a quick reference for project structure, architecture, build instructions, and coding conventions.Key Changes
Notable Details
https://claude.ai/code/session_01XoDW63YfhCcAW74Gwe1sve