Welcome to the Sentinel Developer Portal. This documentation section covers environment setup, compilation workflows, testing guidelines, code formatting standards, and CI/CD pipelines.
- 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.
- Modular Monolith: Core logic, stores, providers, and presentation are separated into clean, modular C++ targets.
- C++ Core / QML Presentation Boundary: Keep business logic out of QML. Expose QML-safe view models inheriting from
QObject. - 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.
- Strict Separation of Storage: Never overload memory or settings stores with chat transcripts. Keep SQLite database paths distinct.