Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 1.78 KB

File metadata and controls

24 lines (18 loc) · 1.78 KB

Sentinel Developer Portal

Welcome to the Sentinel Developer Portal. This documentation section covers environment setup, compilation workflows, testing guidelines, code formatting standards, and CI/CD pipelines.

Navigation

  • Environment Setup: Setting up your IDE (CLion, VS Code, Qt Creator) and build environment.
  • Building Sentinel: CMake presets, Ninja build commands, and target options.
  • Testing & QA Workflow: CTest execution, unit test writing, and test suite layout.
  • Code Style Guidelines: C++20 formatting, QML structure rules, and MVVM presentation boundaries.
  • CI/CD & Automation: GitHub Actions integration, automated testing presets, and release builds.

Architectural Principles for Developers

  1. Modular Monolith: Core logic, stores, providers, and presentation are separated into clean, modular C++ targets.
  2. C++ Core / QML Presentation Boundary: Keep business logic out of QML. Expose QML-safe view models inheriting from QObject.
  3. Interface Abstractions:
    • IChatProvider: Model provider abstraction (e.g. Ollama health/discovery).
    • IMemoryStore: Key-value memory persistence abstraction.
    • ISettingsStore: App configuration store abstraction.
    • IPlatformService: Operating system integration abstractions.
  4. Strict Separation of Storage: Never overload memory or settings stores with chat transcripts. Keep SQLite database paths distinct.