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.
-
Signed commits required on
main. Branch protection enforces it. Seedocs/COMMIT-SIGNING.md; the doc has explicit AI Assistant Instructions at the top — point yourself or the contributor at that doc for setup. -
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. -
bin/validate-diff.shis 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. -
Use
AppSettings, NOTQSettings. 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. -
All meter UI uses
MeterSmoother— never roll your own envelope follower. (AGENTS.md → Key Implementation Patterns.) -
Assign yourself to an issue or PR before posting a review, comment, or merge action (
gh issue edit NNNN --add-assignee @meorgh 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++20, Qt6, no
QSettings, no nakednew/delete, nogoto, braces on all control flow. - Platform guards prefer
Q_OS_WIN/Q_OS_MAC/Q_OS_LINUX. - Naming: classes
PascalCase, methodscamelCase, member varsm_camelCase, constantskPascalCase.
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.