Files
z-bar-qt/AGENTS.md
T
Zacharias-Brohn ab54178747 lock screen?
2025-12-05 01:25:50 +01:00

1.3 KiB

Agent Guidelines for z-bar-qt

Build & Test

  • Build: cmake -B build -G Ninja && ninja -C build (uses CMake + Ninja)
  • Install: sudo ninja -C build install (installs to /usr/lib/qt6/qml)
  • No test suite: Project has no automated tests currently
  • Update script: scripts/update.sh (runs yay -Sy)

Code Style - C++

  • Standard: C++20 with strict warnings enabled (see CMakeLists.txt line 14-20)
  • Headers: #pragma once for header guards
  • Types: Use nodiscard for getters, explicit constructors, const correctness
  • Qt Integration: QML_ELEMENT/QML_UNCREATABLE macros, Q_PROPERTY for QML exposure
  • Naming: camelCase for methods/variables, m_ prefix for member variables
  • Includes: Qt headers with lowercase (qobject.h, qqmlintegration.h)
  • Namespaces: Use namespace ZShell for plugin code

Code Style - QML

  • Pragma: Start with pragma ComponentBehavior: Bound for type safety
  • Imports: Qt modules first, then Quickshell, then local (qs.Modules, qs.Config, qs.Helpers)
  • Aliases: Use qs prefix for local module imports
  • Properties: Use required property for mandatory bindings
  • Types: Explicit type annotations in JavaScript (: void, : string)
  • Structure: Components in Components/, Modules in Modules/, Config singletons in Config/