Skip to content

Contributing Guide

Jeremy Fielder edited this page May 9, 2026 · 2 revisions

Contributing Guide

See the full CONTRIBUTING.md in the repository for detailed guidelines.

Quick Start

  1. Browse open issues — look for good first issue labels
  2. Fork the repo and create a feature branch from main
  3. Implement the fix or feature (one issue per PR)
  4. Open a pull request referencing the issue number

Key Rules

  • Use AppSettings, never QSettings — all persistence via AppSettings::instance()
  • Match the dark theme — copy colors from existing widgets
  • No feedback loops — use QSignalBlocker when updating UI from model signals
  • Multi-Flex safety — filter by client_handle
  • One PR per issue — keep changes focused
  • Test the RX chain — discovery → connect → FFT → audio must still work

AI-Assisted Contributions

See AI-Assisted Development for how to contribute using Claude AI.

Reporting Bugs

The fastest path is Help → Support… inside AetherSDR — it builds a support bundle, copies an AI prompt to your clipboard, and opens GitHub's bug-report form. See Support and Logging for the detailed walk-through (logging categories, when to enable each, privacy notes).

If you'd rather file by hand, use the bug report template and include:

  • What happened vs. what you expected
  • Radio model and firmware version
  • OS, distro, and Qt version
  • Log file (~/.config/AetherSDR/AetherSDR/aethersdr.log — see Support and Logging for macOS / Windows paths)

Feature Requests

Click the lightbulb 💡 in AetherSDR's title bar (or use Help → Submit your idea… 💡) — it opens the AI-Assisted Issue Reporter which pastes a structured prompt into Claude, ChatGPT, Gemini, Grok, or Perplexity and lets you describe your idea in plain English; the AI writes the issue body for you.

If you'd rather file by hand, use the feature request template. The prompt the lightbulb uses is also documented in CONTRIBUTING.md.

Clone this wiki locally