Skip to content

Latest commit

 

History

History
28 lines (24 loc) · 2.11 KB

File metadata and controls

28 lines (24 loc) · 2.11 KB

Shield Commander project guide for agents

Coding conventions

  • Target framework net10.0 with nullable and implicit usings enabled. Keep Core types dependency-free beyond the BCL.
  • Preserve layered boundaries: Core contains models, services, and platform logic (ADB); UI handles presentation with MVVM. The UI layer references Core, never the reverse.
  • MVVM with CommunityToolkit.Mvvm — use [ObservableProperty], [RelayCommand], and partial void OnXChanged for property change reactions.
  • Avalonia UI with compiled bindings enabled by default. Use x:DataType on views.
  • LiveCharts2 (LiveChartsCore.SkiaSharpView.Avalonia) for time-series charting.
  • Keep one top-level type per file. Nested types are fine within their parent.
  • Prefer the latest .NET language/runtime features where appropriate.
  • Use trailing commas in multi-line initializers, parameter lists, and collection expressions to simplify diffs.
  • Do not use private properties. Use private fields for stored state and private methods for computed values.
  • Store the actual dependency you need, not an intermediary object you repeatedly drill into.
  • Actively reduce duplication when introducing repetitive code. Consider whether shared abstractions can eliminate repetition structurally rather than just hiding it behind a helper method.
  • Avoid instantiating objects inline when passing them to methods; assign to a variable first.
  • Make all types sealed by default. Only omit sealed when a type is explicitly designed for inheritance.

Code comments

  • Never use emoji icons in code, documentation, commit messages, or any project artifacts.
  • Do not add comments that simply state "generated by AI" or similar attributions.

Commit messages

  • Do not include Co-Authored-By attribution lines in commit messages.
  • Use simple git commit -m "message" — do not use heredocs.

Device testing

  • At the start of each session, ask the user for the NVIDIA Shield IP address so you can run adb connect <IP> to test changes on the device. Last known IP: 10.0.0.99.
  • Disconnect with adb disconnect <IP> when done testing.