Skip to content

Latest commit

 

History

History
60 lines (47 loc) · 2.78 KB

File metadata and controls

60 lines (47 loc) · 2.78 KB

Gemini Code Assist Instructions for AetherSDR

Canonical project guide: AGENTS.md. Read it end-to-end before writing or recommending code. This file holds only the must-knows that fit in Gemini's chat context efficiently.

Five must-knows before suggesting code

  1. Signed commits required on main. Branch protection enforces it. See docs/COMMIT-SIGNING.md; the doc has explicit AI Assistant Instructions at the top — point yourself or the contributor at that doc for setup.

  2. The AetherSDR Constitution governs every contribution. See CONSTITUTION.md. 14 principles, structured per Cisco's Foundry Constitution spec. Commit-message format: Short description (#NNNN). Principle <N>. when the change is principle-relevant.

  3. bin/validate-diff.sh is the infrastructure-enforced merge gate (Principle XII). Suggested patches that try to work around it will be rejected by the gate regardless of system-prompt intent.

  4. Use AppSettings, NOT QSettings. Persist as nested JSON under one root key per feature (Principle V). Example pattern: AppSettings["MyFeature"] = {"enabled": true, "mode": "auto"}. The store is SQLite (RFC #4603); credentials go to QtKeychain, never the settings store.

  5. All meter UI uses MeterSmoother — never roll your own envelope follower. (AGENTS.md → Key Implementation Patterns.)

  6. Assign yourself to an issue or PR before posting a review, comment, or merge action (gh issue edit NNNN --add-assignee @me or gh pr edit NNNN --add-assignee @me). The assignees list is the visible multi-agent claim signal — Principle X. AetherClaude (@aethersdr-agent) auto-triages everything, so adding yourself alongside it is expected; only avoid double-assigning when another non-AetherClaude agent is already engaged — coordinate via comment in that case.

C++ / Qt6 style essentials (full guide in AGENTS.md)

  • C++20, Qt6, no QSettings, no naked new/delete, no goto, braces on all control flow.
  • Platform guards prefer Q_OS_WIN / Q_OS_MAC / Q_OS_LINUX.
  • Naming: classes PascalCase, methods camelCase, member vars m_camelCase, constants kPascalCase.

Multi-agent context

AetherSDR is touched by ≥6 distinct AI tools (Claude Code, OpenAI Codex, Cursor, GitHub Copilot, Gemini, Aider, plus the AetherClaude orchestrator bot). PR base must be verified current before producing patches (Principle X: Claims Are Atomic And Mortal). Stale-snapshot overwrites that silently revert prior merged work are the canonical multi-agent failure mode this principle exists to prevent.

For everything else, read AGENTS.md.