Files
MosisDesigner/AGENTS.md
2026-01-15 17:57:24 +01:00

2.2 KiB

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 <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