# Mosis Designer Agent Guidelines ## Build, Lint, and Test Commands ### Build Commands - `cmake --build build --config Debug` - Build the project in debug mode - `cmake --build build --config Release` - Build the project in release mode - `cmake -B build` - Configure the build system - `cmake --build build --parallel 4` - Build with 4 parallel jobs ### Lint Commands - No specific linting tools configured - Uses C++23 standard with clang-tidy if available ### Test Commands - No unit tests configured - Manual testing required for functionality verification ## Code Style Guidelines ### General - Follow C++23 standard with modern C++ features - Use snake_case for variable and function names - Use camelCase for class and struct names - Use uppercase for constants and enum values ### Naming Conventions - Functions: camelCase - Variables: snake_case - Classes/Structs: camelCase - Constants: UPPER_CASE - Enums: UPPER_CASE with prefix (e.g., `enum class FileType { XML, RML };`) ### Includes and Imports - Use angle brackets for system headers: `#include ` - Use quotes for local headers: `#include "header.h"` - Group includes: system headers, then local headers - Sort includes alphabetically within groups ### Formatting - 4 spaces for indentation (no tabs) - No trailing whitespace - Unix line endings (\n) - One statement per line - Function definitions: space after function name, no space before opening parenthesis - If statements: space after keyword, no space before opening parenthesis ### Error Handling - Use exceptions for error conditions - Check return values of system calls - Prefer early returns over nested conditionals - Use constexpr for compile-time constants ### Memory Management - Prefer stack allocation over heap - Use smart pointers (std::unique_ptr, std::shared_ptr) - Avoid raw pointers when possible - Use RAII principles ### Documentation - Document public APIs with comments - Use Doxygen-style comments for functions and classes - Keep comments concise and clear ## Special Rules ### Cursor Rules - No cursor rules configured - No .cursorrules file found ### Copilot Rules - No copilot instructions configured - No .github/copilot-instructions.md file found