fluffos/CLAUDE.md
Yucong Sun d1951b8671
Add Windows dev environment, agent guide, and doc overhaul (#1208)
* Add cross-platform VSCode config, agent guide, and doc overhaul

CMake / build:
- Add CMakePresets.json: platform-aware configure presets for Linux, macOS,
  and Windows (MSYS2/MinGW64); generator and env are now preset-driven
- Fix cmake/util.cmake NORMALIZE: also replace Bison-generated header guard
  (mangled absolute build path → stable YY_YY_GRAMMAR_AUTOGEN_H_INCLUDED)
- Move driver-testsuite and driver-autotest run targets to root CMakeLists.txt;
  rename driver-fulltest → driver-autotest
- Update grammar.autogen.h with stable platform-independent header guard
- Fix cmake/FindMySQL.cmake: MSYS2/MinGW64 static linking, mariadb_config
  discovery, POSIX-to-native path conversion, --libs_sys for Windows deps
- Add cmake/util.cmake: NORMALIZE/DENORMALIZE for grammar.autogen paths
- Fix src/CMakeLists.txt: use find_program(bash) for .sh build script
- Update grammar.autogen.cc: replace absolute paths with $REPO_ROOT$ tokens

VSCode (.vscode/):
- settings.json: remove hardcoded cmake.generator/cmake.environment (now in
  presets); fix VERBOSE=1 → --verbose; keep MSYS2 terminal profile for Windows
- launch.json: replace hardcoded /mnt/e paths and pipeTransport WSL configs
  with platform-specific configs using windows/osx sections; two configs:
  "driver - testsuite" (interactive) and "driver - autotest" (-ftest)
- tasks.json: cmake build task with platform-correct parallel jobs (nproc /
  sysctl / NUMBER_OF_PROCESSORS); driver-testsuite and driver-autotest run tasks
- .gitignore: ignore auto-generated .vscode/c_cpp_properties.json

Windows development:
- Add open-editor-msys2.bat: auto-detects MSYS2, sets MSYS2_ROOT, launches
  VS Code or Antigravity IDE inside MSYS2 environment
- Add open-editor-wsl.bat: reads WSL distro from UNC path, launches editor
  with --remote wsl+<distro>

Agent guide (AGENTS.md + CLAUDE.md):
- Add AGENTS.md: architecture, package API, memory management, CMake
  constraints, CI matrix, Windows/WSL environment requirements
- CLAUDE.md: import AGENTS.md via @-directive

README overhaul (EN + CN):
- Add three-layer architecture diagram and expanded LPC/Driver/Mudlib sections
- Per-platform build guides with WSL setup flow
- Sync README_CN.md with Chinese translations of all new sections

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix tasks.json: use nproc, add clean rebuild, fix fulltest target

- Replace %NUMBER_OF_PROCESSORS% with $(nproc) — tasks run in MSYS2 bash
  via the automation profile so the Windows cmd variable never expanded
- Add 'cmake: clean rebuild driver' task using --clean-first flag
- Rename driver-autotest → driver-fulltest to match the CMake target name
- Drop redundant windows/osx command overrides (bash works on all platforms)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Rename VS Code tasks and document them in README

- Rename tasks to driver: build / clean rebuild / testsuite / autotest
- Add VS Code build section to README with task table and kit selection tip

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 22:17:37 -07:00

11 B

@AGENTS.md