2.2 KiB
2.2 KiB
Mosis Designer Agent Guidelines
Build, Lint, and Test Commands
Build Commands
cmake --build build --config Debug- Build the project in debug modecmake --build build --config Release- Build the project in release modecmake -B build- Configure the build systemcmake --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 <iostream> - 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